/* Base / shared styles */

h1 {
  font-size: clamp(2.5rem, 5vw, 3.8rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
}

h2 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  line-height: 1.2;
}

h3 {
  font-size: 1.4rem;
  line-height: 1.3;
}

body {
  background: radial-gradient(circle at 12% 10%, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.18) 18%, transparent 36%),
    radial-gradient(circle at 82% 12%, rgba(214,198,234,0.26) 0%, rgba(214,198,234,0.10) 20%, transparent 42%),
    radial-gradient(circle at 50% 55%, rgba(255,244,250,0.30) 0%, rgba(255,244,250,0.10) 22%, transparent 44%),
    linear-gradient(135deg, #f2eef4 0%, #f6f3f8 28%, #faf9fc 52%, #f1edf4 100%) !important;
  font-size: 16.5px;
  letter-spacing: -0.01em;
  font-family: 'Outfit', sans-serif;
  background-attachment: scroll !important;
  color: var(--text-dark);
  line-height: 1.6;
  overflow-x: hidden;
  position: relative;
}





    :root {
      --purple-accent: #6a1b9a;
      --pink-accent: #d81b60;
      --text-dark: #2d3436;
    }

* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

html {
      scroll-behavior: smooth;
    }



h1, h2, h3, h4, h5, h6 {
      font-family: 'Playfair Display', serif;
      font-weight: 700;
    }

/* Glass Panel Styles */
    .glass-panel {
      background: linear-gradient(135deg, rgba(255,255,255,0.58) 0%, rgba(255,255,255,0.28) 48%, rgba(255,255,255,0.46) 100%);
      backdrop-filter: blur(34px) saturate(205%);
      -webkit-backdrop-filter: blur(34px) saturate(205%);
      border: 1px solid rgba(255,255,255,0.76);
      border-radius: 24px;
      box-shadow:
        0 14px 42px rgba(31,38,135,0.14),
        0 4px 14px rgba(106,27,154,0.08),
        inset 0 1px 0 rgba(255,255,255,0.92),
        inset 0 -1px 0 rgba(255,255,255,0.24);
    }

.glass-panel-strong {
      background: linear-gradient(135deg, rgba(255,255,255,0.66) 0%, rgba(255,255,255,0.36) 50%, rgba(255,255,255,0.58) 100%);
      backdrop-filter: blur(42px) saturate(220%);
      -webkit-backdrop-filter: blur(42px) saturate(220%);
      border: 1px solid rgba(255,255,255,0.84);
      border-radius: 24px;
      box-shadow:
        0 24px 64px rgba(31,38,135,0.16),
        0 8px 22px rgba(106,27,154,0.10),
        inset 0 1px 0 rgba(255,255,255,0.96),
        inset 0 -1px 0 rgba(255,255,255,0.28);
    }

.glass-card {
      background: linear-gradient(145deg, rgba(255,255,255,0.60) 0%, rgba(255,255,255,0.30) 100%);
      backdrop-filter: blur(28px) saturate(190%);
      -webkit-backdrop-filter: blur(28px) saturate(190%);
      border: 1px solid rgba(255,255,255,0.82);
      border-radius: 20px;
      box-shadow:
        0 16px 44px rgba(31,38,135,0.14),
        0 6px 18px rgba(106,27,154,0.08),
        inset 0 1px 0 rgba(255,255,255,0.94),
        inset 0 -1px 0 rgba(255,255,255,0.22);
      transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    }

.glass-card:hover {
      transform: translateY(-4px);
      box-shadow:
        0 24px 64px rgba(31,38,135,0.18),
        0 10px 28px rgba(106,27,154,0.10),
        inset 0 1px 0 rgba(255,255,255,0.98);
    }

/* Navigation */
    nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 9999;
      padding: 0.7rem 0;
      transition: all 0.4s ease;
      background: rgba(255,255,255,0.88);
      backdrop-filter: blur(28px) saturate(200%);
      -webkit-backdrop-filter: blur(28px) saturate(200%);
      border-bottom: 1px solid rgba(255,255,255,0.98);
      box-shadow:
        0 1px 0 rgba(255,255,255,1) inset,
        0 4px 24px rgba(106,27,154,0.07),
        0 2px 8px rgba(216,27,96,0.04),
        0 1px 2px rgba(0,0,0,0.03);
    }

nav.scrolled {
      background: rgba(255,255,255,0.95);
      backdrop-filter: blur(24px) saturate(180%);
      padding: 0.55rem 0;
      box-shadow:
        0 1px 0 rgba(255,255,255,1) inset,
        0 6px 28px rgba(106,27,154,0.09),
        0 2px 8px rgba(0,0,0,0.04);
    }

.nav-container {
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 2rem;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
    }

.nav-links {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      gap: 0.4rem;
    }

.logo {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      text-decoration: none;
      flex-shrink: 0;
    }

.logo-icon {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      overflow: hidden;
    }

.logo-text {
      font-family: 'Playfair Display', serif;
      font-weight: bold;
      font-size: 1.1rem;
      color: #6a1b9a;
      white-space: nowrap;
    }

.logo-text span {
      color: #d81b60;
    }

.nav-links a {
      padding: 0.5rem 1.05rem;
      text-decoration: none;
      color: #5a1a8a;
      font-size: 0.85rem;
      font-weight: 600;
      border-radius: 9999px;
      transition: all 0.18s ease;
      /* Soft white pill with barely-there pink/purple tint — clay style */
      background: linear-gradient(160deg,
        rgba(255,255,255,0.98) 0%,
        rgba(248,236,255,0.92) 60%,
        rgba(255,232,242,0.88) 100%
      );
      backdrop-filter: blur(12px) saturate(140%);
      -webkit-backdrop-filter: blur(12px) saturate(140%);
      border: 1px solid rgba(255,255,255,1);
      /* Light source top-left, soft coloured drop shadow bottom-right */
      box-shadow:
        1px 1px 0 rgba(255,255,255,1) inset,
        -1px -1px 2px rgba(200,180,220,0.3) inset,
        3px 4px 10px rgba(106,27,154,0.13),
        1px 2px 5px rgba(216,27,96,0.08),
        0 1px 2px rgba(0,0,0,0.04);
      white-space: nowrap;
      position: relative;
      isolation: isolate;
      text-shadow: none;
    }

.nav-links a:hover {
      color: #6a1b9a;
      background: linear-gradient(160deg,
        rgba(255,255,255,1) 0%,
        rgba(242,226,255,0.98) 60%,
        rgba(255,222,238,0.95) 100%
      );
      box-shadow:
        1px 1px 0 rgba(255,255,255,1) inset,
        -1px -1px 2px rgba(200,180,220,0.35) inset,
        4px 6px 16px rgba(106,27,154,0.18),
        2px 3px 8px rgba(216,27,96,0.1),
        0 2px 4px rgba(0,0,0,0.05);
      transform: translateY(-2px);
      border-color: rgba(255,255,255,1);
    }

/* Button Styles */
    .btn-primary { font-size: 1rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      padding: 1rem 2rem;
      background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
      color: white;
      font-weight: 600;
      border-radius: 9999px;
      text-decoration: none;
      box-shadow: 0 4px 15px rgba(106,27,154,0.35), 0 8px 25px rgba(216,27,96,0.2);
      transition: all 0.3s;
      border: none;
      cursor: pointer;
    }

.btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 25px rgba(106,27,154,0.45), 0 12px 35px rgba(216,27,96,0.25);
    }


    .btn-primary.compact {
      padding: 0.625rem 1.25rem;
      font-size: 0.9rem;
    }

.btn-outline { font-size: 0.95rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      padding: 1rem 2rem;
      background: transparent;
      color: #6a1b9a;
      font-weight: 600;
      border-radius: 9999px;
      text-decoration: none;
      border: 2px solid #6a1b9a;
      transition: all 0.3s;
    }

.btn-outline:hover {
      background: #6a1b9a;
      color: white;
    }

/* Section Styles */
    section {
      padding: 2.5rem 1rem;
    }

.section-container {
      max-width: 1152px;
      margin: 0 auto;
    }

.section-heading {
      font-size: 2.25rem;
      text-align: center;
      margin-bottom: 3rem;
      color: #6a1b9a;
    }

.section-subheading {
      font-family: 'Outfit', sans-serif;
      font-size: 1.15rem;
      font-weight: 500;
      color: #6b7280;
      text-align: center;
      letter-spacing: 0.01em;
    }

.text-gradient {
      background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }


    .text-flat {
      color: #6a1b9a;
      -webkit-text-fill-color: #6a1b9a;
    }

/* Hero Section */
    .hero {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      padding-top: 6rem;
      background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
      background-size: cover;
      background-position: center 80%;
      background-attachment: scroll;
      background-repeat: no-repeat;
      position: relative;
    }

.hero::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(180deg, rgba(255,255,255,0.82) 0%, rgba(252,228,236,0.78) 40%, rgba(248,244,252,0.82) 70%, rgba(255,255,255,0.9) 100%);
      z-index: 0;
    }

.hero > * {
      position: relative;
      z-index: 1;
    }

.hero-banner {
      width: 100%;
      max-width: 900px;
      margin: 0 auto 1.75rem;
      border-radius: 24px;
      overflow: hidden;
      background: linear-gradient(135deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.25) 50%, rgba(255,255,255,0.45) 100%);
      backdrop-filter: blur(20px) saturate(180%);
      -webkit-backdrop-filter: blur(20px) saturate(180%);
      border: 1.5px solid rgba(255,255,255,0.85);
      box-shadow:
        0 8px 32px rgba(180,140,60,0.18),
        0 2px 8px rgba(0,0,0,0.06),
        inset 0 1px 0 rgba(255,255,255,0.9),
        inset 0 -1px 0 rgba(255,255,255,0.4);
      padding: 8px;
    }

.hero-banner img {
      width: 100%;
      height: auto;
      display: block;
      border-radius: 18px;
    }

.hero-content {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding-bottom: 5rem;
    }

.hero h1.hero-tagline {
      font-family: 'Playfair Display', serif;
      font-size: 1.9rem;
      font-weight: 700;
      line-height: 1.15;
      margin-bottom: 1.5rem;
      color: #3d1a5e;
      letter-spacing: -0.5px;
    }

.hero h1.hero-tagline span {
      background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

.hero h1 {
      font-size: 3.5rem;
      margin-bottom: 1.5rem;
      line-height: 1.2;
    }

.hero p {
      font-size: 1.25rem;
      color: #4b5563;
      max-width: 640px;
      margin-bottom: 2rem;
    }

.hero-buttons {
      display: flex;
      gap: 1rem;
      flex-wrap: wrap;
      justify-content: center;
      margin-bottom: 2.5rem;
    }

.hero-contact-bar {
      display: inline-flex;
      flex-wrap: wrap;
      gap: 2rem;
      padding: 1.25rem 2.5rem;
      margin-top: 1.5rem;
    }

.hero-contact-item {
      display: flex;
      align-items: center;
      gap: 0.65rem;
      color: #374151;
      font-size: 1.15rem;
      font-weight: 500;
    }

.hero-contact-item svg {
      width: 26px;
      height: 26px;
      flex-shrink: 0;
    }

.hero-contact-item a {
      color: inherit;
      text-decoration: none;
      font-weight: 700;
      font-size: 1.2rem;
    }

.hero-contact-item a:hover {
      color: #6a1b9a;
    }

/* Welcome Section */
    .welcome-content {
      padding: 3rem;
      text-align: center;
    }

.welcome-content h2 {
      font-size: 2.5rem;
      margin-bottom: 1.5rem;
    }

.welcome-content p {
      font-size: 1.125rem;
      color: #4b5563;
      max-width: 768px;
      margin: 0 auto 1rem;
      line-height: 1.7;
    }

.features-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 1.5rem;
      margin-top: 2rem;
    }

.feature-card {
      padding: 1.5rem;
      text-align: center;
    }

.feature-icon {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      background: linear-gradient(135deg, #f3e5f5 0%, #fce4ec 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 1rem;
    }

.feature-icon svg {
      width: 28px;
      height: 28px;
      color: #6a1b9a;
    }

.feature-card h3 {
      font-size: 1.125rem;
      color: #6a1b9a;
      margin-bottom: 0.5rem;
    }

.feature-card p {
      font-size: 0.875rem;
      color: #6b7280;
    }

/* News Section */
    .news-box {
      padding: 3rem;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

.news-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      color: #6a1b9a;
      font-size: 0.875rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      margin-bottom: 1rem;
    }

.news-box h2 {
      font-size: 2.5rem;
      color: #6a1b9a;
      line-height: 1.3;
      margin-bottom: 1rem;
    }

.news-box p {
      color: #4b5563;
      max-width: 640px;
      margin: 0 auto 1.5rem;
    }

/* Services Section */
    .service-category {
      margin-bottom: 4rem;
    }

.category-header {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      margin-bottom: 2rem;
    }

.category-icon {
      width: 48px;
      height: 48px;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
    }

.category-icon.home { background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%); }

.category-icon.clinic { background: linear-gradient(135deg, #ec4899 0%, #db2777 100%); }

.category-icon.cleveleys { background: linear-gradient(135deg, #7c3aed 0%, #ec4899 100%); }

.category-icon.hambleton { background: linear-gradient(135deg, #db2777 0%, #7c3aed 100%); }

.category-icon.knottend { background: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%); }

.category-header h3 {
      font-size: 1.5rem;
      color: #6a1b9a;
    }

.services-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 1.5rem;
    }

.service-card {
      padding: 1.5rem;
      position: relative;
      display: flex;
      flex-direction: column;
    }

.service-card-media {
      border-radius: 12px;
      overflow: hidden;
      margin: -0.5rem -0.5rem 1rem;
      height: 160px;
      background: linear-gradient(135deg, rgba(243,229,245,0.9) 0%, rgba(252,228,236,0.9) 100%);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.75);
    }

.service-card-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

.service-card-media--placeholder::after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background: linear-gradient(135deg, rgba(255,255,255,0.28) 0%, rgba(255,255,255,0.08) 100%);
    }

.service-card.popular {
      border: 2px solid #f472b6;
    }

.badge {
      position: absolute;
      top: -12px;
      padding: 0.25rem 0.75rem;
      border-radius: 9999px;
      font-size: 0.75rem;
      font-weight: 600;
      color: white;
    }

.badge.popular {
      left: 1rem;
      background: linear-gradient(135deg, #ec4899 0%, #7c3aed 100%);
    }

.badge.note {
      right: 1rem;
      background: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);
    }

.service-duration {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      color: #9ca3af;
      font-size: 0.875rem;
      margin-bottom: 0.75rem;
    }

.service-header {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      margin-bottom: 0.75rem;
    }

.service-header h4 {
      font-size: 1.125rem;
      color: #6a1b9a;
      line-height: 1.3;
      flex: 1;
    }

.service-price {
      font-size: 1.5rem;
      font-weight: bold;
      background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      margin-left: 0.5rem;
    }

.service-card p {
      font-size: 0.875rem;
      color: #6b7280;
      margin-bottom: 1rem;
    }

.service-features {
      list-style: none;
      margin-bottom: 1.5rem;
      flex: 1;
    }

.service-features li {
      display: flex;
      align-items: flex-start;
      gap: 0.5rem;
      font-size: 0.875rem;
      color: #374151;
      margin-bottom: 0.25rem;
    }

.service-features li::before {
      content: "✓";
      color: #ec4899;
      font-weight: bold;
    }

.service-card .btn {
      width: 100%;
      padding: 0.85rem 1rem;
      border-radius: 12px;
      font-weight: 700;
      text-align: center;
      text-decoration: none;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      transition: all 0.2s ease;
      margin-top: auto;
    }

.service-card .btn-primary { font-size: 1rem;
      padding: 0.85rem 1rem;
      border-radius: 12px;
    }

.service-card .btn-outline { font-size: 0.95rem;
      background: linear-gradient(145deg, rgba(255,255,255,0.82) 0%, rgba(240,230,255,0.65) 100%);
      backdrop-filter: blur(16px) saturate(180%);
      -webkit-backdrop-filter: blur(16px) saturate(180%);
      border: 1px solid rgba(255,255,255,0.9);
      color: #6a1b9a;
      font-weight: 700;
      box-shadow:
        0 1px 0 rgba(255,255,255,1) inset,
        0 -1px 0 rgba(180,150,220,0.15) inset,
        0 4px 14px rgba(106,27,154,0.1),
        0 2px 4px rgba(0,0,0,0.06);
    }

.service-card .btn-outline:hover {
      background: linear-gradient(145deg, rgba(255,255,255,0.95) 0%, rgba(245,235,255,0.9) 100%);
      box-shadow:
        0 1px 0 rgba(255,255,255,1) inset,
        0 -1px 0 rgba(180,150,220,0.2) inset,
        0 8px 22px rgba(106,27,154,0.18),
        0 3px 8px rgba(0,0,0,0.08);
      transform: translateY(-2px);
      color: #6a1b9a;
      border-color: rgba(200,170,255,0.7);
    }

/* Home Visits Section */
    .home-visits-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
      gap: 2rem;
      align-items: stretch;
    }

.home-visits-image {
      padding: 1rem;
    }

.home-visits-image .image-wrapper {
      position: relative;
      border-radius: 16px;
      overflow: hidden;
      height: 100%;
      min-height: 500px;
    }

.home-visits-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
    }

.image-overlay-card {
      position: absolute;
      top: 1.5rem;
      left: 1.5rem;
      right: 1.5rem;
      padding: 1rem;
    }

.home-visits-content {
      display: flex;
      flex-direction: column;
      gap: 1.5rem;
    }

.benefits-list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0.75rem;
    }

.benefit-item {
      display: flex;
      align-items: flex-start;
      gap: 0.5rem;
      font-size: 0.875rem;
      color: #374151;
    }

.benefit-item::before {
      content: "✓";
      color: #ec4899;
      font-weight: bold;
      flex-shrink: 0;
    }

.service-list {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }

.service-list-item {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0.75rem 1rem;
      background: rgba(255,255,255,0.5);
      border-radius: 12px;
    }


    .areas-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      justify-content: center;
    }

.area-tag {
      padding: 0.78rem 1.55rem;
      background: linear-gradient(180deg, #2d79e7 0%, #1d62cf 100%);
      color: #ffffff;
      font-size: 0.98rem;
      font-weight: 700;
      border-radius: 9999px;
      border: 1px solid rgba(255,255,255,0.38);
      box-shadow:
        0 10px 26px rgba(29,98,207,0.22),
        0 3px 10px rgba(0,0,0,0.06),
        inset 0 1px 0 rgba(255,255,255,0.30),
        inset 0 -1px 0 rgba(0,0,0,0.08);
      text-shadow: 0 1px 0 rgba(0,0,0,0.08);
      transition: all 0.3s ease;
    }

.area-tag:hover {
      transform: translateY(-2px);
      box-shadow:
        0 14px 32px rgba(29,98,207,0.28),
        0 5px 14px rgba(0,0,0,0.08),
        inset 0 1px 0 rgba(255,255,255,0.34),
        inset 0 -1px 0 rgba(0,0,0,0.10);
    }

/* Other Services */
    .other-services-content {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 3rem;
      align-items: center;
    }


    .skin-tag-logo {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
    }

.skin-tag-logo img {
      max-width: 280px;
      width: 100%;
      border-radius: 16px;
      margin-bottom: 1rem;
    }

.cryo-badge {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      padding: 0.75rem 1.5rem;
      margin-top: 0.5rem;
    }

.features-grid-2 {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0.75rem;
      margin: 1.5rem 0;
    }

.feature-check {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.875rem;
      color: #374151;
    }

.feature-check::before {
      content: "✓";
      color: #ec4899;
      font-weight: bold;
    }

/* Testimonials */
    .testimonial-container {
      padding: 3rem;
      position: relative;
    }

.testimonial-nav {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: rgba(255,255,255,0.8);
      border: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 15px rgba(0,0,0,0.1);
      transition: all 0.3s;
      z-index: 10;
    }

.testimonial-nav:hover {
      background: white;
      transform: translateY(-50%) scale(1.1);
    }

.testimonial-nav.prev { left: 1rem; }

.testimonial-nav.next { right: 1rem; }

.testimonial-nav svg {
      width: 24px;
      height: 24px;
      color: #6a1b9a;
    }

.testimonial-content {
      text-align: center;
      padding: 0 4rem;
    }

.stars {
      display: flex;
      justify-content: center;
      gap: 0.25rem;
      margin-bottom: 1.5rem;
    }

.star {
      color: #fbbf24;
      font-size: 1.5rem;
    }

.testimonial-quote {
      font-family: 'Playfair Display', serif;
      font-size: 1.75rem;
      font-weight: 700;
      color: #6a1b9a;
      line-height: 1.4;
      margin-bottom: 1.5rem;
    }

.testimonial-author {
      font-weight: 600;
      color: #1f2937;
      font-size: 1.125rem;
    }

.testimonial-date {
      color: #9ca3af;
      font-size: 0.875rem;
    }

.testimonial-dots {
      display: flex;
      justify-content: center;
      gap: 0.5rem;
      margin-top: 2rem;
    }

.dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #d1d5db;
      border: none;
      cursor: pointer;
      transition: all 0.3s;
    }

.dot.active {
      width: 32px;
      border-radius: 5px;
      background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
    }

/* Gallery */
    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem;
    }

.gallery-item {
      aspect-ratio: 1;
      border-radius: 16px;
      overflow: hidden;
      position: relative;
    }

.gallery-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

.gallery-placeholder {
      width: 100%;
      height: 100%;
      background: linear-gradient(135deg, #e9d5ff 0%, #fbcfe8 100%);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      color: #a855f7;
    }

.gallery-placeholder svg {
      width: 40px;
      height: 40px;
      margin-bottom: 0.5rem;
      opacity: 0.5;
    }

.gallery-placeholder span {
      font-size: 0.875rem;
      font-weight: 500;
    }

.gallery-placeholder small {
      font-size: 0.75rem;
      opacity: 0.7;
    }

/* FAQ */
    .faq-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1rem;
    }

.faq-item {
      padding: 1.25rem;
      cursor: pointer;
    }

.faq-question {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
    }

.faq-icon {
      width: 32px;
      height: 32px;
      border-radius: 8px;
      background: linear-gradient(135deg, #f3e5f5 0%, #fce4ec 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

.faq-icon svg {
      width: 16px;
      height: 16px;
      color: #6a1b9a;
    }

.faq-question h4 {
      font-size: 1rem;
      color: #6a1b9a;
      flex: 1;
      padding-right: 1.5rem;
      position: relative;
    }

.faq-question h4::after {
      content: "▼";
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      color: #9ca3af;
      font-size: 0.75rem;
      transition: all 0.3s;
    }

.faq-item.open .faq-question h4::after {
      color: #ec4899;
      transform: translateY(-50%) rotate(180deg);
    }

.faq-answer {
      max-height: 0;
      overflow: hidden;
      opacity: 0;
      transition: all 0.5s ease;
      padding-left: 2.75rem;
    }

.faq-item.open .faq-answer {
      max-height: 300px;
      opacity: 1;
      margin-top: 0.75rem;
    }

.faq-answer p {
      font-size: 0.875rem;
      color: #6b7280;
      line-height: 1.6;
    }

/* About */
    .about-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 2rem;
      margin-bottom: 1.5rem;
    }

.about-content {
      padding: 2rem;
    }

.about-content h3 {
      font-size: 1.5rem;
      color: #6a1b9a;
      margin-bottom: 1rem;
    }

.about-content p {
      color: #4b5563;
      margin-bottom: 1rem;
      line-height: 1.7;
    }

.about-image {
      padding: 1rem;
    }

.about-image .image-wrapper {
      position: relative;
      border-radius: 16px;
      overflow: hidden;
      height: 100%;
      min-height: 350px;
    }

.about-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

.credentials-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1rem;
      margin-bottom: 3rem;
    }

.credential-card {
      padding: 1.25rem;
    }

.credential-icon {
      width: 48px;
      height: 48px;
      border-radius: 12px;
      background: linear-gradient(135deg, #f3e5f5 0%, #fce4ec 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 0.75rem;
    }

.credential-icon svg {
      width: 24px;
      height: 24px;
      color: #6a1b9a;
    }

.credential-card h4 {
      font-size: 1rem;
      color: #6a1b9a;
      margin-bottom: 0.25rem;
    }

.credential-card p {
      font-size: 0.875rem;
      color: #6b7280;
    }

.values-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem;
      padding: 2rem;
    }

.value-item {
      display: flex;
      align-items: flex-start;
      gap: 0.5rem;
      font-size: 0.875rem;
      color: #374151;
    }

.value-item::before {
      content: "✓";
      color: #ec4899;
      font-weight: bold;
      flex-shrink: 0;
    }

/* Contact */
    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 2fr;
      gap: 2rem;
      align-items: start;
    }

.contact-info-stack {
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }

/* Follow Us card improvements */
    .follow-us-card {
      text-align: center;
    }

.follow-us-card h4 {
      font-family: 'Playfair Display', serif;
      font-size: 1.25rem;
      color: #6a1b9a;
      margin-bottom: 1rem;
    }

.follow-us-card .social-links {
      justify-content: center;
      gap: 1rem;
    }

.follow-us-card .social-link {
      width: 56px;
      height: 56px;
    }

.follow-us-card .social-link svg {
      width: 28px;
      height: 28px;
    }

/* WhatsApp CTA button - softer style */
    .whatsapp-cta .btn-whatsapp {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      width: 100%;
      padding: 0.875rem 1.5rem;
      background: linear-gradient(135deg, rgba(34,197,94,0.85) 0%, rgba(22,163,74,0.9) 100%);
      color: white;
      font-weight: 600;
      font-size: 1rem;
      border-radius: 9999px;
      text-decoration: none;
      box-shadow: 0 4px 20px rgba(34,197,94,0.25), 0 2px 8px rgba(0,0,0,0.08);
      border: 1px solid rgba(255,255,255,0.3);
      transition: all 0.3s;
    }

.whatsapp-cta .btn-whatsapp:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 28px rgba(34,197,94,0.3), 0 4px 12px rgba(0,0,0,0.1);
    }

.contact-card {
      padding: 1.25rem;
    }

.contact-card-inner {
      display: flex;
      align-items: flex-start;
      gap: 1rem;
    }

.contact-icon {
      width: 48px;
      height: 48px;
      border-radius: 12px;
      background: linear-gradient(135deg, #f3e5f5 0%, #fce4ec 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

.contact-icon svg {
      width: 24px;
      height: 24px;
      color: #6a1b9a;
    }

.contact-card h4 {
      font-size: 1rem;
      color: #6a1b9a;
      margin-bottom: 0.25rem;
    }

.contact-card a, .contact-card p {
      color: #374151;
      text-decoration: none;
    }

.contact-card a:hover {
      color: #ec4899;
    }

.contact-card small {
      color: #9ca3af;
      font-size: 0.875rem;
    }

.clinic-phone-link {
      color: #d81b60;
      font-weight: 600;
      text-decoration: none;
      transition: color 0.25s ease, transform 0.2s ease, text-decoration-color 0.25s ease;
      text-underline-offset: 2px;
    }

.clinic-phone-link:hover {
      color: #c72c62;
      text-decoration: underline;
    }

.clinic-phone-link:active {
      transform: scale(0.98);
    }

.social-links {
      display: flex;
      gap: 0.75rem;
    }

.social-link {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: transform 0.3s;
    }

.social-link:hover {
      transform: scale(1.1);
    }

.social-link.facebook {
      background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    }

.social-link.whatsapp {
      background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    }

.social-link svg {
      width: 24px;
      height: 24px;
      color: white;
    }


    .social-link.large {
      width: 56px;
      height: 56px;
    }

.social-link.large svg {
      width: 28px;
      height: 28px;
    }

.map-container {
      padding: 0.75rem;
    }

/* Booking */
    .booking-form {
      max-width: 768px;
      margin: 0 auto;
      padding: 3rem;
    }

.form-group {
      margin-bottom: 1.5rem;
    }

.form-row {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.5rem;
    }

.form-group label {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.875rem;
      font-weight: 500;
      color: #374151;
      margin-bottom: 0.5rem;
    }

.form-group label svg {
      width: 16px;
      height: 16px;
      color: #ec4899;
    }

.form-group input,
    .form-group select,
    .form-group textarea {
      width: 100%;
      padding: 0.75rem 1rem;
      border: 1px solid #e5e7eb;
      border-radius: 12px;
      background: rgba(255,255,255,0.8);
      font-size: 1rem;
      transition: all 0.3s;
    }

.form-group input:focus,
    .form-group select:focus,
    .form-group textarea:focus {
      outline: none;
      border-color: #6a1b9a;
      box-shadow: 0 0 0 3px rgba(106,27,154,0.1);
    }

.form-group textarea {
      resize: vertical;
      min-height: 100px;
    }

.form-note {
      text-align: center;
      font-size: 0.875rem;
      color: #9ca3af;
      margin-top: 1rem;
    }

.form-alt {
      text-align: center;
      margin-top: 2rem;
      color: #6b7280;
    }

.form-alt a {
      color: #6a1b9a;
      font-weight: 600;
      text-decoration: none;
    }

.form-alt a:hover {
      color: #d81b60;
    }

/* Mobile service card booking buttons */
    .mobile-service-book-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      margin-top: 1rem;
      text-decoration: none;
      min-height: 48px;
      border-radius: 14px;
      font-weight: 700;
    }

.mobile-opening-soon {
      display: none;
      color: #d81b60;
      font-weight: 700;
      white-space: nowrap;
    }

/* Footer */
    footer {
      background: linear-gradient(160deg, rgba(255,255,255,0.76) 0%, rgba(248,240,255,0.78) 42%, rgba(252,228,236,0.74) 100%);
      backdrop-filter: blur(42px) saturate(220%);
      -webkit-backdrop-filter: blur(42px) saturate(220%);
      border-top: 1px solid rgba(255,255,255,0.96);
      box-shadow:
        0 -10px 40px rgba(106,27,154,0.10),
        0 -2px 14px rgba(216,27,96,0.06),
        0 -1px 0 rgba(255,255,255,0.95),
        inset 0 1px 0 rgba(255,255,255,0.98),
        inset 0 -1px 0 rgba(255,255,255,0.24);
      padding: 4rem 2rem 0;
      position: relative;
    }

.footer-inner {
      max-width: 1152px;
      margin: 0 auto;
    }

.footer-top {
      display: grid;
      grid-template-columns: 1.4fr 1fr 1fr 1fr;
      gap: 3rem;
      padding-bottom: 3rem;
    }

.footer-brand p {
      font-size: 1rem;
      color: #6b7280;
      margin: 1rem 0 1.5rem;
      line-height: 1.7;
    }

.footer-brand .logo {
      margin-bottom: 0.5rem;
    }

/* Social icons row */
    .footer-socials {
      display: flex;
      gap: 0.75rem;
      margin-top: 0.5rem;
    }

.footer-social-btn {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(255,255,255,0.7);
      border: 1px solid rgba(255,255,255,0.9);
      box-shadow: 0 2px 8px rgba(0,0,0,0.08), 0 1px 0 rgba(255,255,255,0.95);
      transition: all 0.2s ease;
      text-decoration: none;
      color: #6a1b9a;
    }

.footer-social-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 18px rgba(106,27,154,0.18);
      background: rgba(255,255,255,0.95);
    }

.footer-social-btn svg {
      width: 20px;
      height: 20px;
    }

.footer-column h4 {
      font-family: 'Playfair Display', serif;
      font-size: 1.1rem;
      color: #6a1b9a;
      margin-bottom: 1.25rem;
      padding-bottom: 0.5rem;
      border-bottom: 2px solid rgba(216,27,96,0.2);
    }

.footer-column ul {
      list-style: none;
    }

.footer-column li {
      margin-bottom: 0.6rem;
    }

.footer-column a {
      font-size: 0.95rem;
      color: #6b7280;
      text-decoration: none;
      transition: color 0.2s;
      display: flex;
      align-items: center;
      gap: 0.4rem;
    }

.footer-column a::before {
      content: '›';
      color: #d81b60;
      font-size: 1rem;
      line-height: 1;
    }

.footer-column a:hover {
      color: #6a1b9a;
      padding-left: 3px;
    }

.footer-contact {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      margin-bottom: 1rem;
      font-size: 0.95rem;
      color: #4b5563;
      line-height: 1.5;
    }

.footer-contact-icon {
      width: 36px;
      height: 36px;
      border-radius: 10px;
      background: linear-gradient(135deg, rgba(106,27,154,0.1), rgba(216,27,96,0.1));
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      border: 1px solid rgba(255,255,255,0.8);
    }

.footer-contact-icon svg {
      width: 16px;
      height: 16px;
      color: #d81b60;
    }

.footer-contact a {
      color: #4b5563;
      text-decoration: none;
      font-weight: 500;
    }

.footer-contact a:hover {
      color: #6a1b9a;
    }

.partner-logo {
      padding: 1rem;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(255,255,255,0.7);
      border-radius: 16px;
      border: 1px solid rgba(255,255,255,0.9);
      box-shadow: 0 4px 16px rgba(0,0,0,0.06);
      margin-bottom: 0.75rem;
    }

.partner-logo img {
      height: 60px;
      width: auto;
    }

/* Divider */
    .footer-divider {
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(106,27,154,0.15) 20%, rgba(216,27,96,0.15) 50%, rgba(106,27,154,0.15) 80%, transparent);
      margin: 0;
    }

.footer-bottom {
      max-width: 1152px;
      margin: 0 auto;
      padding: 1.5rem 0 2rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 0.75rem;
    }

.footer-bottom p {
      font-size: 0.9rem;
      color: #9ca3af;
    }

.footer-bottom .heart {
      color: #ec4899;
    }

.footer-bottom-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      background: rgba(255,255,255,0.6);
      border: 1px solid rgba(255,255,255,0.8);
      border-radius: 9999px;
      padding: 0.3rem 0.9rem;
      font-size: 0.8rem;
      color: #6a1b9a;
      font-weight: 600;
    }

/* Contact photo grid */
    .contact-photo-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0.75rem;
      margin-top: 1.5rem;
    }

.contact-photo-item {
      aspect-ratio: 1;
      border-radius: 16px;
      overflow: hidden;
    }

.contact-photo-placeholder {
      width: 100%;
      height: 100%;
      min-height: 140px;
      background: linear-gradient(135deg, #f3e5f5 0%, #fce4ec 100%);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
    }

.contact-photo-placeholder svg {
      width: 36px;
      height: 36px;
      color: #a855f7;
      opacity: 0.5;
    }

.contact-photo-placeholder span {
      font-size: 0.75rem;
      font-weight: 500;
      color: #a855f7;
      opacity: 0.7;
    }

/* Glow keyframes removed in step 3 performance trim */

    /* Apply card glow */
    .glass-card, .glass-panel, .glass-panel-strong {
      background: linear-gradient(135deg, rgba(255,255,255,0.66) 0%, rgba(255,255,255,0.36) 50%, rgba(255,255,255,0.58) 100%);
      backdrop-filter: blur(42px) saturate(220%);
      -webkit-backdrop-filter: blur(42px) saturate(220%);
      border: 1px solid rgba(255,255,255,0.84);
      border-radius: 24px;
      box-shadow:
        0 24px 64px rgba(31,38,135,0.16),
        0 8px 22px rgba(106,27,154,0.10),
        inset 0 1px 0 rgba(255,255,255,0.96),
        inset 0 -1px 0 rgba(255,255,255,0.28);
    }

    /* Apply button glow */
    .btn-primary, .btn-outline { font-size: 0.95rem;
      position: relative;
      isolation: isolate;
    }

    /* Nav pills — same tight glow */
    .nav-links a {
      position: relative;
      isolation: isolate;
    }

    /* Service cards with background images */
    .service-card-bg {
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      position: relative;
      overflow: hidden;
    }

    /* Frosted glass overlay matching hero style */
    .service-card-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(160deg,
        rgba(255,255,255,0.55) 0%,
        rgba(255,255,255,0.62) 40%,
        rgba(252,228,236,0.75) 70%,
        rgba(255,255,255,0.88) 100%
      );
      border-radius: inherit;
      z-index: 0;
      pointer-events: none;
    }

    /* Keep all card content above the overlay */
    .service-card-bg > *:not(.service-card-overlay) {
      position: relative;
      z-index: 1;
    }

.service-card-bg .service-header h4,
.service-card-bg p,
.service-card-bg .service-features li,
.service-card-bg .service-duration{
  color:#2f2f2f;
}
.service-card-bg .service-price{
  color:#6a1b9a;
  font-weight:700;
}


    /* Animations */
    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(20px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    
    .animate-fade-in {
      animation: fadeInUp 0.6s ease forwards;
    }
    
    /* Scrollbar */
    ::-webkit-scrollbar {
      width: 8px;
    }
    
    ::-webkit-scrollbar-track {
      background: #f3e5f5;
    }
    
    ::-webkit-scrollbar-thumb {
      background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
      border-radius: 4px;
    }
      /* Home visits mobile info bar */
      .home-visits-mobile-info {
        display: none;
      }

      @media (max-width: 768px) {
        .image-overlay-card {
          display: none;
        }
        .home-visits-mobile-info {
          display: flex;
          justify-content: space-between;
          align-items: center;
          padding: 1rem 1.25rem 0.5rem;
        }
      }


    /* Touch feedback & interactions */
    * {
      -webkit-tap-highlight-color: rgba(106, 27, 154, 0.15);
    }
    button, a {
      touch-action: manipulation;
    }
    html {
      scroll-behavior: smooth;
      -webkit-overflow-scrolling: touch;
    }

    /* Prevent iOS zoom on input focus */
    input, textarea, select {
      font-size: 16px !important;
    }
    .form-group input,
    .form-group select,
    .form-group textarea {
      min-height: 44px;
      padding: 0.75rem 1rem;
    }
    .form-group input:focus,
    .form-group select:focus,
    .form-group textarea:focus {
      outline: 2px solid #6a1b9a;
      outline-offset: 2px;
    }

    /* Safe area support for notched iPhones */
    body {
      padding-top: env(safe-area-inset-top);
      padding-bottom: env(safe-area-inset-bottom);
    }

    /* Hamburger menu button */
    .mobile-menu-btn {
      display: none;
      background: none;
      border: none;
      padding: 0.5rem;
      cursor: pointer;
      z-index: 10000;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 5px;
      width: 44px;
      height: 44px;
    }
    .mobile-menu-btn span {
      display: block;
      width: 24px;
      height: 2px;
      background: #6a1b9a;
      border-radius: 2px;
      transition: all 0.3s ease;
      transform-origin: center;
    }
    .mobile-menu-btn.active span:nth-child(1) {
      transform: translateY(7px) rotate(45deg);
    }
    .mobile-menu-btn.active span:nth-child(2) {
      opacity: 0;
    }
    .mobile-menu-btn.active span:nth-child(3) {
      transform: translateY(-7px) rotate(-45deg);
    }

    /* Mobile overlay */
    .mobile-overlay {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,0.4);
      z-index: 9997;
    }
    .mobile-overlay.active {
      display: block;
    }

    /* Reduce backdrop-filter on mobile */
    @media (max-width: 768px) {
      .glass-panel {
      background: linear-gradient(135deg, rgba(255,255,255,0.58) 0%, rgba(255,255,255,0.28) 48%, rgba(255,255,255,0.46) 100%);
      backdrop-filter: blur(34px) saturate(205%);
      -webkit-backdrop-filter: blur(34px) saturate(205%);
      border: 1px solid rgba(255,255,255,0.76);
      border-radius: 24px;
      box-shadow:
        0 14px 42px rgba(31,38,135,0.14),
        0 4px 14px rgba(106,27,154,0.08),
        inset 0 1px 0 rgba(255,255,255,0.92),
        inset 0 -1px 0 rgba(255,255,255,0.24);
    }
      .glass-panel-strong {
      background: linear-gradient(135deg, rgba(255,255,255,0.66) 0%, rgba(255,255,255,0.36) 50%, rgba(255,255,255,0.58) 100%);
      backdrop-filter: blur(42px) saturate(220%);
      -webkit-backdrop-filter: blur(42px) saturate(220%);
      border: 1px solid rgba(255,255,255,0.84);
      border-radius: 24px;
      box-shadow:
        0 24px 64px rgba(31,38,135,0.16),
        0 8px 22px rgba(106,27,154,0.10),
        inset 0 1px 0 rgba(255,255,255,0.96),
        inset 0 -1px 0 rgba(255,255,255,0.28);
    }
      .glass-card {
      background: linear-gradient(145deg, rgba(255,255,255,0.60) 0%, rgba(255,255,255,0.30) 100%);
      backdrop-filter: blur(28px) saturate(190%);
      -webkit-backdrop-filter: blur(28px) saturate(190%);
      border: 1px solid rgba(255,255,255,0.82);
      border-radius: 20px;
      box-shadow:
        0 16px 44px rgba(31,38,135,0.14),
        0 6px 18px rgba(106,27,154,0.08),
        inset 0 1px 0 rgba(255,255,255,0.94),
        inset 0 -1px 0 rgba(255,255,255,0.22);
      transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    }
      nav {
        backdrop-filter: blur(14px) saturate(160%);
        -webkit-backdrop-filter: blur(14px) saturate(160%);
      }

      /* Nav — hamburger layout */
      .mobile-menu-btn {
        display: flex;
      }
      .nav-container {
        justify-content: space-between;
        padding: 0 1rem;
      }
      .logo {
        display: flex !important;
      }
      .nav-links {
        position: fixed;
        top: 0;
        right: -100%;
        width: 80%;
        max-width: 300px;
        height: 100vh;
        background: rgba(255,255,255,0.97);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        flex-direction: column;
        padding: 5rem 1.5rem 2rem;
        transition: right 0.3s ease;
        z-index: 9998;
        gap: 0.5rem;
        box-shadow: -4px 0 24px rgba(106,27,154,0.15);
        overflow-y: auto;
      }
      .nav-links.active {
        right: 0;
      }
      .nav-links a {
        padding: 0.875rem 1rem;
        font-size: 1rem;
        border-radius: 12px;
        min-height: 44px;
        display: flex;
        align-items: center;
      }

      /* Hero */
      .hero {
        min-height: auto;
        padding-top: 5rem;
        padding-bottom: 2rem;
      }
      .hero h1.hero-tagline {
        font-size: 1.4rem;
      }
      .hero p {
        font-size: 1rem;
      }
      .hero-banner {
        margin: 0 0.75rem 1.5rem;
        padding: 8px;
      }
      .hero-content {
        padding: 0 1rem 2rem;
      }
      .hero-buttons {
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
      }
      .hero-buttons a {
        width: 100%;
        max-width: 280px;
      }
      .hero-contact-bar {
        flex-direction: column;
        gap: 0.75rem;
        padding: 0.875rem 1rem;
        width: calc(100% - 2rem);
      }

      /* Welcome section */
      .welcome-content {
        padding: 1.75rem 1.25rem;
      }
      .welcome-content h2 {
        font-size: 1.75rem;
      }
      .welcome-content p {
        font-size: 1rem;
      }

      /* Section headings */
      .section-heading {
        font-size: 1.75rem;
        margin-bottom: 1.75rem;
      }

      /* News box */
      .news-box {
        padding: 1.75rem 1.25rem;
      }
      .news-box h2 {
        font-size: 1.75rem;
      }

      /* Services grid — prevent min-width issue */
      .services-grid {
        grid-template-columns: 1fr;
      }

      /* Home visits */
      .home-visits-grid {
        grid-template-columns: 1fr;
      }
      .home-visits-image .image-wrapper {
        min-height: 280px;
      }
      .benefits-list {
        grid-template-columns: 1fr;
      }

      /* Other services */
      .other-services-content {
        grid-template-columns: 1fr;
        gap: 1.5rem;
      }

      /* Testimonial */
      .testimonial-container {
        padding: 1.5rem 0.75rem;
      }
      .testimonial-content {
        padding: 0 2.5rem;
      }
      .testimonial-quote {
        font-size: 1.25rem;
      }
      .testimonial-nav.prev { left: 0; }
      .testimonial-nav.next { right: 0; }

      /* About */
      .about-content {
        padding: 1.25rem;
      }

      /* Contact */
      .contact-grid {
        grid-template-columns: 1fr;
      }

      /* Booking form */
      .booking-form {
        padding: 1.5rem 1rem;
      }

      /* Footer */
      .footer-grid {
        grid-template-columns: 1fr 1fr;
      }
      .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 0.5rem;
      }

      /* Map */
      .map-container iframe {
        min-height: 280px;
      }

      /* Category header */
      .category-header {
        flex-wrap: wrap;
      }
    }

    /* Very small phones (320–414px) */
    @media (max-width: 414px) {
      .hero h1 {
        font-size: 1.75rem;
      }
      .section-heading {
        font-size: 1.5rem;
      }
      .footer-grid {
        grid-template-columns: 1fr;
      }
      .credentials-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .btn-primary, .btn-outline { font-size: 0.95rem;
        padding: 0.875rem 1.25rem;
        min-height: 44px;
      }
      .testimonial-content {
        padding: 0 2rem;
      }
    }

    /* Respect reduced motion preference */
    @media (prefers-reduced-motion: reduce) {
      .glass-panel, .glass-panel-strong, .glass-card {
      background: linear-gradient(145deg, rgba(255,255,255,0.60) 0%, rgba(255,255,255,0.30) 100%);
      backdrop-filter: blur(28px) saturate(190%);
      -webkit-backdrop-filter: blur(28px) saturate(190%);
      border: 1px solid rgba(255,255,255,0.82);
      border-radius: 20px;
      box-shadow:
        0 16px 44px rgba(31,38,135,0.14),
        0 6px 18px rgba(106,27,154,0.08),
        inset 0 1px 0 rgba(255,255,255,0.94),
        inset 0 -1px 0 rgba(255,255,255,0.22);
      transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    }
      * {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
      }
    }
  

  .hero-local-seo{
    max-width: 720px;
    margin: 0.85rem auto 1.4rem;
    text-align: center;
    color: #6b647a;
    font-size: 1.05rem;
    line-height: 1.75;
    font-weight: 500;
  }

  .booking-location-note,
  .booking-reassurance-note{
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    color: #6b647a;
    line-height: 1.75;
  }

  .booking-location-note{
    margin-top: -1.6rem;
    margin-bottom: 0.75rem;
    font-weight: 600;
  }

  .booking-reassurance-note{
    margin-top: 0;
    margin-bottom: 1rem;
  }

  .booking-trust-note,
  .booking-availability-note{
    margin: 0.65rem 0 0;
    color: #6b647a;
    line-height: 1.7;
  }

  .booking-trust-note{
    font-weight: 600;
  }

  @media (max-width: 768px){
    .hero-local-seo{
      font-size: 0.98rem;
      line-height: 1.65;
      margin: 0.65rem auto 1.2rem;
      max-width: 26rem;
    }

    .booking-location-note{
      margin-top: -1.25rem;
      font-size: 0.98rem;
    }

    .booking-reassurance-note,
    .booking-trust-note,
    .booking-availability-note{
      font-size: 0.96rem;
    }
  }

  /* Setmore direct-booking cards */
  .booking-direct-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
  }
  .booking-direct-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 100%;
    padding: 2rem;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,255,255,0.88));
    border: 1px solid rgba(216, 188, 232, 0.45);
    box-shadow: 0 18px 42px rgba(106,27,154,0.10), inset 0 1px 0 rgba(255,255,255,0.85);
  }
  .booking-card-top {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
  }
  .booking-card-top h4 {
    margin: 0;
    font-size: clamp(1.4rem, 2vw, 2rem);
    line-height: 1.05;
    color: #6a1b9a;
  }
  .booking-card-price-wrap {
    text-align: right;
    flex-shrink: 0;
  }
  .booking-card-price {
    display: block;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 0.95;
    font-weight: 800;
    color: #7b1fa2;
  }
  .booking-card-duration {
    display: block;
    margin-top: 0.25rem;
    font-size: 1rem;
    font-weight: 700;
    color: #6b7280;
  }
  .booking-direct-card p {
    margin: 0;
    color: #5f6474;
    font-size: 1rem;
    line-height: 1.7;
  }
  .booking-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.875rem;
    margin-top: auto;
  }
  .btn-book-service {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 0.95rem 1.9rem;
    border-radius: 999px;
    border: 1px solid rgba(220, 204, 255, 0.78);
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,240,251,0.95));
    color: #6b4f93;
    font-weight: 700;
    font-size: 1rem;
    box-shadow: 0 12px 28px rgba(75, 52, 110, 0.10), inset 0 1px 0 rgba(255,255,255,0.95);
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .btn-book-service:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(75, 52, 110, 0.14), inset 0 1px 0 rgba(255,255,255,0.95);
  }
  .booking-support-panel {
    margin-top: 1.5rem;
    padding: 1.5rem 1.75rem;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(248,244,251,0.94));
    border: 1px solid rgba(216, 188, 232, 0.4);
    box-shadow: 0 12px 30px rgba(106,27,154,0.08);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }
  .booking-support-copy {
    max-width: 44rem;
  }
  .booking-support-copy h3 {
    margin: 0 0 0.35rem;
    font-size: 1.2rem;
    color: #374151;
  }
  .booking-support-copy p {
    margin: 0;
    color: #6b7280;
    line-height: 1.65;
  }
  .booking-support-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
  }
  @media (max-width: 900px) {
    .booking-direct-grid { grid-template-columns: 1fr; }
    .booking-card-top h4 { font-size: 1.8rem; }
  }
  @media (max-width: 640px) {
    .booking-direct-card { padding: 1.5rem; border-radius: 24px; }
    .booking-card-top { gap: 0.75rem; }
    .booking-card-top h4 { font-size: 1.35rem; }
    .booking-card-price { font-size: 2.5rem; }
    .booking-card-duration { font-size: 0.95rem; }
    .booking-support-panel { padding: 1.25rem; border-radius: 22px; }
    .booking-support-actions, .booking-card-actions { width: 100%; }
    .btn-book-service { width: 100%; }
  }


/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}


/* Final premium polish: card image motion, mobile reach, soft section texture */
.service-card-media {
  position: relative;
}

.service-card-media::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 42%, rgba(106,27,154,0.04) 100%);
  pointer-events: none;
  z-index: 1;
}

.service-card-media img {
  transition: transform 0.7s ease, filter 0.35s ease;
  transform-origin: center center;
}

.service-card:hover .service-card-media img,
.service-card:focus-within .service-card-media img {
  transform: scale(1.045);
  filter: saturate(1.03);
}

.service-card .btn,
.booking-direct-card .btn,
.booking-support-actions .btn,
.booking-card-actions .btn {
  min-height: 52px;
}

@media (max-width: 768px) {
  .service-card {
    padding: 1.4rem;
  }

  .service-card .btn,
  .booking-direct-card .btn,
  .booking-support-actions .btn,
  .booking-card-actions .btn {
    min-height: 56px;
    padding-top: 0.95rem;
    padding-bottom: 0.95rem;
  }

  .services-grid,
  .clinic-cards,
  .home-visits-grid {
    row-gap: 1.75rem;
  }
}

.services-category,
.glass-panel,
.glass-panel-strong {
      background: linear-gradient(135deg, rgba(255,255,255,0.66) 0%, rgba(255,255,255,0.36) 50%, rgba(255,255,255,0.58) 100%);
      backdrop-filter: blur(42px) saturate(220%);
      -webkit-backdrop-filter: blur(42px) saturate(220%);
      border: 1px solid rgba(255,255,255,0.84);
      border-radius: 24px;
      box-shadow:
        0 24px 64px rgba(31,38,135,0.16),
        0 8px 22px rgba(106,27,154,0.10),
        inset 0 1px 0 rgba(255,255,255,0.96),
        inset 0 -1px 0 rgba(255,255,255,0.28);
    }

.services-category::before,
.glass-panel::before,
.glass-panel-strong::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,0.16) 0, rgba(255,255,255,0) 22%),
    radial-gradient(circle at 80% 12%, rgba(236,72,153,0.06) 0, rgba(236,72,153,0) 18%),
    radial-gradient(circle at 50% 100%, rgba(124,58,237,0.05) 0, rgba(124,58,237,0) 24%);
  opacity: 0.9;
}


/* Rebuilt mobile-only hero while preserving existing service cards */
.mobile-hero-rebuild {
  display: none;
}

@media (max-width: 768px) {
  .hero {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
    padding: 0 !important;
    background-image: url('mobile_hero.webp') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-attachment: scroll !important;
  }

  /* Hide only the old hero presentation on mobile */
  .hero > .hero-banner,
  .hero > .hero-content {
    display: none !important;
  }

  .hero::before {
    content: none !important;
  }

  .mobile-hero-rebuild {
    display: block !important;
    position: relative;
    min-height: 24.8rem;
    padding: 0.9rem 0.9rem 0.95rem;
    isolation: isolate;
  }

  /* Glass sheet across the hero image */
  .mobile-hero-glass {
    position: absolute;
    inset: 0;
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.72) 0%,
        rgba(255,248,251,0.74) 34%,
        rgba(248,244,252,0.77) 68%,
        rgba(255,255,255,0.80) 100%
      );
    backdrop-filter: blur(16px) saturate(132%);
    -webkit-backdrop-filter: blur(16px) saturate(132%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.50),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    z-index: 0;
  }

  .mobile-hero-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
  }

  .mobile-hero-banner {
    margin: 0 auto 0.9rem;
    padding: 7px;
    border-radius: 22px;
    overflow: hidden;
    background: linear-gradient(
      135deg,
      rgba(255,255,255,0.60) 0%,
      rgba(255,255,255,0.34) 50%,
      rgba(255,255,255,0.50) 100%
    );
    backdrop-filter: blur(14px) saturate(150%);
    -webkit-backdrop-filter: blur(14px) saturate(150%);
    border: 1px solid rgba(255,255,255,0.86);
    box-shadow:
      0 10px 28px rgba(31,38,135,0.10),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  .mobile-hero-banner img {
    width: 100%;
    display: block;
    border-radius: 16px;
    height: auto;
  }

  .mobile-hero-copy {
    padding: 0.15rem 0.3rem 0;
  }

  .mobile-hero-copy h1 {
    font-family: 'Playfair Display', serif;
    font-size: 1.02rem;
    line-height: 1.18;
    margin: 0 auto 0.72rem;
    color: #4b2272;
    letter-spacing: -0.01em;
    max-width: 22rem;
    text-shadow: 0 1px 0 rgba(255,255,255,0.28);
  }

  .mobile-hero-copy h1 span {
    background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .mobile-hero-buttons {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
    flex-wrap: nowrap;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 122px;
    min-height: 48px;
    padding: 0.78rem 1rem;
    border-radius: 999px;
    font-size: 0.96rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
  }
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}



/* Stronger mobile-only glassmorphism + neumorphism pass */
@media (max-width: 768px) {
  :root {
    --mobile-glass-bg: linear-gradient(180deg, rgba(255,255,255,0.60) 0%, rgba(255,248,252,0.52) 100%);
    --mobile-glass-bg-strong: linear-gradient(180deg, rgba(255,255,255,0.72) 0%, rgba(250,244,252,0.62) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-border-soft: rgba(186,160,208,0.24);
    --mobile-neu-shadow:
      16px 16px 34px rgba(123, 103, 149, 0.16),
      -10px -10px 22px rgba(255,255,255,0.92),
      inset 0 1px 0 rgba(255,255,255,0.78),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-neu-shadow-soft:
      12px 12px 28px rgba(123, 103, 149, 0.13),
      -8px -8px 18px rgba(255,255,255,0.88),
      inset 0 1px 0 rgba(255,255,255,0.74),
      inset 0 -1px 0 rgba(255,255,255,0.14);
  }

  body {
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.78), rgba(255,255,255,0) 38%),
      radial-gradient(circle at top right, rgba(235,214,244,0.28), rgba(235,214,244,0) 34%),
      linear-gradient(180deg, #f7f3f8 0%, #f2edf5 100%) !important;
  }

  .mobile-quick-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .hero-contact-item,
  .contact-card,
  .credential-card,
  .feature-card,
  .service-card,
  .booking-direct-card,
  .booking-support-panel,
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .mobile-info-card,
  .mobile-service-stack .service-card,
  .services-grid .service-card,
  .mobile-service-group {
    background: var(--mobile-glass-bg) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-neu-shadow-soft) !important;
    backdrop-filter: blur(18px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
  }

  .mobile-quick-card,
  .hero-contact-item,
  .nav-card.nav-book,
  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    background: var(--mobile-glass-bg-strong) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-neu-shadow) !important;
    backdrop-filter: blur(20px) saturate(170%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(170%) !important;
  }

  .mobile-quick-card,
  .nav-card.nav-book {
    position: relative !important;
    overflow: hidden !important;
  }

  .mobile-quick-card::before,
  .nav-card.nav-book::before,
  .hero-contact-item::before,
  .mobile-summary-card::before,
  .mobile-trust-card::before,
  .service-card::before,
  .booking-direct-card::before,
  .booking-support-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      radial-gradient(circle at 18% 14%, rgba(255,255,255,0.60) 0%, rgba(255,255,255,0.18) 18%, rgba(255,255,255,0) 42%),
      linear-gradient(180deg, rgba(255,255,255,0.24) 0%, rgba(255,255,255,0.06) 35%, rgba(255,255,255,0.02) 100%);
  }

  .mobile-quick-links {
    gap: 14px !important;
  }

  .mobile-quick-card,
  .nav-card.nav-book {
    min-height: 74px !important;
    border-radius: 24px !important;
    letter-spacing: -0.015em;
  }

  .mobile-quick-card:hover,
  .mobile-quick-card:active,
  .nav-card.nav-book:hover,
  .nav-card.nav-book:active {
    transform: translateY(-1px) !important;
    box-shadow:
      18px 18px 36px rgba(123, 103, 149, 0.18),
      -10px -10px 24px rgba(255,255,255,0.96),
      inset 0 1px 0 rgba(255,255,255,0.82) !important;
  }

  .mobile-quick-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .hero-contact-item,
  .nav-card.nav-book,
  .service-card,
  .booking-direct-card,
  .booking-support-panel {
    outline: 1px solid rgba(255,255,255,0.18);
    outline-offset: -1px;
  }
}






/* Ambient layer depth to create page layering */

.hero,
.hero-section,
header.hero{
    position: relative;
}

.hero::after,
.hero-section::after,
header.hero::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -40px;
    height: 120px;
    pointer-events: none;
    background: radial-gradient(
        ellipse at center,
        rgba(120,110,140,0.18) 0%,
        rgba(120,110,140,0.10) 40%,
        rgba(120,110,140,0.04) 60%,
        rgba(120,110,140,0) 80%
    );
    filter: blur(20px);
    z-index: -1;
}

/* section depth shadows */
section{
    position: relative;
}

section::after{
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: -50px;
    height: 90px;
    background: radial-gradient(
        ellipse at center,
        rgba(110,100,130,0.18) 0%,
        rgba(110,100,130,0.08) 45%,
        rgba(110,100,130,0) 70%
    );
    filter: blur(22px);
    pointer-events: none;
    z-index: -1;
}

/* stronger card grounding */
.glass-card,
.feature-card,
.service-card,
.contact-card{
    box-shadow:
        18px 18px 36px rgba(120,110,140,0.22),
        -12px -12px 26px rgba(255,255,255,0.95),
        inset 1px 1px 0 rgba(255,255,255,0.92),
        inset -1px -1px 0 rgba(220,215,230,0.40);
}


/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





/* Soft gradient lighting across the whole page background */


/* Slightly more premium ambient light on large sections */
.hero::before{
  background:
    radial-gradient(circle at 50% 8%, rgba(255,255,255,0.48) 0%, rgba(255,255,255,0.16) 28%, transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,0.82) 0%, rgba(252,228,236,0.78) 40%, rgba(248,244,252,0.82) 70%, rgba(255,255,255,0.90) 100%) !important;
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





/* Subtle blur/separation feeling behind cards while scrolling */
.glass-card,
.glass-panel,
.glass-panel-strong,
.feature-card,
.service-card,
.contact-card,
.faq-item,
.credential-card,
.partner-logo,
.booking-form,
.footer-cta-strip,
.map-container{
  position: relative;
  isolation: isolate;
}

.glass-card::before,
.glass-panel::before,
.glass-panel-strong::before,
.feature-card::before,
.service-card::before,
.contact-card::before,
.faq-item::before,
.credential-card::before,
.partner-logo::before,
.booking-form::before,
.footer-cta-strip::before,
.map-container::before{
  content: "";
  position: absolute;
  inset: -12px;
  z-index: -1;
  border-radius: inherit;
  background: rgba(255,255,255,0.16);
  filter: blur(16px);
  opacity: 0.65;
  pointer-events: none;
}

/* keep bg-image service cards from getting muddy */
.service-card-bg::before{
  opacity: 0.35 !important;
}

/* slightly stronger on hover for premium separation */
.glass-card:hover::before,
.feature-card:hover::before,
.service-card:hover::before,
.contact-card:hover::before,
.faq-item:hover::before{
  opacity: 0.78;
  filter: blur(18px);
}

@media (max-width: 768px){
  .glass-card::before,
  .glass-panel::before,
  .glass-panel-strong::before,
  .feature-card::before,
  .service-card::before,
  .contact-card::before,
  .faq-item::before,
  .credential-card::before,
  .partner-logo::before,
  .booking-form::before,
  .footer-cta-strip::before,
  .map-container::before{
    inset: -8px;
    filter: blur(12px);
    opacity: 0.52;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





/* Mobile gallery layout fix */

@media (max-width:768px){

  /* hide the 9th image only on mobile */
  .gallery-grid img:nth-child(9),
  .gallery-grid .gallery-item:nth-child(9){
    display:none !important;
  }

  /* ensure grid closes gaps */
  .gallery-grid{
    grid-template-columns: repeat(2,1fr) !important;
    gap:12px !important;
  }

  .gallery-grid img,
  .gallery-grid .gallery-item{
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





/* Force consistent gallery aspect ratio so grid aligns perfectly */

.gallery-grid img,
.gallery-grid .gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    aspect-ratio: 4 / 3;
}

/* Ensure gallery items respect the ratio */
.gallery-grid .gallery-item{
    aspect-ratio:4 / 3;
    overflow:hidden;
}

/* Mobile still uses the same ratio */
@media (max-width:768px){
    .gallery-grid img,
    .gallery-grid .gallery-item img{
        aspect-ratio:4 / 3;
    }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





/* Subtle premium gallery hover effect */

.gallery-grid .gallery-item{
    position:relative;
    overflow:hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.gallery-grid .gallery-item img{
    transition: transform 0.35s ease;
}

/* hover zoom */
.gallery-grid .gallery-item:hover img{
    transform: scale(1.06);
}

/* hover lift shadow */
.gallery-grid .gallery-item:hover{
    transform: translateY(-4px);
    box-shadow:
        16px 16px 32px rgba(120,110,140,0.25),
        -10px -10px 22px rgba(255,255,255,0.95),
        inset 1px 1px 0 rgba(255,255,255,0.8);
}

/* keep mobile calm (elderly users) */
@media (max-width:768px){
    .gallery-grid .gallery-item:hover{
        transform:none;
        box-shadow:none;
    }
    .gallery-grid .gallery-item:hover img{
        transform:none;
    }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





/* Premium gallery lightbox */
#galleryLightbox{
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(20, 16, 28, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 10050;
}

#galleryLightbox.active{
  display: flex;
}

.gallery-lightbox-inner{
  position: relative;
  width: min(92vw, 1100px);
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gallery-lightbox-img{
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  height: auto;
  border-radius: 22px;
  box-shadow:
    0 24px 60px rgba(0,0,0,0.28),
    0 0 0 1px rgba(255,255,255,0.14);
  background: #fff;
}

.gallery-lightbox-btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border: 1px solid rgba(255,255,255,0.72);
  border-radius: 9999px;
  background: linear-gradient(145deg, rgba(255,255,255,0.92), rgba(240,235,245,0.88));
  color: #4a3e5f;
  box-shadow:
    10px 10px 22px rgba(120,110,140,0.20),
    -8px -8px 18px rgba(255,255,255,0.94),
    inset 1px 1px 0 rgba(255,255,255,0.96),
    inset -1px -1px 0 rgba(220,215,230,0.36);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
}

.gallery-lightbox-btn:hover{
  transform: translateY(calc(-50% - 1px));
}

.gallery-lightbox-prev{ left: -68px; }
.gallery-lightbox-next{ right: -68px; }

.gallery-lightbox-close{
  position: absolute;
  top: -16px;
  right: -16px;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,0.72);
  border-radius: 9999px;
  background: linear-gradient(145deg, rgba(255,255,255,0.94), rgba(241,236,246,0.90));
  color: #4a3e5f;
  box-shadow:
    10px 10px 22px rgba(120,110,140,0.20),
    -8px -8px 18px rgba(255,255,255,0.94),
    inset 1px 1px 0 rgba(255,255,255,0.96),
    inset -1px -1px 0 rgba(220,215,230,0.36);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

.gallery-grid .gallery-item{
  cursor: zoom-in;
}

@media (max-width: 768px){
  #galleryLightbox{
    padding: 12px;
  }
  .gallery-lightbox-inner{
    width: 100%;
    max-height: 100%;
  }
  .gallery-lightbox-img{
    max-height: 84vh;
    border-radius: 16px;
  }
  .gallery-lightbox-prev{ left: 8px; }
  .gallery-lightbox-next{ right: 8px; }
  .gallery-lightbox-btn{
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.88);
  }
  .gallery-lightbox-close{
    top: 8px;
    right: 8px;
    width: 42px;
    height: 42px;
    background: rgba(255,255,255,0.9);
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}







:root{
  --ui-surface-1: rgba(255,255,255,0.90);
  --ui-surface-2: rgba(243,239,247,0.86);
  --ui-border: rgba(255,255,255,0.90);
  --ui-shadow-dark: rgba(122,112,145,0.23);
  --ui-shadow-light: rgba(255,255,255,0.96);
  --ui-shadow-md:
      10px 10px 22px rgba(122,112,145,0.22),
      -8px -8px 18px rgba(255,255,255,0.96),
      inset 1px 1px 0 rgba(255,255,255,0.96),
      inset -1px -1px 0 rgba(220,215,230,0.40);
  --ui-shadow-lg:
      16px 16px 32px rgba(122,112,145,0.28),
      -10px -10px 22px rgba(255,255,255,0.98),
      inset 1px 1px 0 rgba(255,255,255,0.98),
      inset -1px -1px 0 rgba(220,215,230,0.46);
  --ui-text: #54456b;
  --ui-text-strong: #3d3252;
  --ui-accent: #5a4778;
}

/* 1) Unified design system */
.glass-card,
.glass-panel,
.glass-panel-strong,
.feature-card,
.service-card,
.contact-card,
.faq-item,
.credential-card,
.partner-logo,
.booking-form,
.footer-cta-strip,
.map-container{
  box-shadow: var(--ui-shadow-md) !important;
  border: 1px solid var(--ui-border) !important;
}

.service-card:hover,
.feature-card:hover,
.contact-card:hover,
.faq-item:hover{
  box-shadow: var(--ui-shadow-lg) !important;
}

/* Buttons + nav pills all from same system */
.btn-primary,
.btn-outline,
.service-card .btn,
.service-card .btn-outline,
.service-card .btn-primary,
.hero-buttons a,
.hero-buttons .btn,
.booking-form .btn,
.booking-form .btn-primary,
.booking-form .btn-outline,
.footer-cta-btn,
a[href="#booking"],
.whatsapp-cta .btn-whatsapp,
.nav-links a{
  position: relative !important;
  overflow: hidden !important;
  border-radius: 9999px !important;
  clip-path: none !important;
  background: linear-gradient(145deg, var(--ui-surface-1), var(--ui-surface-2)) !important;
  border: 1px solid var(--ui-border) !important;
  color: var(--ui-accent) !important;
  text-shadow: none !important;
  box-shadow: var(--ui-shadow-md) !important;
  transition: transform .18s ease, box-shadow .18s ease, color .18s ease !important;
}

.btn-primary::before,
.btn-outline::before,
.service-card .btn::before,
.service-card .btn-outline::before,
.service-card .btn-primary::before,
.hero-buttons a::before,
.hero-buttons .btn::before,
.booking-form .btn::before,
.booking-form .btn-primary::before,
.booking-form .btn-outline::before,
.footer-cta-btn::before,
a[href="#booking"]::before,
.whatsapp-cta .btn-whatsapp::before,
.nav-links a::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit !important;
  pointer-events:none;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,0.78) 0%,
    rgba(255,255,255,0.30) 30%,
    rgba(255,255,255,0.08) 58%,
    rgba(255,255,255,0.18) 100%
  );
}

.btn-primary:hover,
.btn-outline:hover,
.service-card .btn:hover,
.service-card .btn-outline:hover,
.service-card .btn-primary:hover,
.hero-buttons a:hover,
.hero-buttons .btn:hover,
.booking-form .btn:hover,
.booking-form .btn-primary:hover,
.booking-form .btn-outline:hover,
.footer-cta-btn:hover,
a[href="#booking"]:hover,
.whatsapp-cta .btn-whatsapp:hover,
.nav-links a:hover{
  transform: translateY(-2px) !important;
  color: var(--ui-text-strong) !important;
  box-shadow: var(--ui-shadow-lg) !important;
}

/* readable icons/text */
.btn-primary svg,
.btn-outline svg,
.service-card .btn svg,
.hero-buttons a svg,
.booking-form .btn svg,
.footer-cta-btn svg,
.whatsapp-cta .btn-whatsapp svg{
  fill: currentColor;
  stroke: currentColor;
}

/* WhatsApp remains brand-aware but in-family */
.whatsapp-cta .btn-whatsapp{
  color: #3c6651 !important;
  background: linear-gradient(145deg, rgba(255,255,255,0.95), rgba(235,243,237,0.90)) !important;
}

/* 2) Tighten spacing + hierarchy */
section{
  padding-top: 2.1rem !important;
  padding-bottom: 2.1rem !important;
}

.section-heading{
  margin-bottom: 2.2rem !important;
}

.service-category{
  margin-bottom: 3rem !important;
}

.category-header{
  margin-bottom: 1.35rem !important;
}

.welcome-content,
.news-box,
.testimonial-container,
.booking-form{
  padding-top: 2.2rem !important;
  padding-bottom: 2.2rem !important;
}

.hero p{
  margin-bottom: 1.6rem !important;
}

.hero-buttons{
  margin-bottom: 1.8rem !important;
}

.service-card p{
  margin-bottom: 0.85rem !important;
}

.service-features{
  margin-bottom: 1.1rem !important;
}

/* clearer hierarchy in cards */
.service-header h4{
  color: var(--ui-text-strong) !important;
}

.service-card p,
.feature-card p,
.contact-card p,
.contact-card a,
.faq-answer p,
.footer-brand p,
.footer-column a{
  color: var(--ui-text) !important;
}

.service-price{
  color: #6a5a86 !important;
  background: none !important;
  -webkit-text-fill-color: unset !important;
  text-shadow: none !important;
}

/* 3) Footer cleanup / unification */
.footer-social-btn{
  background: linear-gradient(145deg, var(--ui-surface-1), var(--ui-surface-2)) !important;
  color: var(--ui-accent) !important;
  border-radius: 16px !important;
  box-shadow: var(--ui-shadow-md) !important;
}

.footer-social-btn:hover{
  box-shadow: var(--ui-shadow-lg) !important;
  transform: translateY(-2px) !important;
}

/* 4) Mobile QA / cleanup */
@media (max-width: 768px){
  section{
    padding-top: 1.6rem !important;
    padding-bottom: 1.6rem !important;
  }

  .section-heading{
    margin-bottom: 1.5rem !important;
    font-size: 1.65rem !important;
    line-height: 1.18 !important;
  }

  .hero{
    padding-top: 4.75rem !important;
    padding-bottom: 1.6rem !important;
    background-attachment: scroll !important;
  }

  .hero-content{
    padding-bottom: 1.5rem !important;
  }

  .hero-buttons{
    gap: .75rem !important;
  }

  .hero-buttons a,
  .btn-primary,
  .btn-outline,
  .booking-form .btn,
  .service-card .btn{
    min-height: 48px !important;
    padding: 0.9rem 1.15rem !important;
  }

  .hero-contact-bar{
    gap: .85rem !important;
    padding: 1rem 1.1rem !important;
  }

  .services-grid,
  .home-visits-grid,
  .about-grid,
  .contact-grid,
  .form-row{
    gap: 1rem !important;
  }

  .service-card,
  .contact-card,
  .faq-item,
  .feature-card{
    padding: 1.1rem !important;
  }

  /* keep gallery tidy on mobile */
  .gallery-grid{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .gallery-grid .gallery-item:nth-child(9){
    display: none !important;
  }

  /* prevent odd mobile CTA corner artifacts */
  .btn-primary,
  .btn-outline,
  .service-card .btn,
  .hero-buttons a,
  .booking-form .btn,
  .footer-cta-btn,
  a[href="#booking"],
  .whatsapp-cta .btn-whatsapp,
  .nav-links a{
    border-radius: 9999px !important;
    overflow: hidden !important;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





/* Create space between the top navigation and the banner logo */

.hero{
    padding-top:140px !important;
}

@media (max-width:768px){
.hero{
    padding-top:120px !important;
}
}

    /* Home Visits mobile-only polish and overlap fix */
    .home-visits-mobile-summary {
      display: none;
    }

    @media (max-width: 768px) {
      #home-visits .home-visits-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem !important;
      }

      #home-visits .home-visits-image {
        padding: 1rem !important;
        margin: 0 !important;
      }

      #home-visits .home-visits-image .image-wrapper {
        min-height: 280px !important;
        height: auto !important;
        aspect-ratio: 4 / 3;
      }

      #home-visits .home-visits-mobile-info {
        display: none !important;
      }

      #home-visits .home-visits-mobile-summary {
        display: block !important;
        margin-top: -0.25rem;
        margin-bottom: 0.25rem;
        padding: 1.15rem 1.15rem 1rem !important;
      }

      #home-visits .home-visits-mobile-summary .hv-row {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 1rem;
      }

      #home-visits .home-visits-mobile-summary .hv-title {
        font-family: 'Playfair Display', serif;
        font-weight: 700;
        color: #6a1b9a;
        font-size: 1.5rem;
        line-height: 1.1;
        margin: 0 0 0.25rem 0;
      }

      #home-visits .home-visits-mobile-summary .hv-subtitle {
        color: #4b5563;
        font-size: 0.98rem;
        line-height: 1.35;
        margin: 0;
      }

      #home-visits .home-visits-mobile-summary .hv-price {
        text-align: right;
        font-weight: 800;
        font-size: 1.85rem;
        line-height: 1;
        color: #6a1b9a;
        margin: 0 0 0.3rem 0;
      }

      #home-visits .home-visits-mobile-summary .hv-duration {
        text-align: right;
        color: #374151;
        font-size: 0.9rem;
        font-weight: 700;
        line-height: 1.2;
        margin: 0;
      }

      #home-visits .home-visits-content {
        gap: 1rem !important;
        margin-top: 0 !important;
        position: relative;
        z-index: 2;
      }

      #home-visits .home-visits-content > .glass-panel:first-child {
        margin-top: 0 !important;
        padding-top: 1.35rem !important;
      }

      #home-visits .home-visits-content h3 {
        line-height: 1.15 !important;
      }

      #home-visits .benefit-item,
      #home-visits .service-list-item p:last-child,
      #home-visits .service-duration,
      #home-visits .service-list-item span {
        color: #374151 !important;
      }

      #home-visits .service-list-item p:last-child,
      #home-visits .service-duration {
        font-weight: 600 !important;
      }

      #home-visits .service-list-item {
        align-items: center;
      }

      #home-visits .benefits-list {
        gap: 0.9rem !important;
      }
    }


/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





/* Safer logo enlargement: make the banner container wider instead of scaling the image */
.hero-banner{
  max-width: 990px;
}

/* Mobile-only cleanup */
@media (max-width: 768px){
  html, body{
    width: 100%;
    overflow-x: hidden !important;
  }

  /* Keep the banner large without pushing the page sideways */
  .hero-banner{
    width: calc(100% - 1rem);
    max-width: none;
    margin: 0 auto 1.5rem;
    padding: 8px;
    box-sizing: border-box;
  }

  .hero-banner img,
  .hero-banner picture,
  .hero-banner source{
    max-width: 100%;
  }

  /* Centre the opened burger menu properly */
  .nav-links{
    right: auto !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(-10px) !important;
    width: calc(100% - 2rem) !important;
    max-width: 420px !important;
    height: auto !important;
    max-height: calc(100vh - 90px) !important;
    border-radius: 24px !important;
    padding: 5.25rem 1rem 1rem !important;
    opacity: 0;
    pointer-events: none;
    overflow-y: auto;
    box-sizing: border-box;
    background: rgba(255,255,255,0.82) !important;
    backdrop-filter: blur(20px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
    border: 1px solid rgba(255,255,255,0.75) !important;
    box-shadow: 0 18px 50px rgba(106,27,154,0.18) !important;
  }

  .nav-links.active{
    right: auto !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(0) !important;
    opacity: 1;
    pointer-events: auto;
  }

  .nav-links a{
    width: 100%;
    justify-content: center;
    text-align: center;
    font-size: 1.05rem;
    min-height: 52px;
  }

  .mobile-menu-btn{
    position: relative;
    z-index: 10001;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width: 768px){

  /* Prevent the page from feeling cut off near the bottom */
  html, body{
    min-height: 100%;
    height: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body{
    padding-bottom: env(safe-area-inset-bottom, 0);
  }

  /* Stabilise gallery rendering on phones */
  .gallery-grid,
  .gallery-grid .gallery-item,
  .gallery-grid .gallery-item img{
    transform: none !important;
    animation: none !important;
    transition: none !important;
    filter: none !important;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }

  .gallery-grid .gallery-item{
    will-change: auto !important;
    contain: layout paint;
  }

  .gallery-grid .gallery-item img{
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  /* Calm down any hover-driven repainting on touch devices */
  .gallery-grid .gallery-item:hover,
  .gallery-grid .gallery-item:hover img{
    transform: none !important;
    box-shadow: none !important;
  }

  /* Make sure the footer / lower page content can fully render */
  footer,
  .site-footer,
  .footer,
  main,
  section{
    overflow: visible !important;
  }

  /* Keep the opened mobile menu centred without affecting page height */
  .nav-links{
    position: fixed !important;
    top: 76px !important;
    bottom: auto !important;
  }

  .mobile-overlay,
  #mobileOverlay{
    position: fixed !important;
    inset: 0 !important;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width: 768px){

  :root{
    --m-bg:#fff7fb;
    --m-surface:#ffffff;
    --m-surface-soft:#fcf7ff;
    --m-text:#1f2937;
    --m-muted:#5b6472;
    --m-border:rgba(216,27,96,0.10);
    --m-border-strong:rgba(106,27,154,0.12);
    --m-shadow:0 10px 28px rgba(17,24,39,0.08);
    --m-shadow-strong:0 18px 40px rgba(106,27,154,0.12);
    --m-radius:22px;
    --m-gap:14px;
    --m-accent:#6a1b9a;
    --m-accent-2:#d81b60;
  }

  html, body{
    overflow-x:hidden !important;
    overflow-y:auto !important;
    background:linear-gradient(180deg,#fff8fc 0%,#ffffff 35%,#faf8ff 100%) !important;
    scroll-behavior:smooth;
  }

  body{
    color:var(--m-text) !important;
    padding-bottom:24px !important;
  }

  /* turn off fragile mobile motion */
  *, *::before, *::after{
    animation:none !important;
    transition-property: opacity, background-color, color, border-color, box-shadow, transform !important;
    transition-duration:.18s !important;
  }

  section{
    padding:16px 0 !important;
    overflow:visible !important;
  }

  .section-container,
  .nav-container,
  .footer-inner{
    width:min(calc(100% - 20px), 560px) !important;
    max-width:560px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* NAVIGATION */
  nav{
    background:rgba(255,255,255,.96) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border-bottom:1px solid var(--m-border) !important;
    box-shadow:0 8px 24px rgba(17,24,39,.06) !important;
  }

  .nav-container{
    min-height:72px !important;
    padding:0 0 !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
  }

  .mobile-menu-btn{
    width:60px !important;
    height:60px !important;
    border-radius:18px !important;
    border:1px solid var(--m-border-strong) !important;
    background:linear-gradient(135deg, rgba(106,27,154,.08), rgba(216,27,96,.10)) !important;
    box-shadow:var(--m-shadow) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    position:relative !important;
  }

  .mobile-menu-btn::after{
    content:"Menu";
    font-size:11px;
    font-weight:800;
    letter-spacing:.03em;
    color:var(--m-accent);
    margin-top:2px;
    line-height:1;
  }

  .mobile-menu-btn span{
    width:22px !important;
    height:2.5px !important;
    border-radius:999px !important;
    background:var(--m-accent) !important;
  }

  .mobile-overlay{
    background:rgba(88,28,135,.22) !important;
    backdrop-filter:blur(2px) !important;
    -webkit-backdrop-filter:blur(2px) !important;
  }

  .nav-links{
    position:fixed !important;
    inset:84px 10px 12px 10px !important;
    width:auto !important;
    max-width:none !important;
    height:auto !important;
    max-height:none !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    border-radius:26px !important;
    background:rgba(255,255,255,.985) !important;
    border:1px solid var(--m-border-strong) !important;
    box-shadow:0 24px 60px rgba(17,24,39,.16) !important;
    padding:14px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    overflow-y:auto !important;
  }

  .nav-links a{
    min-height:58px !important;
    width:100% !important;
    text-align:center !important;
    justify-content:center !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#fffaff 0%,#f8f1fd 100%) !important;
    border:1px solid var(--m-border) !important;
    color:var(--m-text) !important;
    font-size:1.04rem !important;
    font-weight:800 !important;
    box-shadow:0 6px 18px rgba(17,24,39,.05) !important;
  }

  .nav-links a::before,
  /* HERO */
  .hero{
    padding-top:88px !important;
    padding-bottom:10px !important;
  }

  .hero-banner{
    background:var(--m-surface) !important;
    border:1px solid var(--m-border) !important;
    box-shadow:var(--m-shadow-strong) !important;
    border-radius:28px !important;
    padding:8px !important;
    overflow:hidden !important;
    margin:0 auto 14px !important;
    width:min(calc(100% - 20px), 560px) !important;
  }

  .hero-banner img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    border-radius:22px !important;
  }

  .hero-content{
    width:min(calc(100% - 20px), 560px) !important;
    margin:0 auto !important;
    text-align:left !important;
    padding:0 !important;
  }

  .hero h1.hero-tagline{
    font-size:2.2rem !important;
    line-height:1.03 !important;
    letter-spacing:-0.02em !important;
    margin:0 0 14px !important;
  }

  .hero-buttons{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin:0 0 14px !important;
  }

  .hero-buttons a{
    min-height:58px !important;
    border-radius:18px !important;
    font-size:1.04rem !important;
    font-weight:800 !important;
    box-shadow:var(--m-shadow) !important;
    width:100% !important;
    justify-content:center !important;
  }

  .hero-contact-bar{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:0 !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
  }

  .hero-contact-item{
    min-height:60px !important;
    padding:14px 16px !important;
    background:var(--m-surface) !important;
    border:1px solid var(--m-border) !important;
    border-radius:18px !important;
    box-shadow:var(--m-shadow) !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
  }

  .hero-contact-item span,
  .hero-contact-item a{
    font-size:1rem !important;
    font-weight:700 !important;
    color:var(--m-text) !important;
  }

  /* SECTION HEADINGS */
  .section-heading,
  #welcome h2{
    text-align:left !important;
    font-size:1.8rem !important;
    line-height:1.1 !important;
    margin:0 0 12px !important;
    padding:0 2px !important;
  }

  .section-subheading,
  #services > .section-container > p{
    text-align:left !important;
    margin:0 2px 14px !important;
    max-width:none !important;
    color:var(--m-muted) !important;
    font-size:1rem !important;
    line-height:1.6 !important;
  }

  /* WELCOME */
  .welcome-content{
    padding:18px 16px !important;
    border-radius:var(--m-radius) !important;
    background:var(--m-surface) !important;
    border:1px solid var(--m-border) !important;
    box-shadow:var(--m-shadow) !important;
    margin-bottom:14px !important;
  }

  .welcome-content p{
    font-size:1rem !important;
    line-height:1.65 !important;
    color:var(--m-muted) !important;
    margin-bottom:12px !important;
  }

  .features-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
  }

  .feature-card{
    min-height:152px !important;
    padding:16px 14px !important;
    background:var(--m-surface) !important;
    border:1px solid var(--m-border) !important;
    border-radius:20px !important;
    box-shadow:var(--m-shadow) !important;
  }

  .feature-card h3{
    font-size:1rem !important;
    line-height:1.25 !important;
    margin:8px 0 6px !important;
  }

  .feature-card p{
    font-size:.92rem !important;
    line-height:1.45 !important;
    color:var(--m-muted) !important;
  }

  /* SERVICES: card-based and simple */
  .service-category{
    margin:0 0 18px !important;
  }

  .category-header{
    display:block !important;
    margin:0 0 10px !important;
  }

  .category-header .section-heading{
    margin-bottom:6px !important;
  }

  .services-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .service-card{
    background:var(--m-surface) !important;
    border:1px solid var(--m-border) !important;
    border-radius:24px !important;
    box-shadow:var(--m-shadow) !important;
    overflow:hidden !important;
    padding:0 !important;
  }

  .service-card .badge{
    top:14px !important;
    right:14px !important;
    z-index:3 !important;
  }

  .service-card > div[style*="height:160px"]{
    height:180px !important;
    margin:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
  }

  .service-card > div[style*="height:160px"] img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
  }

  .service-card .service-duration,
  .service-card .service-header,
  .service-card > p,
  .service-card .service-features{
    margin-left:16px !important;
    margin-right:16px !important;
  }

  .service-duration{
    margin-top:14px !important;
    margin-bottom:10px !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    font-size:.92rem !important;
    font-weight:800 !important;
    color:var(--m-text) !important;
    background:#f9f3fc !important;
    border:1px solid var(--m-border) !important;
    border-radius:999px !important;
    padding:8px 12px !important;
  }

  .service-header{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:start !important;
    gap:10px !important;
    margin-bottom:8px !important;
  }

  .service-header h4{
    font-size:1.12rem !important;
    line-height:1.3 !important;
    color:var(--m-text) !important;
  }

  .service-price{
    font-size:1.45rem !important;
    line-height:1 !important;
    font-weight:900 !important;
    color:var(--m-accent) !important;
  }

  .service-card > p{
    color:var(--m-muted) !important;
    font-size:.98rem !important;
    line-height:1.58 !important;
    margin-bottom:12px !important;
  }

  .service-features{
    display:grid !important;
    gap:8px !important;
    margin-top:0 !important;
    margin-bottom:16px !important;
    padding:0 !important;
  }

  .service-features li{
    list-style:none !important;
    margin:0 !important;
    padding:12px 13px !important;
    border-radius:16px !important;
    background:var(--m-surface-soft) !important;
    border:1px solid rgba(106,27,154,.08) !important;
    color:var(--m-text) !important;
    font-weight:600 !important;
    line-height:1.4 !important;
  }

  .service-card-bg,
  .service-card-overlay{
    background-image:none !important;
  }

  .service-card-bg > *{
    position:relative !important;
    z-index:2 !important;
  }

  /* HOME VISITS: clean stack with separate cards */
  #home-visits .home-visits-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  #home-visits .home-visits-image{
    background:var(--m-surface) !important;
    border:1px solid var(--m-border) !important;
    border-radius:24px !important;
    box-shadow:var(--m-shadow) !important;
    overflow:hidden !important;
    padding:0 !important;
  }

  #home-visits .image-wrapper{
    min-height:220px !important;
  }

  #home-visits .image-wrapper img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  #home-visits .image-overlay-card{
    display:none !important;
  }

  #home-visits .home-visits-mobile-info{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:12px !important;
    align-items:center !important;
    padding:16px !important;
    background:#fff !important;
    border-top:1px solid var(--m-border) !important;
  }

  #home-visits .home-visits-mobile-info p,
  #home-visits .home-visits-mobile-info span{
    margin:0 !important;
  }

  #home-visits .home-visits-mobile-summary{
    display:none !important;
  }

  #home-visits .home-visits-content{
    display:grid !important;
    gap:14px !important;
  }

  #home-visits .home-visits-content > .glass-panel,
  #home-visits .home-visits-content > .glass-panel-strong {
      background: linear-gradient(135deg, rgba(255,255,255,0.66) 0%, rgba(255,255,255,0.36) 50%, rgba(255,255,255,0.58) 100%);
      backdrop-filter: blur(42px) saturate(220%);
      -webkit-backdrop-filter: blur(42px) saturate(220%);
      border: 1px solid rgba(255,255,255,0.84);
      border-radius: 24px;
      box-shadow:
        0 24px 64px rgba(31,38,135,0.16),
        0 8px 22px rgba(106,27,154,0.10),
        inset 0 1px 0 rgba(255,255,255,0.96),
        inset 0 -1px 0 rgba(255,255,255,0.28);
    }

  #home-visits h3{
    font-size:1.18rem !important;
    line-height:1.25 !important;
    margin-bottom:12px !important;
  }

  #home-visits .benefits-list{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  #home-visits .benefit-item,
  #home-visits .service-list-item{
    background:var(--m-surface-soft) !important;
    border:1px solid rgba(106,27,154,.08) !important;
    border-radius:16px !important;
    padding:12px 13px !important;
    min-height:0 !important;
    box-shadow:none !important;
  }

  #home-visits .service-list{
    display:grid !important;
    gap:10px !important;
  }

  #home-visits .service-list-item{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:10px !important;
    align-items:center !important;
  }

  #home-visits .areas-tags{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
  }

  #home-visits .area-tag{
    border-radius:999px !important;
    padding:10px 12px !important;
    background:#faf1fb !important;
    border:1px solid var(--m-border) !important;
    box-shadow:none !important;
    font-weight:700 !important;
  }

  /* TESTIMONIALS */
  .testimonial-container{
    background:var(--m-surface) !important;
    border:1px solid var(--m-border) !important;
    border-radius:24px !important;
    box-shadow:var(--m-shadow) !important;
    padding:18px 14px !important;
  }

  .testimonial-content{
    padding:0 24px !important;
  }

  .testimonial-quote{
    color:var(--m-text) !important;
    font-size:1.08rem !important;
    line-height:1.65 !important;
  }

  /* GALLERY: static grid, no flicker */
  #gallery .gallery-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
  }

  #gallery .gallery-item{
    border-radius:18px !important;
    overflow:hidden !important;
    background:#fff !important;
    border:1px solid var(--m-border) !important;
    box-shadow:var(--m-shadow) !important;
    transform:none !important;
    filter:none !important;
    will-change:auto !important;
  }

  #gallery .gallery-item:hover,
  #gallery .gallery-item:hover img{
    transform:none !important;
    box-shadow:var(--m-shadow) !important;
  }

  #gallery .gallery-item img{
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    object-fit:cover !important;
    display:block !important;
    transform:none !important;
  }

  /* MORE INFO / FAQ / ABOUT / CONTACT / BOOKING */
  .other-services-content,
  .contact-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .faq-item,
  .about-content,
  .contact-card,
  .booking-form,
  .map-container{
    background:var(--m-surface) !important;
    border:1px solid var(--m-border) !important;
    border-radius:24px !important;
    box-shadow:var(--m-shadow) !important;
    overflow:hidden !important;
  }

  .faq-question{
    min-height:58px !important;
    padding:16px !important;
    font-size:1rem !important;
    font-weight:800 !important;
  }

  .faq-answer{
    padding:0 16px 16px !important;
    color:var(--m-muted) !important;
    line-height:1.65 !important;
  }

  .about-content,
  .booking-form,
  .map-container{
    padding:16px !important;
  }

  .contact-card{
    padding:16px !important;
  }

  .contact-card p,
  .contact-card a,
  .booking-form label{
    font-size:1rem !important;
  }

  .booking-form input,
  .booking-form select,
  .booking-form textarea{
    min-height:56px !important;
    background:#fff !important;
    border:1px solid #d7dbe2 !important;
    border-radius:16px !important;
    color:var(--m-text) !important;
    box-shadow:none !important;
  }

  .contact-photo-grid{
    gap:12px !important;
  }

  .contact-photo-item{
    border-radius:18px !important;
    overflow:hidden !important;
  }

  /* FOOTER */
  footer{
    background:transparent !important;
    padding-top:12px !important;
  }

  .footer-inner{
    background:var(--m-surface) !important;
    border:1px solid var(--m-border) !important;
    border-radius:26px !important;
    box-shadow:var(--m-shadow) !important;
    padding:18px 16px !important;
  }

  .footer-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .footer-bottom{
    margin-top:12px !important;
    padding-top:12px !important;
  }
}

/* extra-tight phones */
@media (max-width: 430px){
  .features-grid{
    grid-template-columns:1fr 1fr !important;
  }

  .hero h1.hero-tagline{
    font-size:2rem !important;
  }

  .section-heading,
  #welcome h2{
    font-size:1.7rem !important;
  }

  .service-header{
    grid-template-columns:1fr !important;
  }

  #home-visits .home-visits-mobile-info{
    grid-template-columns:1fr !important;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width: 768px){

  /* stop small-screen horizontal run-off */
  html, body{
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  *, *::before, *::after{
    box-sizing: border-box !important;
  }

  body > *{
    max-width: 100% !important;
  }

  img, svg, video, iframe{
    max-width: 100% !important;
    height: auto !important;
  }

  /* general overlap prevention on narrow phones */
  .section-container,
  .hero-content,
  .hero-banner,
  .footer-inner,
  .nav-container,
  .nav-links,
  .service-card,
  .feature-card,
  .faq-item,
  .about-content,
  .contact-card,
  .booking-form,
  .map-container,
  .testimonial-container,
  .welcome-content,
  .home-visits-image,
  .home-visits-content > .glass-panel,
  .home-visits-content > .glass-panel-strong {
      background: linear-gradient(135deg, rgba(255,255,255,0.66) 0%, rgba(255,255,255,0.36) 50%, rgba(255,255,255,0.58) 100%);
      backdrop-filter: blur(42px) saturate(220%);
      -webkit-backdrop-filter: blur(42px) saturate(220%);
      border: 1px solid rgba(255,255,255,0.84);
      border-radius: 24px;
      box-shadow:
        0 24px 64px rgba(31,38,135,0.16),
        0 8px 22px rgba(106,27,154,0.10),
        inset 0 1px 0 rgba(255,255,255,0.96),
        inset 0 -1px 0 rgba(255,255,255,0.28);
    }

  .service-header,
  .home-visits-mobile-info,
  .service-list-item,
  .footer-contact,
  .footer-bottom{
    grid-template-columns: 1fr !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  .service-price,
  .hv-price,
  .footer-bottom-badge{
    white-space: normal !important;
  }

  .service-header h4,
  .footer-column h4,
  .footer-brand h3,
  .hero h1.hero-tagline,
  .section-heading,
  #welcome h2{
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  /* prevent lingering overlap from image/price overlay patterns */
  .image-overlay-card,
  .service-card-overlay,
  .service-card-bg::before,
  .service-card-bg::after{
    display: none !important;
  }

  .home-visits-mobile-info,
  .service-duration,
  .service-features,
  .benefits-list,
  .areas-tags,
  .contact-photo-grid,
  .footer-socials{
    overflow: visible !important;
  }

  /* footer specific fix */
  footer{
    overflow: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .footer-inner{
    width: min(calc(100% - 20px), 560px) !important;
    max-width: calc(100% - 20px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 18px 14px !important;
  }

  .footer-top,
  .footer-grid{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .footer-brand,
  .footer-column,
  .footer-contact,
  .footer-bottom,
  .footer-divider{
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .footer-column ul{
    padding-left: 0 !important;
    margin-left: 0 !important;
  }

  .footer-column li{
    list-style: none !important;
    margin-left: 0 !important;
  }

  .footer-contact{
    display: grid !important;
    grid-template-columns: 40px 1fr !important;
    align-items: start !important;
    column-gap: 10px !important;
    row-gap: 4px !important;
  }

  .footer-contact > div:last-child,
  .footer-contact a,
  .footer-contact small,
  .footer-brand p,
  .footer-column a,
  .footer-column p{
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  .footer-socials{
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  .footer-social-btn{
    flex: 0 0 auto !important;
  }

  .footer-bottom{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* tighten any remaining narrow-screen spacing */
  #gallery .gallery-grid,
  .features-grid{
    gap: 10px !important;
  }

  #gallery .gallery-item,
  .feature-card,
  .service-card,
  .faq-item,
  .contact-card{
    border-radius: 18px !important;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width: 768px){
  :root{
    --m-bg-1:#fff6fb;
    --m-bg-2:#f7f3ff;
    --m-surface:#ffffff;
    --m-surface-soft:rgba(255,255,255,0.86);
    --m-text:#1f2937;
    --m-muted:#667085;
    --m-accent:#6a1b9a;
    --m-accent-2:#d81b60;
    --m-shadow:0 10px 30px rgba(31,41,55,0.06), 0 2px 6px rgba(31,41,55,0.04);
    --m-radius:22px;
  }

  html, body{
    overflow-x:hidden !important;
    background:linear-gradient(180deg,var(--m-bg-1) 0%, var(--m-bg-2) 48%, #ffffff 100%) !important;
  }

  body{
    color:var(--m-text);
    padding-bottom:98px !important;
  }

  nav, .mobile-overlay, #mobileOverlay, .nav-links, #navLinks, .mobile-menu-btn{
    display:none !important;
  }

  .hero{
    background:none !important;
    padding:22px 0 8px !important;
  }
  .hero::before{ display:none !important; }
  .hero-banner, .hero-content{
    width:min(calc(100% - 20px), 560px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .hero-banner{
    background:var(--m-surface) !important;
    border-radius:26px !important;
    padding:10px !important;
    box-shadow:var(--m-shadow) !important;
    border:1px solid rgba(106,27,154,0.08) !important;
    margin-bottom:16px !important;
  }
  .hero-content{
    background:var(--m-surface-soft) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius:26px !important;
    padding:22px !important;
    box-shadow:var(--m-shadow) !important;
    border:1px solid rgba(106,27,154,0.08) !important;
    text-align:left !important;
  }
  .hero h1.hero-tagline{
    font-size:2rem !important;
    line-height:1.05 !important;
    letter-spacing:-0.02em !important;
    margin-bottom:14px !important;
  }
  .hero h1.hero-tagline span{
    font-size:1.95rem !important;
  }
  .mobile-hero-trustline{
    margin:0 0 16px !important;
    color:var(--m-accent) !important;
    font-size:1rem !important;
    line-height:1.5 !important;
    font-weight:700 !important;
  }
  .hero-buttons{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
    margin-bottom:14px !important;
  }
  .hero-buttons a{
    min-height:56px !important;
    border-radius:16px !important;
    font-size:1rem !important;
    font-weight:700 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .hero-contact-bar{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
    padding:0 !important;
  }
  .hero-contact-item{
    min-height:56px !important;
    background:#fff !important;
    border-radius:18px !important;
    box-shadow:var(--m-shadow) !important;
    border:1px solid rgba(106,27,154,0.07) !important;
    padding:14px 16px !important;
  }

  .mobile-premium-stack{
    padding:8px 0 6px !important;
  }
  .mobile-premium-stack .section-container{
    width:min(calc(100% - 20px), 560px) !important;
    margin:0 auto !important;
  }
  .mobile-quick-links{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
    margin-bottom:22px !important;
  }
  .mobile-quick-card{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:68px !important;
    padding:14px !important;
    text-align:center !important;
    text-decoration:none !important;
    color:var(--m-text) !important;
    border-radius:20px !important;
    background:rgba(255,255,255,0.82) !important;
    box-shadow:var(--m-shadow) !important;
    border:1px solid rgba(106,27,154,0.07) !important;
    font-weight:700 !important;
  }
  .mobile-quick-card--primary{
    grid-column:1 / -1 !important;
    background:linear-gradient(135deg,var(--m-accent) 0%, var(--m-accent-2) 100%) !important;
    color:#fff !important;
  }

  .mobile-summary-card, .mobile-trust-card{
    display:block !important;
    background:rgba(255,255,255,0.88) !important;
    border-radius:22px !important;
    padding:22px !important;
    box-shadow:var(--m-shadow) !important;
    border:1px solid rgba(106,27,154,0.07) !important;
    margin-bottom:22px !important;
  }
  .mobile-summary-card__eyebrow{
    color:var(--m-accent) !important;
    font-weight:700 !important;
    margin-bottom:6px !important;
  }
  .mobile-summary-card h2, .mobile-trust-card h2, #home-visits .section-heading, #testimonials .section-heading, #about .section-heading, #contact .section-heading, #booking .section-heading{
    font-size:1.45rem !important;
    line-height:1.15 !important;
    margin:0 0 12px !important;
    text-align:left !important;
  }
  .mobile-summary-card p, .mobile-trust-card p, #home-visits p, #about p, #contact p, #booking p{
    font-size:1rem !important;
    line-height:1.65 !important;
    color:var(--m-muted) !important;
  }
  .mobile-summary-meta{
    display:flex !important;
    gap:10px !important;
    flex-wrap:wrap !important;
    margin:16px 0 10px !important;
  }
  .mobile-summary-meta span{
    display:inline-flex !important;
    align-items:center !important;
    min-height:42px !important;
    padding:10px 14px !important;
    border-radius:999px !important;
    background:#faf6ff !important;
    color:var(--m-accent) !important;
    font-weight:700 !important;
  }
  .mobile-summary-note{
    margin-bottom:16px !important;
  }
  .mobile-card-cta{
    display:flex !important;
    width:100% !important;
    min-height:56px !important;
    border-radius:16px !important;
    align-items:center !important;
    justify-content:center !important;
    text-decoration:none !important;
  }
  .mobile-trust-list{
    display:grid !important;
    gap:10px !important;
    list-style:none !important;
    padding:0 !important;
    margin:0 !important;
  }
  .mobile-trust-list li{
    background:#fff !important;
    border-radius:16px !important;
    padding:14px 16px !important;
    box-shadow:0 6px 18px rgba(31,41,55,0.04) !important;
    border:1px solid rgba(106,27,154,0.06) !important;
    font-weight:600 !important;
    color:var(--m-text) !important;
  }
  .mobile-trust-list li::before{
    content:"✓";
    color:var(--m-accent-2);
    font-weight:800;
    margin-right:10px;
  }

  /* Hide old dense sections on mobile that conflict with the simplified flow */
  #welcome, #services{
    display:none !important;
  }

  /* Restyle remaining sections as premium cards */
  #home-visits, #testimonials, #more-info, #about, #contact, #booking{
    padding:0 0 22px !important;
  }
  #home-visits .section-container,
  #testimonials .section-container,
  #more-info .section-container,
  #about .section-container,
  #contact .section-container,
  #booking .section-container,
  footer .footer-inner{
    width:min(calc(100% - 20px), 560px) !important;
    margin:0 auto !important;
  }
  #home-visits .home-visits-grid,
  #about .about-grid,
  #contact .contact-grid,
  #more-info .other-services-content{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  #home-visits .glass-panel-strong,
  #home-visits .glass-panel,
  #testimonials .testimonial-container,
  #more-info .faq-item,
  #about .about-content,
  #about .about-image,
  #contact .contact-card,
  #booking .booking-form,
  #booking .map-container,
  footer .footer-inner{
    background:rgba(255,255,255,0.88) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius:22px !important;
    box-shadow:var(--m-shadow) !important;
    border:1px solid rgba(106,27,154,0.07) !important;
    overflow:hidden !important;
  }
  #home-visits .image-overlay-card, #home-visits .home-visits-mobile-summary{
    display:none !important;
  }
  #home-visits .home-visits-mobile-info{
    background:transparent !important;
    border-top:none !important;
    padding:16px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  #home-visits .benefits-list, #home-visits .service-list{
    display:grid !important;
    gap:10px !important;
  }
  #home-visits .benefit-item, #home-visits .service-list-item{
    background:#fff !important;
    border-radius:16px !important;
    padding:14px 16px !important;
    border:1px solid rgba(106,27,154,0.06) !important;
  }

  #testimonials .testimonial-container{
    padding:22px 16px !important;
  }
  #testimonials .testimonial-quote{
    font-size:1.05rem !important;
    line-height:1.7 !important;
  }
  #testimonials .testimonial-nav{
    background:#fff !important;
    border:1px solid rgba(106,27,154,0.08) !important;
    box-shadow:var(--m-shadow) !important;
  }

  #gallery{
    display:none !important;
  }

  #more-info .section-heading::after{
    content:"What To Expect";
    display:none;
  }
  #more-info .section-heading{
    font-size:1.45rem !important;
  }
  #more-info .faq-question{
    min-height:58px !important;
    padding:16px !important;
    font-size:1rem !important;
  }
  #more-info .faq-answer{
    padding:0 16px 16px !important;
  }

  #about .about-image{
    order:-1 !important;
  }
  #contact .contact-photo-grid{
    display:none !important;
  }

  footer{
    padding:0 0 22px !important;
    background:transparent !important;
  }

  .mobile-sticky-booking{
    position:fixed !important;
    left:12px !important;
    right:12px !important;
    bottom:max(12px, env(safe-area-inset-bottom)) !important;
    z-index:1000 !important;
    min-height:58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-decoration:none !important;
    border-radius:18px !important;
    background:linear-gradient(135deg,var(--m-accent) 0%, var(--m-accent-2) 100%) !important;
    color:#fff !important;
    font-size:1.02rem !important;
    font-weight:800 !important;
    box-shadow:0 18px 40px rgba(106,27,154,0.22) !important;
  }
}

@media (min-width: 769px){
  .mobile-premium-stack, .mobile-sticky-booking, .mobile-hero-trustline{
    display:none !important;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width: 768px){
  .hero h1,
  .hero-title,
  .mobile-hero-card h1,
  .premium-mobile-hero h1{
    font-size: 2rem !important;
    line-height: 1.12 !important;
    letter-spacing: -0.01em !important;
    text-align: center !important;
    margin-bottom: 0.75rem !important;
    padding-left: 0.1rem !important;
    padding-right: 0.1rem !important;
    text-wrap: balance;
  }

  .hero p,
  .hero-subtitle,
  .premium-mobile-hero p{
    text-align: center !important;
  }

  .hero-buttons,
  .mobile-hero-actions,
  .premium-mobile-actions{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.75rem !important;
    align-items: stretch !important;
  }

  .hero-buttons a,
  .mobile-hero-actions a,
  .premium-mobile-actions a,
  .hero .btn{
    min-width: 0 !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 0.85rem 0.8rem !important;
    font-size: 0.98rem !important;
    white-space: nowrap !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

@media (max-width: 390px){
  .hero h1,
  .hero-title,
  .mobile-hero-card h1,
  .premium-mobile-hero h1{
    font-size: 1.8rem !important;
  }

  .hero-buttons a,
  .mobile-hero-actions a,
  .premium-mobile-actions a,
  .hero .btn{
    font-size: 0.94rem !important;
    padding-left: 0.65rem !important;
    padding-right: 0.65rem !important;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width:768px){

.nav-cards,
.quick-nav,
.mobile-nav-cards,
.mobile-card-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
}

.nav-card,
.mobile-nav-card,
.nav-book{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:64px !important;
  border-radius:18px !important;
  text-align:center !important;
}

}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width: 768px){
  /* Ear Wax Removal card polish */
  .service-card,
  .ear-wax-card,
  .premium-service-card{
    padding: 22px !important;
    border-radius: 24px !important;
  }

  .service-card h2,
  .service-card h3,
  .service-card .service-title,
  .ear-wax-card h2,
  .ear-wax-card h3{
    margin-bottom: 12px !important;
    line-height: 1.08 !important;
  }

  .service-card p,
  .service-card .service-description,
  .ear-wax-card p{
    margin-bottom: 18px !important;
    line-height: 1.55 !important;
  }

  .service-meta,
  .service-pills,
  .service-highlights,
  .service-card .pill-row{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    align-items: stretch !important;
    margin-bottom: 18px !important;
  }

  .service-meta > *,
  .service-pills > *,
  .service-highlights > *,
  .service-card .pill-row > *{
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 18px !important;
    padding: 12px 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
  }

  .service-price,
  .price-pill,
  .price-badge{
    font-size: 1.25rem !important;
    font-weight: 900 !important;
  }

  .service-duration,
  .duration-pill,
  .time-pill{
    font-size: 1rem !important;
    font-weight: 800 !important;
  }

  .service-card .btn,
  .service-card a.btn,
  .service-card .book-now-btn{
    min-height: 56px !important;
    border-radius: 18px !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





/* Desktop hero button fix */
.hero-buttons .btn-primary,
.hero-buttons .btn-outline,
.hero-buttons a{
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.hero-buttons .btn-primary span,
.hero-buttons .btn-outline span,
.hero-buttons a span{
  text-decoration: none !important;
  line-height: 1 !important;
}

@media (min-width: 769px){
  .hero-buttons .btn-primary,
  .hero-buttons .btn-outline{
    min-height: 72px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





.hero-buttons a,
.hero-buttons .btn,
.hero-buttons .btn-primary,
.hero-buttons .btn-outline{
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font: inherit !important;
  line-height: 1 !important;
}

.hero-buttons .btn-primary,
.hero-buttons .btn-outline{
  font-size: 1rem !important;
  font-weight: 700 !important;
  min-height: 56px !important;
}

.hero-buttons .btn-primary span,
.hero-buttons .btn-outline span{
  font: inherit !important;
  line-height: 1 !important;
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





.hero-buttons{
  display:flex !important;
  gap:24px !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
}

.hero-buttons .btn-primary,
.hero-buttons .btn-outline,
.hero-buttons a{
  text-decoration:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  font-family:inherit !important;
  font-size:1rem !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  min-height:56px !important;
  padding:0 28px !important;
  white-space:nowrap !important;
}

@media (min-width: 769px){
  .hero-buttons .btn-primary{
    min-width:240px !important;
  }
  .hero-buttons .btn-outline{
    min-width:240px !important;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width: 768px){
  /* Mobile-only premium review card */
  .testimonial-container{
    padding: 1.25rem !important;
    border-radius: 24px !important;
  }

  .testimonial-content{
    padding: 0 !important;
  }

  .testimonial-nav,
  .testimonial-dots{
    display: none !important;
  }

  .testimonial-quote{
    font-size: 1.15rem !important;
    line-height: 1.6 !important;
    margin-bottom: 1rem !important;
  }

  .testimonial-author{
    display: inline-block !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #1f2937 !important;
    margin-right: 0.5rem !important;
  }

  .testimonial-date{
    display: inline-block !important;
    font-size: 0.9rem !important;
    color: #6b7280 !important;
  }

  .mobile-google-review-label{
    display: block;
    margin-bottom: 0.9rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: #6a1b9a;
  }

  .testimonial-container.swipe-enabled{
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width: 768px){
  .testimonial-container{
    min-height: 360px !important;
    display: flex !important;
    align-items: stretch !important;
  }

  .testimonial-content{
    min-height: 100% !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: 0 !important;
  }

  .mobile-google-review-label{
    flex: 0 0 auto !important;
  }

  .testimonial-quote,
  #testimonial-text{
    min-height: 155px !important;
    max-height: 155px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 6 !important;
    -webkit-box-orient: vertical !important;
    line-clamp: 6 !important;
    text-overflow: ellipsis !important;
    margin-bottom: 1rem !important;
  }

  .testimonial-author-wrap,
  .testimonial-meta,
  .testimonial-footer{
    margin-top: auto !important;
  }

  .testimonial-author,
  #testimonial-author{
    display: inline-block !important;
    min-height: 24px !important;
  }

  .testimonial-date,
  #testimonial-date{
    display: inline-block !important;
    min-height: 20px !important;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width: 768px){
  .testimonial-container{
    min-height: 332px !important;
  }

  .testimonial-quote,
  #testimonial-text{
    min-height: 128px !important;
    max-height: 128px !important;
    -webkit-line-clamp: 5 !important;
    line-clamp: 5 !important;
    font-size: 1.08rem !important;
    line-height: 1.55 !important;
  }

  .testimonial-author,
  #testimonial-author{
    font-size: 0.98rem !important;
  }

  .testimonial-date,
  #testimonial-date{
    font-size: 0.86rem !important;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width: 768px){
  .testimonial-container{
    min-height: 430px !important;
    display: flex !important;
    align-items: stretch !important;
    padding: 1.5rem 1.25rem !important;
  }

  .testimonial-content{
    min-height: 100% !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: 0 !important;
  }

  .testimonial-quote,
  #testimonial-text{
    min-height: 220px !important;
    max-height: 220px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 8 !important;
    -webkit-box-orient: vertical !important;
    line-clamp: 8 !important;
    text-overflow: ellipsis !important;
    font-size: 1.08rem !important;
    line-height: 1.55 !important;
    margin-bottom: 1.1rem !important;
  }

  .testimonial-author,
  #testimonial-author{
    display: inline-block !important;
    min-height: 24px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
  }

  .testimonial-date,
  #testimonial-date{
    display: inline-block !important;
    min-height: 20px !important;
    font-size: 0.9rem !important;
  }

  .testimonial-nav,
  .testimonial-dots{
    display: none !important;
  }

  .mobile-google-review-label{
    display: block;
    margin-bottom: 0.9rem;
    font-size: 0.95rem;
    font-weight: 700;
    color: #6a1b9a;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width: 768px){
  /* Fix the FAQ heading/subheading overlap on mobile */
  #more-info .section-heading{
    text-align: center !important;
    margin-bottom: 1rem !important;
    line-height: 1.1 !important;
    position: relative !important;
    z-index: 2 !important;
  }

  #more-info > .section-container > p,
  #more-info .section-subheading{
    margin: 0 auto 2rem !important;
    max-width: 640px !important;
    text-align: center !important;
    line-height: 1.5 !important;
    position: relative !important;
    z-index: 1 !important;
  }

  #more-info .faq-grid{
    margin-top: 0.5rem !important;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width: 768px){
  section + section::before{
    content: "";
    display: block;
    width: min(86%, 420px);
    height: 1px;
    margin: 0 auto 1.4rem;
    background: linear-gradient(
      90deg,
      rgba(106,27,154,0) 0%,
      rgba(106,27,154,0.10) 20%,
      rgba(216,27,96,0.18) 50%,
      rgba(106,27,154,0.10) 80%,
      rgba(106,27,154,0) 100%
    );
    box-shadow: 0 0 18px rgba(216,27,96,0.08);
    border-radius: 999px;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width: 768px){
  #contact .section-heading{
    text-align: center !important;
    margin-bottom: 1rem !important;
    line-height: 1.1 !important;
    position: relative !important;
    z-index: 2 !important;
  }

  #contact > .section-container > p,
  #contact .section-subheading{
    margin: 0 auto 2rem !important;
    max-width: 640px !important;
    text-align: center !important;
    line-height: 1.5 !important;
    position: relative !important;
    z-index: 1 !important;
  }

  #contact .contact-grid{
    margin-top: 0.5rem !important;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width: 768px){
  #booking .section-heading{
    text-align: center !important;
    margin-bottom: 1rem !important;
    line-height: 1.1 !important;
    position: relative !important;
    z-index: 2 !important;
  }

  #booking > .section-container > p,
  #booking .section-subheading{
    margin: 0 auto 2rem !important;
    max-width: 640px !important;
    text-align: center !important;
    line-height: 1.5 !important;
    position: relative !important;
    z-index: 1 !important;
  }

  #booking .booking-form{
    margin-top: 0.5rem !important;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





.hero-local-seo{
  max-width: 760px;
  margin: 0.9rem auto 1.35rem;
  text-align: center;
  color: #6b647a;
  font-size: 1.04rem;
  line-height: 1.75;
  font-weight: 500;
}
.clinic-trust-strip{
  padding: 0 20px 1.5rem;
}
.clinic-trust-strip__inner{
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
}
.clinic-trust-pill{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0.55rem;
  padding:0.95rem 1rem;
  border-radius:18px;
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(250,246,252,0.92));
  border: 1px solid rgba(216,188,232,0.4);
  box-shadow: 0 12px 28px rgba(106,27,154,0.08), inset 0 1px 0 rgba(255,255,255,0.85);
  color:#514962;
  font-weight:600;
  font-size:0.95rem;
  text-align:center;
}
.clinic-trust-pill svg{ flex-shrink:0; }
.expect-section{ margin-top: 3.25rem; }
.expect-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 2rem;
}
.expect-card{
  padding: 1.4rem;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,0.97), rgba(252,247,253,0.92));
  border: 1px solid rgba(216,188,232,0.38);
  box-shadow: 0 16px 38px rgba(106,27,154,0.09);
}
.expect-card-num{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom: 1rem;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, #8e24aa, #d81b60);
  box-shadow: 0 10px 18px rgba(216,27,96,0.22);
}
.expect-card h3{
  margin:0 0 0.65rem;
  color:#6a1b9a;
  font-size:1.1rem;
}
.expect-card p{
  margin:0;
  color:#5f6474;
  line-height:1.7;
}
.areas-covered-section{ margin-top: 2.5rem; }
.areas-chip-list{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:0.75rem;
  padding:0;
  margin:1.35rem 0 1rem;
}
.areas-chip-list li{
  padding:0.7rem 1rem;
  border-radius:999px;
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,243,250,0.92));
  border:1px solid rgba(216,188,232,0.4);
  box-shadow: 0 10px 22px rgba(106,27,154,0.07);
  color:#514962;
  font-weight:600;
}
@media (max-width: 992px){
  .clinic-trust-strip__inner, .expect-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px){
  .hero-local-seo{
    font-size: 0.98rem;
    line-height: 1.65;
    margin: 0.7rem auto 1.1rem;
    max-width: 28rem;
  }
  .clinic-trust-strip{ padding: 0 16px 1.1rem; }
  .clinic-trust-strip__inner, .expect-grid{ grid-template-columns: 1fr; }
  .clinic-trust-pill{
    justify-content:flex-start;
    text-align:left;
  }
}

/* Phone number polish */
.clinic-phone {
  font-weight: 600;
}

@media (max-width: 768px) {
  .clinic-phone {
    font-weight: 700;
  }
}


/* Card alignment across clinic sections */
.clinic-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  .clinic-cards {
    grid-template-columns: 1fr;
  }
}


/* Section divider */
.section-divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #e5e5e5, transparent);
  margin: 60px 0;
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





@media (max-width:768px){
  .mobile-summary-card,
  .mobile-trust-card,
  #services{
    display:none !important;
  }

  .mobile-services-showcase{
    display:block !important;
    margin: 0 0 22px !important;
  }

  .mobile-service-group{
    margin: 0 0 26px !important;
  }

  .mobile-service-group-title{
    font-family:'Playfair Display', serif !important;
    font-size: 1.9rem !important;
    line-height:1.08 !important;
    color:#6a1b9a !important;
    margin: 0 0 14px !important;
    text-align:left !important;
  }

  .mobile-service-group-subtitle{
    font-size:0.98rem !important;
    line-height:1.55 !important;
    color:#6b7280 !important;
    margin:0 0 16px !important;
    text-align:left !important;
  }

  .mobile-service-stack{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .mobile-service-showcase .service-card{
    display:block !important;
    padding:18px !important;
    border-radius:24px !important;
    background:rgba(255,255,255,0.92) !important;
    border:1px solid rgba(106,27,154,0.12) !important;
    box-shadow:0 8px 26px rgba(106,27,154,0.12) !important;
    margin:0 !important;
  }

  .mobile-service-showcase .service-card-media,
  .mobile-service-showcase .service-card > div[style*="height:160px"]{
    height:220px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    margin:-2px -2px 16px !important;
  }

  .mobile-service-showcase .service-card-media img,
  .mobile-service-showcase .service-card > div[style*="height:160px"] img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
  }

  .mobile-service-showcase .service-header{
    display:block !important;
    margin:0 0 10px !important;
  }

  .mobile-service-showcase .service-header h4{
    font-size:1.25rem !important;
    line-height:1.2 !important;
    color:#4d3369 !important;
    margin:0 !important;
  }

  .mobile-service-showcase .service-card p{
    font-size:1rem !important;
    line-height:1.65 !important;
    color:#5f6276 !important;
    margin:0 0 14px !important;
  }

  .mobile-service-showcase .service-features{
    margin:0 !important;
    padding:0 !important;
  }

  .mobile-service-showcase .service-features li{
    font-size:0.98rem !important;
    line-height:1.5 !important;
    margin-bottom:8px !important;
  }

  .mobile-service-showcase .badge.popular{
    top:14px !important;
    left:14px !important;
    z-index:2 !important;
  }
}

@media (min-width:769px){
  .mobile-services-showcase{
    display:none !important;
  }
}



@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}





/* MOBILE LED GLOW EFFECT */
@media (max-width: 768px) {

    .card, .button, .quick-link, .glass-card {
      background: linear-gradient(145deg, rgba(255,255,255,0.60) 0%, rgba(255,255,255,0.30) 100%);
      backdrop-filter: blur(28px) saturate(190%);
      -webkit-backdrop-filter: blur(28px) saturate(190%);
      border: 1px solid rgba(255,255,255,0.82);
      border-radius: 20px;
      box-shadow:
        0 16px 44px rgba(31,38,135,0.14),
        0 6px 18px rgba(106,27,154,0.08),
        inset 0 1px 0 rgba(255,255,255,0.94),
        inset 0 -1px 0 rgba(255,255,255,0.22);
      transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    }

    .card::after, .button::after, .quick-link::after, .glass-card::after {
        content: "";
        position: absolute;
        inset: -6px;
        border-radius: 20px;
        background: radial-gradient(
            circle at center,
            rgba(255, 120, 160, 0.25),
            rgba(120, 180, 255, 0.15),
            transparent 70%
        );
        filter: blur(18px);
        z-index: -1;
        opacity: 0.7;
        transition: opacity 0.3s ease;
    }

    .card:active::after,
    .button:active::after,
    .quick-link:active::after,
    .glass-card:active::after {
        opacity: 1;
    }
}





@media (max-width: 768px) {

  html, body {
    background:
      radial-gradient(circle at 12% 8%, rgba(255, 247, 220, 0.70) 0%, rgba(255, 247, 220, 0.18) 26%, transparent 52%),
      radial-gradient(circle at 88% 22%, rgba(255, 231, 170, 0.38) 0%, rgba(255, 231, 170, 0.10) 24%, transparent 50%),
      radial-gradient(circle at 50% 78%, rgba(255, 250, 240, 0.92) 0%, rgba(255, 250, 240, 0.80) 32%, rgba(247, 241, 234, 0.72) 60%, rgba(244, 239, 235, 0.68) 100%),
      linear-gradient(180deg, #fffdf8 0%, #fbf7f1 38%, #f8f4ee 70%, #fcfaf6 100%) !important;
    background-attachment: fixed !important;
  }

  body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background:
      linear-gradient(135deg, rgba(255,255,255,0.28), rgba(255,255,255,0.04) 45%, rgba(255,221,153,0.08) 100%);
    opacity: 0.9;
  }

  /* Stronger visible section separation */
  section:not(.hero),
  .mobile-premium-stack,
  .clinic-trust-strip {
    position: relative;
    isolation: isolate;
    margin-top: 18px !important;
    margin-bottom: 18px !important;
    border-top: 1px solid rgba(255,255,255,0.55);
    border-bottom: 1px solid rgba(212, 187, 125, 0.14);
  }

  section:not(.hero)::before,
  .mobile-premium-stack::before,
  .clinic-trust-strip::before {
    content: "";
    position: absolute;
    inset: 10px 10px;
    border-radius: 28px;
    pointer-events: none;
    z-index: -1;
    background: linear-gradient(180deg,
      rgba(255,255,255,0.22) 0%,
      rgba(255,250,242,0.18) 55%,
      rgba(250, 236, 202, 0.16) 100%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.42),
      0 22px 34px rgba(186, 167, 132, 0.06);
    opacity: 1;
  }

  section:nth-of-type(even):not(.hero)::before {
    background: linear-gradient(180deg,
      rgba(255,255,255,0.18) 0%,
      rgba(251, 244, 230, 0.16) 50%,
      rgba(246, 227, 184, 0.14) 100%);
  }

  .section-divider {
    height: 2px !important;
    background: linear-gradient(to right,
      transparent 0%,
      rgba(214, 191, 133, 0.18) 18%,
      rgba(255,255,255,0.72) 50%,
      rgba(214, 191, 133, 0.18) 82%,
      transparent 100%) !important;
    box-shadow: 0 8px 18px rgba(201, 175, 111, 0.08);
    margin: 28px 0 !important;
  }

  /* Glass surfaces: slightly warmer so the white/gold base shows through */
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card,
  .nav-card,
  .mobile-nav-card,
  .nav-book,
  .nav-links a,
  .btn,
  .btn-primary,
  .btn-outline,
  button,
  a.btn {
    background:
      linear-gradient(180deg,
        rgba(255,255,255,0.56) 0%,
        rgba(255,252,245,0.44) 54%,
        rgba(248, 239, 220, 0.34) 100%) !important;
    border: 1px solid rgba(255,255,255,0.54) !important;
    box-shadow:
      0 14px 28px rgba(173, 154, 120, 0.12),
      0 5px 10px rgba(255,255,255,0.46),
      inset 1px 1px 0 rgba(255,255,255,0.62),
      inset -1px -1px 0 rgba(214, 190, 148, 0.14) !important;
    backdrop-filter: blur(18px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(135%) !important;
  }

  /* Subtle hover/tap animation across cards + buttons */
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card,
  .nav-card,
  .mobile-nav-card,
  .nav-book,
  .nav-links a,
  .btn,
  .btn-primary,
  .btn-outline,
  button,
  a.btn {
    transition:
      transform 0.28s ease,
      box-shadow 0.28s ease,
      background 0.28s ease,
      border-color 0.28s ease,
      filter 0.28s ease !important;
    transform: translateY(0) scale(1);
    will-change: transform, box-shadow;
  }

  .glass-card:hover,
  .glass-panel:hover,
  .glass-panel-strong:hover,
  .feature-card:hover,
  .service-card:hover,
  .credential-card:hover,
  .contact-card:hover,
  .booking-direct-card:hover,
  .mobile-summary-card:hover,
  .mobile-trust-card:hover,
  .info-card:hover,
  .follow-us-card:hover,
  .image-overlay-card:hover,
  .nav-card:hover,
  .mobile-nav-card:hover,
  .nav-book:hover,
  .nav-links a:hover,
  .btn:hover,
  .btn-primary:hover,
  .btn-outline:hover,
  button:hover,
  a.btn:hover,
  .glass-card:focus-visible,
  .glass-panel:focus-visible,
  .glass-panel-strong:focus-visible,
  .feature-card:focus-visible,
  .service-card:focus-visible,
  .credential-card:focus-visible,
  .contact-card:focus-visible,
  .booking-direct-card:focus-visible,
  .mobile-summary-card:focus-visible,
  .mobile-trust-card:focus-visible,
  .info-card:focus-visible,
  .follow-us-card:focus-visible,
  .image-overlay-card:focus-visible,
  .nav-card:focus-visible,
  .mobile-nav-card:focus-visible,
  .nav-book:focus-visible,
  .nav-links a:focus-visible,
  .btn:focus-visible,
  .btn-primary:focus-visible,
  .btn-outline:focus-visible,
  button:focus-visible,
  a.btn:focus-visible {
    transform: translateY(-4px) scale(1.012);
    box-shadow:
      0 18px 36px rgba(173, 154, 120, 0.16),
      0 10px 22px rgba(255, 223, 152, 0.10),
      0 4px 10px rgba(255,255,255,0.52),
      inset 1px 1px 0 rgba(255,255,255,0.70),
      inset -1px -1px 0 rgba(214, 190, 148, 0.18) !important;
    filter: saturate(1.03) brightness(1.01);
  }

  .glass-card:active,
  .glass-panel:active,
  .glass-panel-strong:active,
  .feature-card:active,
  .service-card:active,
  .credential-card:active,
  .contact-card:active,
  .booking-direct-card:active,
  .mobile-summary-card:active,
  .mobile-trust-card:active,
  .info-card:active,
  .follow-us-card:active,
  .image-overlay-card:active,
  .nav-card:active,
  .mobile-nav-card:active,
  .nav-book:active,
  .nav-links a:active,
  .btn:active,
  .btn-primary:active,
  .btn-outline:active,
  button:active,
  a.btn:active {
    transform: translateY(-1px) scale(0.995);
  }

  /* Stronger LED underglow but still tasteful */
  .glass-card::after,
  .glass-panel::after,
  .glass-panel-strong::after,
  .feature-card::after,
  .service-card::after,
  .credential-card::after,
  .contact-card::after,
  .booking-direct-card::after,
  .mobile-summary-card::after,
  .mobile-trust-card::after,
  .info-card::after,
  .follow-us-card::after,
  .image-overlay-card::after,
  .nav-card::after,
  .mobile-nav-card::after,
  .nav-book::after,
  .nav-links a::after,
  .btn::after,
  .btn-primary::after,
  .btn-outline::after,
  button::after,
  a.btn::after {
    opacity: 0.82 !important;
    background:
      radial-gradient(circle at 50% 102%,
        rgba(255, 215, 120, 0.22) 0%,
        rgba(255, 231, 172, 0.14) 26%,
        rgba(255,255,255,0.08) 44%,
        transparent 70%) !important;
    filter: blur(18px) !important;
  }
}




@media (max-width: 768px) {

  /* REMOVE radial white dots / highlights */
  .glass-card::before,
  .glass-panel::before,
  .glass-panel-strong::before,
  .feature-card::before,
  .service-card::before,
  .credential-card::before,
  .contact-card::before,
  .booking-direct-card::before,
  .mobile-summary-card::before,
  .mobile-trust-card::before,
  .info-card::before,
  .follow-us-card::before,
  .image-overlay-card::before {
    content: none !important;
    display: none !important;
  }

  /* Replace with soft top light gradient */
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card {
    position: relative;
    border-radius: 28px !important;
    overflow: hidden;
  }

  .glass-card::before,
  .glass-panel::before,
  .glass-panel-strong::before,
  .feature-card::before,
  .service-card::before,
  .credential-card::before,
  .contact-card::before,
  .booking-direct-card::before,
  .mobile-summary-card::before,
  .mobile-trust-card::before,
  .info-card::before,
  .follow-us-card::before,
  .image-overlay-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 40%;
    border-radius: inherit;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.35) 0%,
      rgba(255,255,255,0.12) 40%,
      transparent 100%
    );
    pointer-events: none;
  }

  /* SOFTEN ALL EDGES */
  img,
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card,
  .nav-card,
  .mobile-nav-card,
  .btn,
  button {
    border-radius: 28px !important;
  }

  /* extra smoothing for images */
  img {
    border-radius: 24px !important;
    filter: contrast(1.02) saturate(1.02);
  }

  /* soften shadows for smoother flow */
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card {
    box-shadow:
      0 18px 40px rgba(40, 10, 80, 0.10),
      0 6px 16px rgba(255, 215, 120, 0.08),
      inset 1px 1px 0 rgba(255,255,255,0.6),
      inset -1px -1px 0 rgba(255,255,255,0.08) !important;
  }

}




@media (max-width: 768px) {

  /* stronger layered depth across the mobile site */
  body {
    perspective: 1200px;
  }

  /* section depth planes */
  section,
  .mobile-premium-stack,
  .clinic-trust-strip,
  .faq-section,
  .reviews-section,
  .contact-section,
  .booking-section {
    position: relative;
    isolation: isolate;
  }

  section::after,
  .mobile-premium-stack::after,
  .clinic-trust-strip::after,
  .faq-section::after,
  .reviews-section::after,
  .contact-section::after,
  .booking-section::after {
    content: "";
    position: absolute;
    inset: 8px 10px -6px 10px;
    border-radius: 34px;
    pointer-events: none;
    z-index: -2;
    background:
      linear-gradient(180deg,
        rgba(255,255,255,0.10) 0%,
        rgba(126, 73, 205, 0.04) 46%,
        rgba(255, 215, 140, 0.05) 100%);
    filter: blur(20px);
    opacity: 0.9;
    transform: translateY(8px) scale(0.985);
  }

  /* floating cards/buttons */
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card,
  .nav-card,
  .mobile-nav-card,
  .nav-book,
  .nav-links a,
  .btn,
  .btn-primary,
  .btn-outline,
  button,
  a.btn {
    position: relative;
    transform-style: preserve-3d;
    transform: translateY(0) translateZ(0);
    border-radius: 30px !important;
    overflow: hidden;
    box-shadow:
      0 28px 48px rgba(42, 14, 86, 0.12),
      0 14px 30px rgba(124, 72, 210, 0.08),
      0 8px 18px rgba(255, 215, 135, 0.08),
      0 2px 3px rgba(255,255,255,0.35),
      inset 0 1px 0 rgba(255,255,255,0.68),
      inset 0 -1px 0 rgba(122, 74, 186, 0.06) !important;
    transition:
      transform 0.42s cubic-bezier(.2,.8,.2,1),
      box-shadow 0.42s cubic-bezier(.2,.8,.2,1),
      filter 0.42s cubic-bezier(.2,.8,.2,1),
      background 0.35s ease !important;
    will-change: transform, box-shadow, filter;
  }

  /* soft underside plane to make content feel suspended */
  .glass-card::after,
  .glass-panel::after,
  .glass-panel-strong::after,
  .feature-card::after,
  .service-card::after,
  .credential-card::after,
  .contact-card::after,
  .booking-direct-card::after,
  .mobile-summary-card::after,
  .mobile-trust-card::after,
  .info-card::after,
  .follow-us-card::after,
  .image-overlay-card::after,
  .nav-card::after,
  .mobile-nav-card::after,
  .nav-book::after,
  .nav-links a::after,
  .btn::after,
  .btn-primary::after,
  .btn-outline::after,
  button::after,
  a.btn::after {
    content: "";
    position: absolute;
    left: 4%;
    right: 4%;
    bottom: -12px;
    height: 30px;
    border-radius: 999px;
    z-index: -1;
    pointer-events: none;
    background:
      radial-gradient(ellipse at center,
        rgba(56, 20, 108, 0.16) 0%,
        rgba(120, 72, 210, 0.10) 32%,
        rgba(255, 215, 140, 0.08) 54%,
        rgba(255,255,255,0.05) 70%,
        transparent 100%) !important;
    filter: blur(14px) !important;
    opacity: 0.95 !important;
    transform: translateY(0) scaleX(0.94);
    transition:
      transform 0.42s cubic-bezier(.2,.8,.2,1),
      opacity 0.35s ease,
      filter 0.35s ease !important;
  }

  /* subtle moving light pass across surfaces */
  .glass-card::before,
  .glass-panel::before,
  .glass-panel-strong::before,
  .feature-card::before,
  .service-card::before,
  .credential-card::before,
  .contact-card::before,
  .booking-direct-card::before,
  .mobile-summary-card::before,
  .mobile-trust-card::before,
  .info-card::before,
  .follow-us-card::before,
  .image-overlay-card::before,
  .nav-card::before,
  .mobile-nav-card::before,
  .nav-book::before,
  .nav-links a::before,
  .btn::before,
  .btn-primary::before,
  .btn-outline::before,
  button::before,
  a.btn::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(120deg,
        rgba(255,255,255,0.00) 0%,
        rgba(255,255,255,0.00) 20%,
        rgba(255,255,255,0.18) 34%,
        rgba(255,255,255,0.10) 42%,
        rgba(255, 222, 164, 0.08) 52%,
        rgba(133, 84, 215, 0.05) 60%,
        rgba(255,255,255,0.00) 74%);
    opacity: 0.72;
    mix-blend-mode: screen;
    transform: translateX(-18%) translateY(-1%) skewX(-10deg);
    transition: transform 0.6s cubic-bezier(.2,.8,.2,1), opacity 0.35s ease;
  }

  /* images also float smoothly */
  img,
  .service-card img,
  .feature-card img,
  .image-overlay-card img {
    border-radius: 28px !important;
    box-shadow:
      0 20px 34px rgba(40, 10, 80, 0.10),
      0 8px 16px rgba(255, 215, 135, 0.06) !important;
    transition:
      transform 0.42s cubic-bezier(.2,.8,.2,1),
      box-shadow 0.42s cubic-bezier(.2,.8,.2,1),
      filter 0.42s cubic-bezier(.2,.8,.2,1) !important;
  }

  /* hover / focus / tap: more depth and light shift */
  .glass-card:hover,
  .glass-panel:hover,
  .glass-panel-strong:hover,
  .feature-card:hover,
  .service-card:hover,
  .credential-card:hover,
  .contact-card:hover,
  .booking-direct-card:hover,
  .mobile-summary-card:hover,
  .mobile-trust-card:hover,
  .info-card:hover,
  .follow-us-card:hover,
  .image-overlay-card:hover,
  .nav-card:hover,
  .mobile-nav-card:hover,
  .nav-book:hover,
  .nav-links a:hover,
  .btn:hover,
  .btn-primary:hover,
  .btn-outline:hover,
  button:hover,
  a.btn:hover,
  .glass-card:focus-visible,
  .glass-panel:focus-visible,
  .glass-panel-strong:focus-visible,
  .feature-card:focus-visible,
  .service-card:focus-visible,
  .credential-card:focus-visible,
  .contact-card:focus-visible,
  .booking-direct-card:focus-visible,
  .mobile-summary-card:focus-visible,
  .mobile-trust-card:focus-visible,
  .info-card:focus-visible,
  .follow-us-card:focus-visible,
  .image-overlay-card:focus-visible,
  .nav-card:focus-visible,
  .mobile-nav-card:focus-visible,
  .nav-book:focus-visible,
  .nav-links a:focus-visible,
  .btn:focus-visible,
  .btn-primary:focus-visible,
  .btn-outline:focus-visible,
  button:focus-visible,
  a.btn:focus-visible {
    transform: translateY(-7px) translateZ(8px) scale(1.014);
    box-shadow:
      0 34px 56px rgba(42, 14, 86, 0.16),
      0 18px 36px rgba(124, 72, 210, 0.11),
      0 12px 24px rgba(255, 215, 135, 0.10),
      0 3px 4px rgba(255,255,255,0.42),
      inset 0 1px 0 rgba(255,255,255,0.76),
      inset 0 -1px 0 rgba(122, 74, 186, 0.08) !important;
    filter: brightness(1.02) saturate(1.04);
  }

  .glass-card:hover::after,
  .glass-panel:hover::after,
  .glass-panel-strong:hover::after,
  .feature-card:hover::after,
  .service-card:hover::after,
  .credential-card:hover::after,
  .contact-card:hover::after,
  .booking-direct-card:hover::after,
  .mobile-summary-card:hover::after,
  .mobile-trust-card:hover::after,
  .info-card:hover::after,
  .follow-us-card:hover::after,
  .image-overlay-card:hover::after,
  .nav-card:hover::after,
  .mobile-nav-card:hover::after,
  .nav-book:hover::after,
  .nav-links a:hover::after,
  .btn:hover::after,
  .btn-primary:hover::after,
  .btn-outline:hover::after,
  button:hover::after,
  a.btn:hover::after,
  .glass-card:focus-visible::after,
  .glass-panel:focus-visible::after,
  .glass-panel-strong:focus-visible::after,
  .feature-card:focus-visible::after,
  .service-card:focus-visible::after,
  .credential-card:focus-visible::after,
  .contact-card:focus-visible::after,
  .booking-direct-card:focus-visible::after,
  .mobile-summary-card:focus-visible::after,
  .mobile-trust-card:focus-visible::after,
  .info-card:focus-visible::after,
  .follow-us-card:focus-visible::after,
  .image-overlay-card:focus-visible::after,
  .nav-card:focus-visible::after,
  .mobile-nav-card:focus-visible::after,
  .nav-book:focus-visible::after,
  .nav-links a:focus-visible::after,
  .btn:focus-visible::after,
  .btn-primary:focus-visible::after,
  .btn-outline:focus-visible::after,
  button:focus-visible::after,
  a.btn:focus-visible::after {
    transform: translateY(5px) scaleX(1.02);
    opacity: 1 !important;
    filter: blur(16px) !important;
  }

  .glass-card:hover::before,
  .glass-panel:hover::before,
  .glass-panel-strong:hover::before,
  .feature-card:hover::before,
  .service-card:hover::before,
  .credential-card:hover::before,
  .contact-card:hover::before,
  .booking-direct-card:hover::before,
  .mobile-summary-card:hover::before,
  .mobile-trust-card:hover::before,
  .info-card:hover::before,
  .follow-us-card:hover::before,
  .image-overlay-card:hover::before,
  .nav-card:hover::before,
  .mobile-nav-card:hover::before,
  .nav-book:hover::before,
  .nav-links a:hover::before,
  .btn:hover::before,
  .btn-primary:hover::before,
  .btn-outline:hover::before,
  button:hover::before,
  a.btn:hover::before,
  .glass-card:focus-visible::before,
  .glass-panel:focus-visible::before,
  .glass-panel-strong:focus-visible::before,
  .feature-card:focus-visible::before,
  .service-card:focus-visible::before,
  .credential-card:focus-visible::before,
  .contact-card:focus-visible::before,
  .booking-direct-card:focus-visible::before,
  .mobile-summary-card:focus-visible::before,
  .mobile-trust-card:focus-visible::before,
  .info-card:focus-visible::before,
  .follow-us-card:focus-visible::before,
  .image-overlay-card:focus-visible::before,
  .nav-card:focus-visible::before,
  .mobile-nav-card:focus-visible::before,
  .nav-book:focus-visible::before,
  .nav-links a:focus-visible::before,
  .btn:focus-visible::before,
  .btn-primary:focus-visible::before,
  .btn-outline:focus-visible::before,
  button:focus-visible::before,
  a.btn:focus-visible::before {
    transform: translateX(4%) translateY(-2%) skewX(-10deg);
    opacity: 0.9;
  }

  img:hover,
  .service-card:hover img,
  .feature-card:hover img,
  .image-overlay-card:hover img {
    transform: translateY(-4px) scale(1.01);
    box-shadow:
      0 26px 40px rgba(40, 10, 80, 0.14),
      0 10px 18px rgba(255, 215, 135, 0.08) !important;
    filter: brightness(1.01) saturate(1.03);
  }

  .glass-card:active,
  .glass-panel:active,
  .glass-panel-strong:active,
  .feature-card:active,
  .service-card:active,
  .credential-card:active,
  .contact-card:active,
  .booking-direct-card:active,
  .mobile-summary-card:active,
  .mobile-trust-card:active,
  .info-card:active,
  .follow-us-card:active,
  .image-overlay-card:active,
  .nav-card:active,
  .mobile-nav-card:active,
  .nav-book:active,
  .nav-links a:active,
  .btn:active,
  .btn-primary:active,
  .btn-outline:active,
  button:active,
  a.btn:active {
    transform: translateY(-2px) scale(0.997);
  }
}




@media (max-width: 768px) {

  /* CLEAN SOFT WHITE BACKGROUND */
  html, body {
    background: linear-gradient(180deg, #ffffff 0%, #f9f9fb 100%) !important;
  }

  body::before,
  body::after {
    display: none !important;
  }

  /* remove any section colour bleed */
  section,
  .mobile-premium-stack,
  .clinic-trust-strip {
    background: transparent !important;
  }

  /* FIX FOOTER GAP */
  body {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  footer {
    margin-bottom: 0 !important;
    padding-bottom: 20px !important;
  }

  /* remove any accidental spacing blocks */
  .spacer,
  .bottom-space,
  .footer-space {
    display: none !important;
    height: 0 !important;
  }

}




@media (max-width: 768px) {

  /* subtle gold lighting ONLY under cards */
  .glass-card::after,
  .glass-panel::after,
  .glass-panel-strong::after,
  .feature-card::after,
  .service-card::after,
  .credential-card::after,
  .contact-card::after,
  .booking-direct-card::after,
  .mobile-summary-card::after,
  .mobile-trust-card::after,
  .info-card::after,
  .follow-us-card::after,
  .image-overlay-card::after,
  .nav-card::after,
  .mobile-nav-card::after,
  .nav-book::after,
  .nav-links a::after,
  .btn::after,
  .btn-primary::after,
  .btn-outline::after,
  button::after,
  a.btn::after {
    background:
      radial-gradient(ellipse at center,
        rgba(255, 215, 140, 0.18) 0%,
        rgba(255, 215, 140, 0.10) 35%,
        rgba(255, 215, 140, 0.05) 55%,
        transparent 75%) !important;
    filter: blur(18px) !important;
    opacity: 0.7 !important;
  }

  /* slightly enhance on interaction */
  .glass-card:hover::after,
  .glass-panel:hover::after,
  .glass-panel-strong:hover::after,
  .feature-card:hover::after,
  .service-card:hover::after,
  .credential-card:hover::after,
  .contact-card:hover::after,
  .booking-direct-card:hover::after,
  .mobile-summary-card:hover::after,
  .mobile-trust-card:hover::after,
  .info-card:hover::after,
  .follow-us-card:hover::after,
  .image-overlay-card:hover::after,
  .nav-card:hover::after,
  .mobile-nav-card:hover::after,
  .nav-book:hover::after,
  .nav-links a:hover::after,
  .btn:hover::after,
  .btn-primary:hover::after,
  .btn-outline:hover::after,
  button:hover::after,
  a.btn:hover::after {
    opacity: 0.95 !important;
    filter: blur(20px) !important;
  }

}




@media (max-width: 768px) {

  /* Stronger shadow and depth in the quick links area */
  .mobile-quick-links,
  .quick-links-grid,
  .nav-grid {
    position: relative;
  }

  .mobile-quick-card,
  .nav-card.nav-book {
    background:
      linear-gradient(180deg,
        rgba(255,255,255,0.84) 0%,
        rgba(255,255,255,0.74) 48%,
        rgba(248,248,250,0.68) 100%) !important;
    border: 1px solid rgba(255,255,255,0.92) !important;
    box-shadow:
      0 20px 34px rgba(34, 28, 48, 0.08),
      0 10px 20px rgba(0, 0, 0, 0.04),
      0 18px 32px rgba(212, 198, 178, 0.10),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(220, 220, 226, 0.26) !important;
    transition:
      transform 0.28s ease,
      box-shadow 0.28s ease,
      color 0.2s ease,
      text-decoration-color 0.2s ease !important;
  }

  .mobile-quick-card:hover,
  .mobile-quick-card:active,
  .nav-card.nav-book:hover,
  .nav-card.nav-book:active,
  .mobile-quick-card:focus-visible,
  .nav-card.nav-book:focus-visible {
    transform: translateY(-3px) !important;
    box-shadow:
      0 26px 42px rgba(34, 28, 48, 0.11),
      0 14px 28px rgba(0, 0, 0, 0.05),
      0 22px 40px rgba(212, 198, 178, 0.12),
      inset 0 1px 0 rgba(255,255,255,0.96),
      inset 0 -1px 0 rgba(220, 220, 226, 0.22) !important;
  }

  /* Make 
<div style="text-align:center; margin:20px 0;">
    <a href="#booking" style="
        display:inline-block;
        width:90%;
        max-width:500px;
        padding:16px 0;
        border-radius:30px;
        background:rgba(255,255,255,0.25);
        backdrop-filter: blur(12px);
        box-shadow:0 10px 25px rgba(0,0,0,0.1);
        color:#000;
        font-weight:600;
        text-decoration:none;
    ">
        Book your appointment
    </a>
</div>
Book Your Appointment match the other quick-link buttons */
  .nav-card.nav-book,
  .mobile-quick-links .nav-book,
  a.nav-card.nav-book {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 74px !important;
    border-radius: 24px !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    color: #1f2530 !important;
    font-weight: 800 !important;
    font-size: clamp(1.02rem, 4.9vw, 1.12rem) !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
    text-shadow: none !important;
  }

  .nav-card.nav-book *,
  .mobile-quick-links .nav-book * {
    color: inherit !important;
    text-decoration: none !important;
    font-weight: inherit !important;
  }

  .nav-card.nav-book::before {
    opacity: 0.46 !important;
  }

  /* Ensure any underline pseudo styling is removed */
  .nav-card.nav-book::after {
    text-decoration: none !important;
  }
}




@media (max-width: 768px) {

  /* Revert HERO Book Appointment / Call Now buttons back to their normal styling */
  .hero .btn,
  .hero .btn-primary,
  .hero .btn-outline,
  .hero a.btn,
  .hero button,
  .hero .cta-button,
  .hero .hero-actions a,
  .hero .hero-buttons a {
    color: inherit !important;
    font-weight: inherit !important;
    text-decoration: none !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
  }

  .hero .btn *,
  .hero .btn-primary *,
  .hero .btn-outline *,
  .hero a.btn *,
  .hero button *,
  .hero .cta-button *,
  .hero .hero-actions a *,
  .hero .hero-buttons a * {
    color: inherit !important;
    font-weight: inherit !important;
    text-decoration: none !important;
  }

  /* Fix ONLY the quick-links Book Appointment tile */
  .mobile-quick-links .nav-book,
  .mobile-quick-links .nav-card.nav-book,
  .quick-links-grid .nav-book,
  .quick-links-grid .nav-card.nav-book,
  .nav-grid .nav-book,
  .nav-grid .nav-card.nav-book {
    color: #1f2530 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-shadow: none !important;
  }

  .mobile-quick-links .nav-book *,
  .mobile-quick-links .nav-card.nav-book *,
  .quick-links-grid .nav-book *,
  .quick-links-grid .nav-card.nav-book *,
  .nav-grid .nav-book *,
  .nav-grid .nav-card.nav-book * {
    color: #1f2530 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
  }

  /* Kill underline styles on the quick-links Book Appointment */
  .mobile-quick-links .nav-book u,
  .mobile-quick-links .nav-card.nav-book u,
  .quick-links-grid .nav-book u,
  .quick-links-grid .nav-card.nav-book u,
  .nav-grid .nav-book u,
  .nav-grid .nav-card.nav-book u {
    text-decoration: none !important;
    border-bottom: none !important;
  }
}




@media (max-width: 768px) {

  /* Target all quick link cards/buttons */
  .mobile-quick-links a,
  .mobile-quick-links .nav-card,
  .quick-links-grid a,
  .quick-links-grid .nav-card,
  .nav-grid a,
  .nav-grid .nav-card {

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    text-align: center !important;

    color: #2a2f38 !important;
    font-weight: 700 !important;
    font-size: clamp(1.05rem, 5vw, 1.15rem) !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;

    text-decoration: none !important;
  }

  /* Ensure inner spans inherit properly */
  .mobile-quick-links a *,
  .quick-links-grid a *,
  .nav-grid a * {
    color: inherit !important;
    font-weight: inherit !important;
    text-decoration: none !important;
  }

  /* Fix vertical alignment consistency */
  .mobile-quick-links a,
  .quick-links-grid a,
  .nav-grid a {
    min-height: 74px !important;
    padding: 0 12px !important;
  }

}




@media (max-width: 768px) {

  /* Remove decorative white dots on info cards */
  .feature-card::before,
  .service-card::before,
  .info-card::before,
  .mobile-summary-card::before,
  .mobile-trust-card::before,
  .glass-card::before {
    content: none !important;
    display: none !important;
  }

  /* Make cards more compact */
  .feature-card,
  .service-card,
  .info-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .glass-card {
      background: linear-gradient(145deg, rgba(255,255,255,0.60) 0%, rgba(255,255,255,0.30) 100%);
      backdrop-filter: blur(28px) saturate(190%);
      -webkit-backdrop-filter: blur(28px) saturate(190%);
      border: 1px solid rgba(255,255,255,0.82);
      border-radius: 20px;
      box-shadow:
        0 16px 44px rgba(31,38,135,0.14),
        0 6px 18px rgba(106,27,154,0.08),
        inset 0 1px 0 rgba(255,255,255,0.94),
        inset 0 -1px 0 rgba(255,255,255,0.22);
      transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    }

  /* Reduce heading spacing */
  .feature-card h3,
  .service-card h3,
  .info-card h3 {
    margin-bottom: 10px !important;
    font-size: clamp(1.1rem, 5vw, 1.25rem) !important;
  }

  /* Reduce paragraph spacing */
  .feature-card p,
  .service-card p,
  .info-card p {
    margin: 0 !important;
    line-height: 1.5 !important;
    font-size: clamp(0.95rem, 4.2vw, 1.05rem) !important;
  }

  /* tighten vertical spacing between cards */
  .feature-card + .feature-card,
  .service-card + .service-card,
  .info-card + .info-card {
    margin-top: 12px !important;
  }

}




@media (max-width: 768px) {

  /* HARD REMOVE any white dot / circle decorations */
  [class*="card"]::before,
  [class*="card"]::after {
    background-image: none !important;
  }

  .feature-card::before,
  .service-card::before,
  .info-card::before,
  .mobile-summary-card::before,
  .mobile-trust-card::before,
  .glass-card::before,
  .feature-card::after,
  .service-card::after,
  .info-card::after,
  .mobile-summary-card::after,
  .mobile-trust-card::after,
  .glass-card::after {
    content: none !important;
    display: none !important;
  }

  /* EXTRA: remove inline gradient dots if baked into background */
  .feature-card,
  .service-card,
  .info-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .glass-card {
      background: linear-gradient(145deg, rgba(255,255,255,0.60) 0%, rgba(255,255,255,0.30) 100%);
      backdrop-filter: blur(28px) saturate(190%);
      -webkit-backdrop-filter: blur(28px) saturate(190%);
      border: 1px solid rgba(255,255,255,0.82);
      border-radius: 20px;
      box-shadow:
        0 16px 44px rgba(31,38,135,0.14),
        0 6px 18px rgba(106,27,154,0.08),
        inset 0 1px 0 rgba(255,255,255,0.94),
        inset 0 -1px 0 rgba(255,255,255,0.22);
      transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    }

  /* MAKE CARDS SMALLER / TIGHTER */
  .feature-card,
  .service-card,
  .info-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .glass-card {
      background: linear-gradient(145deg, rgba(255,255,255,0.60) 0%, rgba(255,255,255,0.30) 100%);
      backdrop-filter: blur(28px) saturate(190%);
      -webkit-backdrop-filter: blur(28px) saturate(190%);
      border: 1px solid rgba(255,255,255,0.82);
      border-radius: 20px;
      box-shadow:
        0 16px 44px rgba(31,38,135,0.14),
        0 6px 18px rgba(106,27,154,0.08),
        inset 0 1px 0 rgba(255,255,255,0.94),
        inset 0 -1px 0 rgba(255,255,255,0.22);
      transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    }

  /* tighten text further */
  .feature-card h3,
  .service-card h3,
  .info-card h3 {
    font-size: 1.05rem !important;
    margin-bottom: 6px !important;
  }

  .feature-card p,
  .service-card p,
  .info-card p {
    font-size: 0.95rem !important;
    line-height: 1.45 !important;
  }

  /* reduce spacing between these specific stacked cards */
  .feature-card + .feature-card,
  .service-card + .service-card,
  .info-card + .info-card {
    margin-top: 8px !important;
  }

}




@media (max-width: 768px) {

  /* Remove any decorative absolute element in the top-left of these stacked cards */
  .feature-card > :first-child[style*="position: absolute"],
  .service-card > :first-child[style*="position: absolute"],
  .info-card > :first-child[style*="position: absolute"],
  .mobile-summary-card > :first-child[style*="position: absolute"],
  .mobile-trust-card > :first-child[style*="position: absolute"],
  .glass-card > :first-child[style*="position: absolute"] {
    display: none !important;
  }

  /* Kill top-left circular highlight layers specifically */
  .feature-card::before,
  .service-card::before,
  .info-card::before,
  .mobile-summary-card::before,
  .mobile-trust-card::before,
  .glass-card::before,
  .feature-card::after,
  .service-card::after,
  .info-card::after,
  .mobile-summary-card::after,
  .mobile-trust-card::after,
  .glass-card::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  /* Remove any absolutely-positioned decorative child that sits in top-left */
  .feature-card > div,
  .feature-card > span,
  .service-card > div,
  .service-card > span,
  .info-card > div,
  .info-card > span,
  .mobile-summary-card > div,
  .mobile-summary-card > span,
  .mobile-trust-card > div,
  .mobile-trust-card > span,
  .glass-card > div,
  .glass-card > span {
    background-image: none;
  }

  .feature-card > div[style*="top"],
  .feature-card > span[style*="top"],
  .service-card > div[style*="top"],
  .service-card > span[style*="top"],
  .info-card > div[style*="top"],
  .info-card > span[style*="top"],
  .mobile-summary-card > div[style*="top"],
  .mobile-summary-card > span[style*="top"],
  .mobile-trust-card > div[style*="top"],
  .mobile-trust-card > span[style*="top"],
  .glass-card > div[style*="top"],
  .glass-card > span[style*="top"] {
    background-image: none !important;
  }

  /* Make these cards smaller */
  .feature-card,
  .service-card,
  .info-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .glass-card {
      background: linear-gradient(145deg, rgba(255,255,255,0.60) 0%, rgba(255,255,255,0.30) 100%);
      backdrop-filter: blur(28px) saturate(190%);
      -webkit-backdrop-filter: blur(28px) saturate(190%);
      border: 1px solid rgba(255,255,255,0.82);
      border-radius: 20px;
      box-shadow:
        0 16px 44px rgba(31,38,135,0.14),
        0 6px 18px rgba(106,27,154,0.08),
        inset 0 1px 0 rgba(255,255,255,0.94),
        inset 0 -1px 0 rgba(255,255,255,0.22);
      transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    }

  .feature-card h3,
  .service-card h3,
  .info-card h3,
  .mobile-summary-card h3,
  .mobile-trust-card h3,
  .glass-card h3 {
    margin: 0 0 6px 0 !important;
    font-size: clamp(1rem, 4.8vw, 1.18rem) !important;
  }

  .feature-card p,
  .service-card p,
  .info-card p,
  .mobile-summary-card p,
  .mobile-trust-card p,
  .glass-card p {
    margin: 0 !important;
    font-size: clamp(0.92rem, 4vw, 1rem) !important;
    line-height: 1.42 !important;
  }

  .feature-card + .feature-card,
  .service-card + .service-card,
  .info-card + .info-card,
  .mobile-summary-card + .mobile-summary-card,
  .mobile-trust-card + .mobile-trust-card,
  .glass-card + .glass-card {
      background: linear-gradient(145deg, rgba(255,255,255,0.60) 0%, rgba(255,255,255,0.30) 100%);
      backdrop-filter: blur(28px) saturate(190%);
      -webkit-backdrop-filter: blur(28px) saturate(190%);
      border: 1px solid rgba(255,255,255,0.82);
      border-radius: 20px;
      box-shadow:
        0 16px 44px rgba(31,38,135,0.14),
        0 6px 18px rgba(106,27,154,0.08),
        inset 0 1px 0 rgba(255,255,255,0.94),
        inset 0 -1px 0 rgba(255,255,255,0.22);
      transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    }
}




@media (max-width: 768px) {

  /* Rebuild styling for What to Expect section */
  #what-to-expect .feature-grid,
  #what-to-expect .process-grid,
  #what-to-expect .cards-grid,
  .what-to-expect-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  #what-to-expect .feature-card,
  #what-to-expect .service-card,
  #what-to-expect .info-card,
  #what-to-expect .glass-card,
  #what-to-expect .mobile-summary-card,
  #what-to-expect .mobile-trust-card,
  .what-to-expect-grid .feature-card,
  .what-to-expect-grid .service-card,
  .what-to-expect-grid .info-card,
  .what-to-expect-grid .glass-card {
      background: linear-gradient(145deg, rgba(255,255,255,0.60) 0%, rgba(255,255,255,0.30) 100%);
      backdrop-filter: blur(28px) saturate(190%);
      -webkit-backdrop-filter: blur(28px) saturate(190%);
      border: 1px solid rgba(255,255,255,0.82);
      border-radius: 20px;
      box-shadow:
        0 16px 44px rgba(31,38,135,0.14),
        0 6px 18px rgba(106,27,154,0.08),
        inset 0 1px 0 rgba(255,255,255,0.94),
        inset 0 -1px 0 rgba(255,255,255,0.22);
      transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    }

  /* Kill all dot/orb decorations in this section only */
  #what-to-expect .feature-card::before,
  #what-to-expect .feature-card::after,
  #what-to-expect .service-card::before,
  #what-to-expect .service-card::after,
  #what-to-expect .info-card::before,
  #what-to-expect .info-card::after,
  #what-to-expect .glass-card::before,
  #what-to-expect .glass-card::after,
  #what-to-expect .mobile-summary-card::before,
  #what-to-expect .mobile-summary-card::after,
  #what-to-expect .mobile-trust-card::before,
  #what-to-expect .mobile-trust-card::after,
  .what-to-expect-grid .feature-card::before,
  .what-to-expect-grid .feature-card::after,
  .what-to-expect-grid .service-card::before,
  .what-to-expect-grid .service-card::after,
  .what-to-expect-grid .info-card::before,
  .what-to-expect-grid .info-card::after,
  .what-to-expect-grid .glass-card::before,
  .what-to-expect-grid .glass-card::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  #what-to-expect .feature-card > .orb,
  #what-to-expect .feature-card > .glow-orb,
  #what-to-expect .feature-card > .card-dot,
  #what-to-expect .feature-card > .feature-dot,
  #what-to-expect .feature-card > [style*="position: absolute"],
  #what-to-expect .service-card > [style*="position: absolute"],
  #what-to-expect .info-card > [style*="position: absolute"],
  #what-to-expect .glass-card > [style*="position: absolute"] {
    display: none !important;
  }

  #what-to-expect h3,
  .what-to-expect-grid h3 {
    margin: 0 0 12px 0 !important;
    color: #7a34b3 !important;
    font-size: clamp(1.24rem, 6vw, 1.6rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
  }

  #what-to-expect p,
  .what-to-expect-grid p {
    margin: 0 !important;
    color: #6f7482 !important;
    font-size: clamp(1rem, 4.9vw, 1.16rem) !important;
    line-height: 1.55 !important;
  }

  #what-to-expect .section-divider {
    margin-top: 16px !important;
  }
}




/* Clean rebuild for What to Expect */
.expect-section-remade .wte-subheading{
  max-width: 720px;
  margin: -1.2rem auto 0;
  text-align: center;
}

.expect-section-remade .wte-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 2rem;
}

.expect-section-remade .wte-card{
  position: relative;
  padding: 22px 20px 20px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,0.88) 0%, rgba(255,255,255,0.76) 54%, rgba(248,248,251,0.70) 100%);
  border: 1px solid rgba(255,255,255,0.92);
  box-shadow:
    0 18px 34px rgba(32, 28, 42, 0.06),
    0 8px 18px rgba(0, 0, 0, 0.03),
    0 18px 36px rgba(212, 198, 178, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.92),
    inset 0 -1px 0 rgba(220, 220, 226, 0.18);
  backdrop-filter: blur(14px) saturate(118%);
  -webkit-backdrop-filter: blur(14px) saturate(118%);
  overflow: hidden;
}

.expect-section-remade .wte-card::before,
.expect-section-remade .wte-card::after{
  content:none !important;
  display:none !important;
  background:none !important;
  box-shadow:none !important;
}

.expect-section-remade .wte-step{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom: 12px;
  font-weight: 800;
  font-size: 0.96rem;
  color: #ffffff;
  background: linear-gradient(135deg, #8e24aa, #d81b60);
  box-shadow: 0 10px 18px rgba(216,27,96,0.18);
}

.expect-section-remade .wte-card h3{
  margin: 0 0 10px 0;
  color:#7a34b3;
  font-size: 1.18rem;
  line-height: 1.12;
  letter-spacing: -0.02em;
}

.expect-section-remade .wte-card p{
  margin: 0;
  color:#6f7482;
  font-size: 1rem;
  line-height: 1.58;
}

@media (max-width: 768px){
  .expect-section-remade{
    padding-top: 1.8rem !important;
    padding-bottom: 1.8rem !important;
  }

  .expect-section-remade .wte-subheading{
    margin: -0.75rem auto 0 !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
    text-align: center !important;
  }

  .expect-section-remade .wte-grid{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-top: 1.4rem !important;
  }

  .expect-section-remade .wte-card{
    padding: 18px 18px 16px !important;
    border-radius: 24px !important;
    min-height: unset !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.84) 0%, rgba(255,255,255,0.74) 55%, rgba(248,248,251,0.66) 100%) !important;
    box-shadow:
      0 16px 28px rgba(32, 28, 42, 0.05),
      0 8px 16px rgba(0, 0, 0, 0.025),
      0 16px 30px rgba(212, 198, 178, 0.07),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(220, 220, 226, 0.14) !important;
  }

  .expect-section-remade .wte-step{
    width: 34px !important;
    height: 34px !important;
    border-radius: 11px !important;
    margin-bottom: 10px !important;
    font-size: 0.9rem !important;
  }

  .expect-section-remade .wte-card h3{
    margin-bottom: 8px !important;
    font-size: clamp(1.1rem, 5.3vw, 1.35rem) !important;
  }

  .expect-section-remade .wte-card p{
    font-size: clamp(0.98rem, 4.5vw, 1.08rem) !important;
    line-height: 1.5 !important;
  }
}




@media (max-width: 768px) {

  /* 1) Stop tiny sideways overflow / edge clipping */
  html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  *, *::before, *::after {
    box-sizing: border-box !important;
  }

  /* 2) Safer page gutters for mobile */
  body {
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
    -webkit-text-size-adjust: 100% !important;
    text-rendering: optimizeLegibility;
  }

  /* 3) Cleaner section rhythm */
  section,
  .mobile-premium-stack,
  .clinic-trust-strip,
  .reviews-section,
  .faq-section,
  .contact-section,
  .booking-section,
  .expect-section-remade {
    margin-top: 14px !important;
    margin-bottom: 14px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  /* 4) Headings wrap better on small screens */
  h1, h2, h3,
  .section-heading,
  .mobile-service-group-title,
  .hero-tagline {
    text-wrap: balance;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  /* 5) Paragraph readability */
  p, li, .section-subheading, .wte-subheading {
    max-width: 36ch;
    margin-left: auto;
    margin-right: auto;
  }

  /* 6) Consistent glass blocks */
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card,
  .nav-card,
  .mobile-nav-card,
  .wte-card {
    border-radius: 24px !important;
    overflow: hidden !important;
    backdrop-filter: blur(16px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(118%) !important;
  }

  /* 7) Buttons / links: better tap targets and no odd wrapping */
  .btn,
  .btn-primary,
  .btn-outline,
  a.btn,
  button,
  .nav-card,
  .mobile-nav-card,
  .nav-book,
  .mobile-quick-links a,
  .quick-links-grid a,
  .nav-grid a {
    min-height: 52px !important;
    white-space: normal !important;
    text-align: center !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  /* 8) Keep quick links neat */
  .mobile-quick-links,
  .quick-links-grid,
  .nav-grid {
    gap: 12px !important;
  }

  .mobile-quick-links a,
  .quick-links-grid a,
  .nav-grid a,
  .mobile-quick-links .nav-card,
  .quick-links-grid .nav-card,
  .nav-grid .nav-card {
    padding: 12px 10px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* 9) Images feel cleaner and less cropped */
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  .service-card img,
  .feature-card img,
  .image-overlay-card img,
  .gallery-grid img,
  .gallery-card img {
    border-radius: 20px !important;
    object-fit: cover !important;
  }

  /* 10) Improve icon/text alignment in stacked cards */
  .feature-card h3,
  .service-card h3,
  .info-card h3,
  .mobile-summary-card h3,
  .mobile-trust-card h3,
  .wte-card h3 {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
  }

  /* 11) Compact footer and remove trailing dead space */
  footer {
    margin-bottom: 0 !important;
    padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important;
  }

  body::after {
    max-width: 100vw !important;
  }

  /* 12) Motion feels premium rather than jumpy */
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card,
  .nav-card,
  .mobile-nav-card,
  .nav-book,
  .btn,
  .btn-primary,
  .btn-outline,
  button,
  a.btn,
  img {
    transition:
      transform 0.24s ease,
      box-shadow 0.24s ease,
      filter 0.24s ease,
      opacity 0.24s ease !important;
  }

  /* 13) Respect reduced motion */
  @media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
      animation: none !important;
      transition: none !important;
      scroll-behavior: auto !important;
    }

}
}




@media (max-width: 768px) {

  /* Make hero Book Appointment match Call Now exactly in style/weight/shape/effects */
  .hero .hero-actions,
  .hero .hero-buttons,
  .hero .cta-group {
    display: flex !important;
    gap: 14px !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }

  .hero .hero-actions a,
  .hero .hero-buttons a,
  .hero .cta-group a,
  .hero .hero-actions .btn,
  .hero .hero-buttons .btn,
  .hero .cta-group .btn,
  .hero .hero-actions .btn-primary,
  .hero .hero-buttons .btn-primary,
  .hero .cta-group .btn-primary,
  .hero .hero-actions .btn-outline,
  .hero .hero-buttons .btn-outline,
  .hero .cta-group .btn-outline { font-size: 0.95rem;
    min-width: 0 !important;
    width: min(43vw, 190px) !important;
    min-height: 88px !important;
    padding: 0 18px !important;
    border-radius: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: clamp(1.05rem, 5.8vw, 1.28rem) !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    line-height: 1 !important;
    color: #273142 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.44) 0%,
      rgba(255,245,248,0.28) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.78) !important;
    box-shadow:
      0 10px 22px rgba(255,255,255,0.26),
      0 16px 30px rgba(70, 42, 58, 0.06),
      inset 0 1px 0 rgba(255,255,255,0.76) !important;
    backdrop-filter: blur(12px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(112%) !important;
    text-shadow: none !important;
    transform: none !important;
  }

  .hero .hero-actions a *,
  .hero .hero-buttons a *,
  .hero .cta-group a * {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    text-decoration: none !important;
    line-height: inherit !important;
  }

  .hero .hero-actions a:hover,
  .hero .hero-buttons a:hover,
  .hero .cta-group a:hover,
  .hero .hero-actions .btn:hover,
  .hero .hero-buttons .btn:hover,
  .hero .cta-group .btn:hover {
    transform: translateY(-2px) !important;
    box-shadow:
      0 12px 24px rgba(255,255,255,0.28),
      0 18px 34px rgba(70, 42, 58, 0.08),
      inset 0 1px 0 rgba(255,255,255,0.82) !important;
  }

  .hero .hero-actions a:active,
  .hero .hero-buttons a:active,
  .hero .cta-group a:active,
  .hero .hero-actions .btn:active,
  .hero .hero-buttons .btn:active,
  .hero .cta-group .btn:active {
    transform: translateY(0) !important;
  }
}




@media (max-width: 768px) {

  /* Force BOTH hero action links to identical appearance */
  .hero a[href^="#"],
  .hero a[href^="tel:"],
  .hero a[href*="#booking"],
  .hero a[href*="booking"],
  .hero a[href*="tel"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(43vw, 190px) !important;
    min-width: min(43vw, 190px) !important;
    max-width: min(43vw, 190px) !important;
    height: 88px !important;
    min-height: 88px !important;
    padding: 0 18px !important;
    margin: 0 !important;
    border-radius: 34px !important;
    box-sizing: border-box !important;

    color: #273142 !important;
    font-size: clamp(1.05rem, 5.8vw, 1.28rem) !important;
    font-weight: 500 !important;
    font-style: normal !important;
    font-family: inherit !important;
    letter-spacing: -0.02em !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;

    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.44) 0%,
      rgba(255,245,248,0.28) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.78) !important;
    box-shadow:
      0 10px 22px rgba(255,255,255,0.26),
      0 16px 30px rgba(70, 42, 58, 0.06),
      inset 0 1px 0 rgba(255,255,255,0.76) !important;
    backdrop-filter: blur(12px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(112%) !important;

    transform: none !important;
    opacity: 1 !important;
  }

  .hero a[href^="#"] *,
  .hero a[href^="tel:"] *,
  .hero a[href*="#booking"] *,
  .hero a[href*="booking"] *,
  .hero a[href*="tel"] * {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    font-style: inherit !important;
    font-family: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-decoration: none !important;
    text-shadow: none !important;
  }

  .hero a[href^="#"]:hover,
  .hero a[href^="tel:"]:hover,
  .hero a[href*="#booking"]:hover,
  .hero a[href*="booking"]:hover,
  .hero a[href*="tel"]:hover,
  .hero a[href^="#"]:focus-visible,
  .hero a[href^="tel:"]:focus-visible,
  .hero a[href*="#booking"]:focus-visible,
  .hero a[href*="booking"]:focus-visible,
  .hero a[href*="tel"]:focus-visible {
    transform: translateY(-2px) !important;
    box-shadow:
      0 12px 24px rgba(255,255,255,0.28),
      0 18px 34px rgba(70, 42, 58, 0.08),
      inset 0 1px 0 rgba(255,255,255,0.82) !important;
  }

  .hero a[href^="#"]:active,
  .hero a[href^="tel:"]:active,
  .hero a[href*="#booking"]:active,
  .hero a[href*="booking"]:active,
  .hero a[href*="tel"]:active {
    transform: translateY(0) !important;
  }
}




@media (max-width: 768px) {
  /* Move the two hero CTA buttons lower on the mobile hero image */
  .hero .hero-actions,
  .hero .hero-buttons,
  .hero .cta-group {
    margin-top: 44px !important;
    transform: translateY(20px) !important;
  }
}




@media (max-width: 768px) {
  /* Force the mobile hero CTA row lower without changing anything else */
  .hero .hero-actions,
  .hero .hero-buttons,
  .hero .cta-group,
  .hero .mobile-hero-actions,
  .hero .hero-cta-row {
    position: relative !important;
    top: 34px !important;
    margin-top: 0 !important;
  }

  .hero .hero-actions a,
  .hero .hero-buttons a,
  .hero .cta-group a,
  .hero .mobile-hero-actions a,
  .hero .hero-cta-row a {
    position: relative !important;
    top: 34px !important;
  }
}




@media (max-width: 768px) {
  /* Lower only the mobile hero CTA row by using the copy block as a vertical layout */
  .mobile-hero-copy {
    display: flex !important;
    flex-direction: column !important;
    min-height: 20rem !important;
  }

  .mobile-hero-buttons {
    margin-top: auto !important;
    padding-top: 3.2rem !important;
  }
}




@media (max-width: 768px) {
  /* Push the mobile hero CTA row to the bottom of the hero image area */
  .mobile-hero-copy,
  .hero .mobile-hero-copy,
  .hero-copy,
  .hero .hero-copy {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-height: 78vh !important;
    height: 78vh !important;
  }

  .mobile-hero-buttons,
  .hero .mobile-hero-buttons,
  .mobile-hero-actions,
  .hero .mobile-hero-actions,
  .hero-buttons,
  .hero .hero-buttons,
  .hero-actions,
  .hero .hero-actions,
  .cta-group,
  .hero .cta-group {
    margin-top: auto !important;
    padding-top: 1rem !important;
    padding-bottom: max(1.25rem, env(safe-area-inset-bottom)) !important;
  }
}




@media (max-width: 768px) {
  /* Increase hero/banner image size by ~10% without affecting layout */
  .hero img,
  .mobile-hero img,
  .hero-image,
  .mobile-hero-image {
    transform: scale(1.1) !important;
    transform-origin: center center !important;
  }
}




@media (max-width: 768px) {

  /* Reset previous scaling just in case */
  .hero img,
  .mobile-hero img,
  .hero-image,
  .mobile-hero-image {
    transform: none !important;
  }

  /* ONLY scale the banner/logo block */
  .hero-logo,
  .hero-banner,
  .mobile-hero-logo,
  .hero .logo,
  .hero .banner {
    transform: scale(1.1) !important;
    transform-origin: center center !important;
  }

  .hero-logo img,
  .hero-banner img,
  .mobile-hero-logo img,
  .hero .logo img,
  .hero .banner img {
    transform: scale(1.1) !important;
    transform-origin: center center !important;
  }
}




@media (max-width: 768px) {

  /* Force banner container to stretch edge-to-edge */
  .hero-logo,
  .hero-banner,
  .mobile-hero-logo,
  .hero .logo,
  .hero .banner {
    width: 110vw !important;
    max-width: 110vw !important;
    margin-left: -5vw !important;
    margin-right: -5vw !important;
    transform: none !important;
  }

  /* Ensure image fills the frame fully */
  .hero-logo img,
  .hero-banner img,
  .mobile-hero-logo img,
  .hero .logo img,
  .hero .banner img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

}




@media (max-width: 768px) {

  /* Reduce overall hero height */
  .hero,
  .mobile-hero {
    min-height: 62vh !important;
    height: 62vh !important;
    max-height: 62vh !important;
  }

  /* Ensure inner content fits nicely */
  .mobile-hero-copy,
  .hero-copy {
    min-height: 62vh !important;
    height: 62vh !important;
  }

}




@media (max-width: 768px) {

  /* Keep hero height as set but ensure buttons sit just above bottom */
  .mobile-hero-copy,
  .hero-copy {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    height: 62vh !important;
  }

  /* Pull buttons up slightly and ensure visibility */
  .mobile-hero-buttons,
  .hero .mobile-hero-buttons,
  .hero-buttons,
  .hero .hero-buttons,
  .hero-actions,
  .hero .hero-actions,
  .cta-group,
  .hero .cta-group {
    margin-top: auto !important;
    transform: translateY(-12px) !important;
    padding-bottom: 12px !important;
  }

}




@media (max-width: 768px) {
  /* Keep the current hero height, but anchor the mobile CTA row visibly above the bottom */
  .mobile-hero-inner {
    position: relative !important;
    min-height: 62vh !important;
    height: 62vh !important;
  }

  .mobile-hero-copy {
    position: static !important;
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 0 !important;
  }

  .mobile-hero-buttons {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 14px !important;
    margin: 0 auto !important;
    padding: 0 10px !important;
    transform: none !important;
    z-index: 3 !important;
  }
}




@media (max-width: 768px) {

  /* Fix oversized price text on mobile service cards */
  .price,
  .service-price,
  .price-tag,
  .card-price,
  .pricing-card .price,
  .service-card .price,
  .service-card .service-price,
  .glass-card .price,
  .glass-card .service-price,
  .mobile-summary-card .price,
  .mobile-summary-card .service-price {
    font-size: clamp(2.2rem, 10vw, 4rem) !important;
    line-height: 0.95 !important;
    letter-spacing: -0.04em !important;
    white-space: nowrap !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  /* Keep duration pill balanced beside reduced price */
  .duration,
  .service-duration,
  .time-pill,
  .mins,
  .price-meta,
  .price-duration {
    font-size: clamp(1rem, 4.5vw, 2rem) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  /* Make the right-side price column a bit more forgiving */
  .price-wrap,
  .pricing-wrap,
  .price-column,
  .service-card .price-block,
  .glass-card .price-block,
  .service-card .price-wrap,
  .glass-card .price-wrap {
    min-width: 0 !important;
    max-width: 34% !important;
  }
}




@media (max-width: 768px) {

  /* Make prices smaller and more balanced */
  .price,
  .service-price,
  .price-tag,
  .card-price,
  .pricing-card .price,
  .service-card .price,
  .glass-card .price {
    font-size: clamp(1.8rem, 7vw, 2.8rem) !important;
    line-height: 1 !important;
    letter-spacing: -0.02em !important;
  }

  /* Reduce title size slightly for balance */
  .service-card h2,
  .service-card h3,
  .glass-card h2,
  .glass-card h3 {
    font-size: clamp(1.1rem, 4.5vw, 1.5rem) !important;
    line-height: 1.2 !important;
  }

  /* Reduce paragraph size slightly */
  .service-card p,
  .glass-card p {
    font-size: clamp(0.9rem, 3.8vw, 1.05rem) !important;
    line-height: 1.5 !important;
  }

  /* Adjust right column width so layout breathes better */
  .price-wrap,
  .price-column,
  .service-card .price-block {
    max-width: 30% !important;
  }
}




@media (max-width: 768px) {

  /* Direct fix for the actual booking card price elements */
  .booking-direct-card .booking-card-top {
    align-items: flex-start !important;
    gap: 12px !important;
  }

  .booking-direct-card .booking-card-price-wrap {
    flex: 0 0 auto !important;
    min-width: 108px !important;
    max-width: 132px !important;
    width: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }

  .booking-direct-card .booking-card-price,
  .booking-direct-grid .booking-card-price,
  .glass-card .booking-card-price {
    font-size: clamp(2.5rem, 9vw, 3.6rem) !important;
    line-height: 0.9 !important;
    letter-spacing: -0.045em !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    display: block !important;
    max-width: 100% !important;
  }

  .booking-direct-card .booking-card-duration,
  .booking-direct-grid .booking-card-duration,
  .glass-card .booking-card-duration {
    font-size: clamp(0.95rem, 3.9vw, 1.5rem) !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0.45rem 0.8rem !important;
  }

  /* Also reduce the service title in these booking cards slightly */
  .booking-direct-card h4,
  .booking-direct-grid .booking-direct-card h4,
  .booking-direct-card .booking-card-title {
    font-size: clamp(1.55rem, 6.2vw, 2.35rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.03em !important;
    margin: 0 !important;
    max-width: 68% !important;
  }

  .booking-direct-card p,
  .booking-direct-grid .booking-direct-card p {
    font-size: clamp(0.98rem, 4.2vw, 1.18rem) !important;
    line-height: 1.52 !important;
  }

  /* Make action button sit a little more cleanly */
  .booking-direct-card .booking-card-actions a,
  .booking-direct-card .booking-card-actions .btn {
    font-size: clamp(1rem, 4.2vw, 1.2rem) !important;
    min-height: 54px !important;
  }
}




@media (max-width: 768px) {

  /* Match Available Home Services list to the style in the user's reference image */
  .home-visits-content .service-list-item {
    align-items: center !important;
    gap: 1rem !important;
  }

  .home-visits-content .service-list-item > div:first-child p:first-child {
    font-size: clamp(1.05rem, 4.8vw, 1.28rem) !important;
    line-height: 1.18 !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    margin: 0 0 0.35rem 0 !important;
  }

  .home-visits-content .service-list-item > div:first-child p:last-child {
    font-size: clamp(0.95rem, 4.2vw, 1.08rem) !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    color: #374151 !important;
    margin: 0 !important;
  }

  .home-visits-content .service-list-item > span:last-child {
    font-size: clamp(1.15rem, 5.2vw, 1.6rem) !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    color: #374151 !important;
    letter-spacing: -0.02em !important;
    white-space: nowrap !important;
    min-width: 3.5rem !important;
    text-align: right !important;
  }
}




@media (max-width: 768px) {

  /* Fix the actual large booking cards shown in the screenshot */
  .booking-direct-card .booking-card-top h4,
  .booking-direct-card .booking-card-top .booking-card-title,
  .booking-direct-grid .booking-direct-card .booking-card-top h4,
  .booking-direct-grid .booking-direct-card .booking-card-top .booking-card-title {
    font-size: clamp(1.05rem, 4.9vw, 1.45rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.02em !important;
    font-weight: 700 !important;
    max-width: 62% !important;
    margin: 0 !important;
  }

  .booking-direct-card .booking-card-price-wrap {
    min-width: 86px !important;
    max-width: 108px !important;
    gap: 6px !important;
  }

  .booking-direct-card .booking-card-price,
  .booking-direct-grid .booking-card-price,
  .booking-direct-card span.booking-card-price {
    font-size: clamp(1.35rem, 6vw, 2rem) !important;
    line-height: 0.95 !important;
    letter-spacing: -0.03em !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }

  .booking-direct-card .booking-card-duration,
  .booking-direct-grid .booking-card-duration,
  .booking-direct-card span.booking-card-duration {
    font-size: clamp(0.85rem, 3.6vw, 1rem) !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    min-height: 34px !important;
    padding: 0.35rem 0.65rem !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
  }

  .booking-direct-card p {
    font-size: clamp(0.98rem, 4vw, 1.08rem) !important;
    line-height: 1.5 !important;
  }

  .booking-direct-card .booking-card-actions .btn,
  .booking-direct-card .booking-card-actions a {
    font-size: clamp(0.98rem, 4vw, 1.1rem) !important;
  }
}




@media (max-width: 768px) {

  :root {
    --mobile-panel-bg:
      linear-gradient(135deg,
        rgba(255,255,255,0.78) 0%,
        rgba(255,255,255,0.62) 28%,
        rgba(246,241,255,0.52) 58%,
        rgba(255,255,255,0.58) 100%);
    --mobile-panel-border: rgba(255,255,255,0.72);
    --mobile-panel-shadow:
      0 24px 44px rgba(82, 52, 110, 0.08),
      0 10px 24px rgba(0,0,0,0.035),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(210, 196, 232, 0.16);
    --mobile-inner-panel:
      linear-gradient(135deg,
        rgba(255,255,255,0.74) 0%,
        rgba(250,247,255,0.62) 52%,
        rgba(255,255,255,0.72) 100%);
    --mobile-accent-shadow: 0 18px 32px rgba(163, 118, 224, 0.10);
  }

  body {
    background:
      linear-gradient(180deg, #fbf9fd 0%, #f6f2fa 46%, #fbf9fd 100%) !important;
  }

  /* stronger layered panel language */
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card,
  .review-card,
  .faq-card,
  .faq-item,
  .contact-method-card,
  .clinic-card,
  .home-visit-card,
  .booking-card,
  [class*="card"],
  [class*="panel"] {
    background: var(--mobile-panel-bg) !important;
    border: 1px solid var(--mobile-panel-border) !important;
    box-shadow: var(--mobile-panel-shadow) !important;
    backdrop-filter: blur(18px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(128%) !important;
    border-radius: 26px !important;
  }

  /* internal top sections feel like separate floating trays */
  .booking-direct-card .booking-card-top,
  .service-card .service-card-top,
  .clinic-card .service-card-top,
  .home-visit-card .service-card-top,
  .booking-direct-card .booking-card-price-wrap,
  .booking-direct-card .booking-card-duration,
  .price-pill,
  .duration-pill,
  .service-list-item,
  .mobile-summary-card .inner,
  .info-card .inner {
    background: var(--mobile-inner-panel) !important;
    border: 1px solid rgba(255,255,255,0.66) !important;
    box-shadow:
      0 14px 26px rgba(87, 63, 122, 0.05),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border-radius: 22px !important;
  }

  /* subtle dashboard-like glow edges */
  .glass-card::before,
  .glass-panel::before,
  .glass-panel-strong::before,
  .feature-card::before,
  .service-card::before,
  .credential-card::before,
  .contact-card::before,
  .booking-direct-card::before,
  .mobile-summary-card::before,
  .mobile-trust-card::before,
  .info-card::before,
  .follow-us-card::before,
  .image-overlay-card::before,
  .review-card::before,
  .faq-item::before,
  .clinic-card::before,
  .home-visit-card::before,
  .booking-card::before,
  [class*="card"]::before,
  [class*="panel"]::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background:
      linear-gradient(120deg,
        rgba(255,255,255,0.00) 0%,
        rgba(255,255,255,0.00) 18%,
        rgba(255,255,255,0.22) 36%,
        rgba(255,255,255,0.09) 48%,
        rgba(220, 202, 245, 0.06) 58%,
        rgba(255,255,255,0.00) 74%);
    opacity: 0.72;
    mix-blend-mode: screen;
  }

  /* keep What to Expect clean */
  .expect-section-remade .wte-card::before,
  .expect-section-remade .wte-card::after {
    content: none !important;
    display: none !important;
  }

  /* booking cards: make them feel more like the reference */
  .booking-direct-card {
    padding: 18px 16px 16px !important;
    position: relative !important;
    overflow: hidden !important;
  }

  .booking-direct-card .booking-card-top {
    padding: 12px 12px !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .booking-direct-card .booking-card-top h4,
  .booking-direct-card .booking-card-top .booking-card-title {
    font-size: clamp(1rem, 4.3vw, 1.28rem) !important;
    line-height: 1.06 !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    color: #6a28a8 !important;
    max-width: 62% !important;
    align-self: center !important;
  }

  .booking-direct-card .booking-card-price-wrap {
    padding: 8px 8px !important;
    min-width: 88px !important;
    max-width: 100px !important;
    gap: 8px !important;
    align-items: stretch !important;
  }

  .booking-direct-card .booking-card-price,
  .booking-direct-card span.booking-card-price {
    font-size: clamp(1.08rem, 5vw, 1.55rem) !important;
    font-weight: 800 !important;
    line-height: 0.95 !important;
    letter-spacing: -0.035em !important;
    color: #6c31b2 !important;
  }

  .booking-direct-card .booking-card-duration,
  .booking-direct-card span.booking-card-duration {
    font-size: clamp(0.78rem, 3.2vw, 0.92rem) !important;
    font-weight: 700 !important;
    color: #6b7280 !important;
    min-height: 30px !important;
    padding: 0.3rem 0.55rem !important;
    background: rgba(255,255,255,0.82) !important;
    border: 1px solid rgba(255,255,255,0.72) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.9) !important;
  }

  .booking-direct-card p {
    font-size: clamp(0.95rem, 3.9vw, 1.03rem) !important;
    line-height: 1.52 !important;
    color: #6b7280 !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .booking-direct-card .booking-card-actions {
    margin-top: 14px !important;
  }

  .booking-direct-card .booking-card-actions a,
  .booking-direct-card .booking-card-actions .btn {
    min-height: 56px !important;
    border-radius: 999px !important;
    background:
      linear-gradient(180deg,
        rgba(255,255,255,0.72) 0%,
        rgba(247,242,255,0.66) 100%) !important;
    border: 1px solid rgba(217, 197, 247, 0.86) !important;
    box-shadow:
      0 12px 26px rgba(123, 75, 184, 0.06),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    color: #6d4da2 !important;
    font-size: clamp(0.98rem, 4vw, 1.08rem) !important;
    font-weight: 700 !important;
  }

  /* home services / list pricing cards */
  .home-visits-content .service-list-item,
  .clinic-services-content .service-list-item,
  .service-list-item {
    padding: 16px 16px !important;
    border-radius: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .home-visits-content .service-list-item > div:first-child p:first-child,
  .clinic-services-content .service-list-item > div:first-child p:first-child,
  .service-list-item > div:first-child p:first-child {
    font-size: clamp(1rem, 4.2vw, 1.18rem) !important;
    line-height: 1.14 !important;
    font-weight: 600 !important;
    color: #697287 !important;
  }

  .home-visits-content .service-list-item > div:first-child p:last-child,
  .clinic-services-content .service-list-item > div:first-child p:last-child,
  .service-list-item > div:first-child p:last-child {
    font-size: clamp(0.95rem, 3.8vw, 1rem) !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
    color: #31384a !important;
  }

  .home-visits-content .service-list-item > span:last-child,
  .clinic-services-content .service-list-item > span:last-child,
  .service-list-item > span:last-child {
    font-size: clamp(1.15rem, 4.8vw, 1.45rem) !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    color: #31384a !important;
    letter-spacing: -0.02em !important;
  }

  /* softer typography hierarchy generally */
  h2.section-heading,
  .section-heading {
    letter-spacing: -0.03em !important;
  }

  .section-subheading,
  .wte-subheading {
    color: #73788a !important;
  }

  /* hover/tap motion like floating panels */
  .booking-direct-card,
  .service-list-item,
  .glass-card,
  .feature-card,
  .service-card,
  .info-card,
  .faq-item,
  .review-card,
  [class*="card"] {
    transition:
      transform 0.22s ease,
      box-shadow 0.22s ease,
      filter 0.22s ease !important;
  }

  .booking-direct-card:hover,
  .service-list-item:hover,
  .glass-card:hover,
  .feature-card:hover,
  .service-card:hover,
  .info-card:hover,
  .faq-item:hover,
  .review-card:hover,
  [class*="card"]:hover {
    transform: translateY(-2px) !important;
    box-shadow:
      0 28px 48px rgba(82, 52, 110, 0.10),
      0 12px 28px rgba(0,0,0,0.04),
      inset 0 1px 0 rgba(255,255,255,0.94),
      inset 0 -1px 0 rgba(210, 196, 232, 0.16) !important;
  }

  /* prevent giant text anywhere in booking cards */
  .booking-direct-card * {
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
}




@media (max-width: 768px) {

  :root {
    --mp-bg: linear-gradient(180deg, #fcfbfd 0%, #f6f2fa 52%, #fcfbfd 100%);
    --mp-panel: linear-gradient(135deg,
      rgba(255,255,255,0.84) 0%,
      rgba(255,255,255,0.70) 34%,
      rgba(246,241,255,0.56) 66%,
      rgba(255,255,255,0.74) 100%);
    --mp-inner: linear-gradient(135deg,
      rgba(255,255,255,0.82) 0%,
      rgba(250,247,255,0.72) 52%,
      rgba(255,255,255,0.84) 100%);
    --mp-border: rgba(255,255,255,0.76);
    --mp-shadow:
      0 22px 42px rgba(87, 60, 118, 0.08),
      0 10px 24px rgba(0, 0, 0, 0.03),
      inset 0 1px 0 rgba(255,255,255,0.94),
      inset 0 -1px 0 rgba(214, 201, 233, 0.16);
    --mp-shadow-strong:
      0 28px 48px rgba(87, 60, 118, 0.10),
      0 12px 28px rgba(0, 0, 0, 0.04),
      inset 0 1px 0 rgba(255,255,255,0.96),
      inset 0 -1px 0 rgba(214, 201, 233, 0.16);
    --mp-text: #6f7482;
    --mp-heading: #6f35b2;
    --mp-dark: #2f3645;
  }

  html, body {
    background: var(--mp-bg) !important;
  }

  /* cleaner vertical rhythm */
  section,
  .mobile-premium-stack,
  .clinic-trust-strip,
  .reviews-section,
  .faq-section,
  .contact-section,
  .booking-section,
  .expect-section-remade {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  /* unified premium panel system */
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card,
  .review-card,
  .faq-card,
  .faq-item,
  .contact-method-card,
  .clinic-card,
  .home-visit-card,
  .booking-card,
  [class*="card"],
  [class*="panel"] {
    background: var(--mp-panel) !important;
    border: 1px solid var(--mp-border) !important;
    box-shadow: var(--mp-shadow) !important;
    backdrop-filter: blur(18px) saturate(126%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(126%) !important;
    border-radius: 26px !important;
  }

  /* inner floating trays */
  .booking-direct-card .booking-card-top,
  .booking-direct-card .booking-card-price-wrap,
  .booking-direct-card .booking-card-duration,
  .service-list-item,
  .info-card .inner,
  .mobile-summary-card .inner,
  .faq-item summary,
  .faq-item .faq-question {
    background: var(--mp-inner) !important;
    border: 1px solid rgba(255,255,255,0.72) !important;
    box-shadow:
      0 14px 24px rgba(87, 63, 122, 0.05),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
    border-radius: 22px !important;
  }

  /* typography hierarchy */
  h1, h2, h3, h4,
  .section-heading,
  .booking-card-title,
  .service-card h2,
  .service-card h3,
  .glass-card h2,
  .glass-card h3 {
    color: var(--mp-heading) !important;
    letter-spacing: -0.03em !important;
    text-wrap: balance;
  }

  p, li, .section-subheading, .wte-subheading,
  .service-card p, .glass-card p, .info-card p {
    color: var(--mp-text) !important;
    font-size: clamp(0.98rem, 4vw, 1.06rem) !important;
    line-height: 1.55 !important;
  }

  /* booking cards: fix scale and make dashboard-like */
  .booking-direct-card {
    padding: 16px !important;
    overflow: hidden !important;
  }

  .booking-direct-card .booking-card-top {
    padding: 12px !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  .booking-direct-card .booking-card-top h4,
  .booking-direct-card .booking-card-top .booking-card-title {
    font-size: clamp(1rem, 4.3vw, 1.22rem) !important;
    line-height: 1.04 !important;
    font-weight: 700 !important;
    max-width: 62% !important;
    margin: 0 !important;
    color: var(--mp-heading) !important;
  }

  .booking-direct-card .booking-card-price-wrap {
    min-width: 86px !important;
    max-width: 98px !important;
    padding: 7px !important;
    gap: 7px !important;
    align-items: stretch !important;
  }

  .booking-direct-card .booking-card-price,
  .booking-direct-card span.booking-card-price {
    font-size: clamp(1rem, 4.8vw, 1.4rem) !important;
    font-weight: 800 !important;
    line-height: 0.95 !important;
    letter-spacing: -0.03em !important;
    color: var(--mp-heading) !important;
    white-space: nowrap !important;
  }

  .booking-direct-card .booking-card-duration,
  .booking-direct-card span.booking-card-duration {
    font-size: clamp(0.76rem, 3vw, 0.88rem) !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    color: #707789 !important;
    min-height: 28px !important;
    padding: 0.28rem 0.5rem !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.84) !important;
    border: 1px solid rgba(255,255,255,0.74) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.92) !important;
    white-space: nowrap !important;
  }

  .booking-direct-card p {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .booking-direct-card .booking-card-actions {
    margin-top: 14px !important;
  }

  .booking-direct-card .booking-card-actions a,
  .booking-direct-card .booking-card-actions .btn {
    min-height: 56px !important;
    border-radius: 999px !important;
    font-size: clamp(0.98rem, 4vw, 1.08rem) !important;
    font-weight: 700 !important;
    color: #6a4ea1 !important;
    background: linear-gradient(180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(248,243,255,0.68) 100%) !important;
    border: 1px solid rgba(220, 203, 246, 0.88) !important;
    box-shadow:
      0 12px 24px rgba(123, 75, 184, 0.06),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  /* service list cards */
  .service-list-item,
  .home-visits-content .service-list-item,
  .clinic-services-content .service-list-item {
    padding: 15px 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .service-list-item > div:first-child p:first-child,
  .home-visits-content .service-list-item > div:first-child p:first-child,
  .clinic-services-content .service-list-item > div:first-child p:first-child {
    margin: 0 0 6px 0 !important;
    font-size: clamp(0.98rem, 4.1vw, 1.12rem) !important;
    line-height: 1.14 !important;
    font-weight: 600 !important;
    color: #677186 !important;
  }

  .service-list-item > div:first-child p:last-child,
  .home-visits-content .service-list-item > div:first-child p:last-child,
  .clinic-services-content .service-list-item > div:first-child p:last-child {
    margin: 0 !important;
    font-size: clamp(0.92rem, 3.7vw, 0.98rem) !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    color: var(--mp-dark) !important;
  }

  .service-list-item > span:last-child,
  .home-visits-content .service-list-item > span:last-child,
  .clinic-services-content .service-list-item > span:last-child {
    font-size: clamp(1.08rem, 4.5vw, 1.34rem) !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    color: var(--mp-dark) !important;
    letter-spacing: -0.02em !important;
    white-space: nowrap !important;
    min-width: 3.3rem !important;
    text-align: right !important;
  }

  /* quick links consistency */
  .mobile-quick-links a,
  .quick-links-grid a,
  .nav-grid a,
  .mobile-quick-links .nav-card,
  .quick-links-grid .nav-card,
  .nav-grid .nav-card {
    font-size: clamp(1rem, 4.7vw, 1.12rem) !important;
    font-weight: 700 !important;
    color: var(--mp-dark) !important;
  }

  /* FAQ / review / trust cards less bulky */
  .faq-item,
  .review-card,
  .info-card,
  .mobile-summary-card,
  .mobile-trust-card {
    padding: 16px !important;
  }

  .faq-item p,
  .review-card p,
  .info-card p,
  .mobile-summary-card p,
  .mobile-trust-card p {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* smoother premium motion */
  .glass-card,
  .feature-card,
  .service-card,
  .info-card,
  .booking-direct-card,
  .faq-item,
  .review-card,
  .service-list-item,
  [class*="card"] {
    transition:
      transform 0.22s ease,
      box-shadow 0.22s ease,
      filter 0.22s ease !important;
  }

  .glass-card:hover,
  .feature-card:hover,
  .service-card:hover,
  .info-card:hover,
  .booking-direct-card:hover,
  .faq-item:hover,
  .review-card:hover,
  .service-list-item:hover,
  [class*="card"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: var(--mp-shadow-strong) !important;
  }

  /* keep hero untouched apart from polish around it */
  .hero, .mobile-hero, .mobile-hero-copy, .mobile-hero-buttons {
    will-change: auto !important;
  }

  /* prevent any giant leftover text in cards */
  .booking-direct-card *,
  .service-list-item * {
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
}




@media (max-width: 768px) {

  /* More legible mobile typography for older users */
  html, body,
  button, input, select, textarea {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
  }

  h1, h2, h3, h4, h5, h6,
  .section-heading,
  .booking-card-title,
  .hero-tagline,
  .hero-title {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.03em !important;
  }

  p, li, a, span, div, small,
  .section-subheading,
  .wte-subheading {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  }

  /* Fix mixed rounded/squared corner artifacts */
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card,
  .review-card,
  .faq-card,
  .faq-item,
  .contact-method-card,
  .clinic-card,
  .home-visit-card,
  .booking-card,
  .service-list-item,
  [class*="card"],
  [class*="panel"] {
    border-radius: 28px !important;
    overflow: hidden !important;
    clip-path: inset(0 round 28px) !important;
    box-shadow:
      0 30px 54px rgba(74, 48, 102, 0.12),
      0 14px 32px rgba(0, 0, 0, 0.045),
      0 6px 16px rgba(255, 255, 255, 0.26),
      inset 0 1px 0 rgba(255,255,255,0.96),
      inset 0 -1px 0 rgba(214, 201, 233, 0.18) !important;
  }

  /* Inner trays and pills get slightly stronger depth too */
  .booking-direct-card .booking-card-top,
  .booking-direct-card .booking-card-price-wrap,
  .booking-direct-card .booking-card-duration,
  .service-list-item,
  .info-card .inner,
  .mobile-summary-card .inner,
  .faq-item summary,
  .faq-item .faq-question,
  .booking-direct-card .booking-card-actions a,
  .booking-direct-card .booking-card-actions .btn {
    border-radius: 22px !important;
    overflow: hidden !important;
    clip-path: inset(0 round 22px) !important;
    box-shadow:
      0 18px 30px rgba(87, 63, 122, 0.07),
      0 8px 18px rgba(0,0,0,0.03),
      inset 0 1px 0 rgba(255,255,255,0.94) !important;
  }

  /* Remove pseudo-element edge artifacts that can square corners */
  .glass-card::before,
  .glass-card::after,
  .glass-panel::before,
  .glass-panel::after,
  .glass-panel-strong::before,
  .glass-panel-strong::after,
  .feature-card::before,
  .feature-card::after,
  .service-card::before,
  .service-card::after,
  .credential-card::before,
  .credential-card::after,
  .contact-card::before,
  .contact-card::after,
  .booking-direct-card::before,
  .booking-direct-card::after,
  .mobile-summary-card::before,
  .mobile-summary-card::after,
  .mobile-trust-card::before,
  .mobile-trust-card::after,
  .info-card::before,
  .info-card::after,
  .follow-us-card::before,
  .follow-us-card::after,
  .image-overlay-card::before,
  .image-overlay-card::after,
  .review-card::before,
  .review-card::after,
  .faq-card::before,
  .faq-card::after,
  .faq-item::before,
  .faq-item::after,
  .contact-method-card::before,
  .contact-method-card::after,
  .clinic-card::before,
  .clinic-card::after,
  .home-visit-card::before,
  .home-visit-card::after,
  .booking-card::before,
  .booking-card::after,
  .service-list-item::before,
  .service-list-item::after,
  [class*="card"]::before,
  [class*="card"]::after,
  [class*="panel"]::before,
  [class*="panel"]::after {
    border-radius: inherit !important;
    clip-path: inset(0 round inherit) !important;
  }

  /* More depth on hover/tap without going harsh */
  .glass-card:hover,
  .feature-card:hover,
  .service-card:hover,
  .info-card:hover,
  .booking-direct-card:hover,
  .faq-item:hover,
  .review-card:hover,
  .service-list-item:hover,
  [class*="card"]:hover {
    transform: translateY(-3px) !important;
    box-shadow:
      0 38px 64px rgba(74, 48, 102, 0.15),
      0 18px 38px rgba(0, 0, 0, 0.055),
      0 8px 18px rgba(255,255,255,0.28),
      inset 0 1px 0 rgba(255,255,255,0.98),
      inset 0 -1px 0 rgba(214, 201, 233, 0.18) !important;
  }

  /* Slightly improve readability globally */
  p, li, .section-subheading, .wte-subheading {
    font-size: clamp(1rem, 4.1vw, 1.08rem) !important;
    line-height: 1.6 !important;
  }

  .mobile-quick-links a,
  .quick-links-grid a,
  .nav-grid a,
  .mobile-quick-links .nav-card,
  .quick-links-grid .nav-card,
  .nav-grid .nav-card,
  .booking-direct-card .booking-card-actions a,
  .booking-direct-card .booking-card-actions .btn,
  .hero a[href^="#"],
  .hero a[href^="tel:"] {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    font-weight: 700 !important;
  }
}




@media (max-width: 768px) {

  :root{
    --cmr-page: linear-gradient(180deg, #fcfbfd 0%, #f7f4fb 50%, #fcfbfd 100%);
    --cmr-platform:
      linear-gradient(135deg,
        rgba(255,255,255,0.72) 0%,
        rgba(248,244,252,0.66) 48%,
        rgba(255,255,255,0.78) 100%);
    --cmr-card:
      linear-gradient(135deg,
        rgba(255,255,255,0.90) 0%,
        rgba(252,250,255,0.82) 52%,
        rgba(255,255,255,0.92) 100%);
    --cmr-inner:
      linear-gradient(135deg,
        rgba(255,255,255,0.96) 0%,
        rgba(251,248,255,0.90) 100%);
    --cmr-border: rgba(255,255,255,0.82);
    --cmr-heading: #6a35ae;
    --cmr-text: #667086;
    --cmr-dark: #2e3544;
    --cmr-platform-shadow:
      0 26px 48px rgba(84, 64, 115, 0.07),
      0 10px 22px rgba(0, 0, 0, 0.02);
    --cmr-card-shadow:
      0 22px 40px rgba(84, 64, 115, 0.08),
      0 10px 22px rgba(0, 0, 0, 0.026),
      inset 0 1px 0 rgba(255,255,255,0.96),
      inset 0 -1px 0 rgba(221, 214, 236, 0.14);
    --cmr-inner-shadow:
      0 14px 26px rgba(84, 64, 115, 0.05),
      0 6px 14px rgba(0, 0, 0, 0.018),
      inset 0 1px 0 rgba(255,255,255,0.98);
  }

  html, body {
    background: var(--cmr-page) !important;
    background-color: #fbf9fc !important;
  }

  body, main, .site-shell, .site-wrap, .page-wrap, .page-shell,
  .mobile-site-wrap, .mobile-page-wrap {
    background: transparent !important;
    background-color: transparent !important;
  }

  /* Leave the hero alone */
  .hero, .mobile-hero,
  .hero::before, .hero::after,
  .mobile-hero::before, .mobile-hero::after {
    background-image: initial !important;
  }

  /* SECTION PLATFORMS */
  section:not(.hero):not(.mobile-hero),
  .mobile-premium-stack,
  .clinic-trust-strip,
  .reviews-section,
  .faq-section,
  .contact-section,
  .booking-section,
  .about-section,
  .services-section,
  .home-visits-section,
  .clinic-services-section,
  .expect-section-remade {
    position: relative !important;
    background: transparent !important;
    margin: 18px 0 !important;
    padding: 18px 0 !important;
    isolation: isolate !important;
  }

  section:not(.hero):not(.mobile-hero)::before,
  .mobile-premium-stack::before,
  .clinic-trust-strip::before,
  .reviews-section::before,
  .faq-section::before,
  .contact-section::before,
  .booking-section::before,
  .about-section::before,
  .services-section::before,
  .home-visits-section::before,
  .clinic-services-section::before,
  .expect-section-remade::before {
    content: "";
    position: absolute;
    inset: 0 10px;
    border-radius: 32px;
    background: var(--cmr-platform) !important;
    border: 1px solid rgba(255,255,255,0.76) !important;
    box-shadow: var(--cmr-platform-shadow) !important;
    z-index: -1;
    pointer-events: none;
    backdrop-filter: blur(12px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(110%) !important;
  }

  /* MAIN CARDS */
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card,
  .review-card,
  .faq-card,
  .faq-item,
  .contact-method-card,
  .clinic-card,
  .home-visit-card,
  .booking-card,
  [class*="card"],
  [class*="panel"] {
    background: var(--cmr-card) !important;
    border: 1px solid var(--cmr-border) !important;
    box-shadow: var(--cmr-card-shadow) !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    backdrop-filter: blur(18px) saturate(122%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(122%) !important;
    position: relative !important;
  }

  /* subtle highlight, no blobs */
  .glass-card::before,
  .glass-panel::before,
  .glass-panel-strong::before,
  .feature-card::before,
  .service-card::before,
  .credential-card::before,
  .contact-card::before,
  .booking-direct-card::before,
  .mobile-summary-card::before,
  .mobile-trust-card::before,
  .info-card::before,
  .follow-us-card::before,
  .image-overlay-card::before,
  .review-card::before,
  .faq-card::before,
  .faq-item::before,
  .contact-method-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .booking-card::before,
  [class*="card"]::before,
  [class*="panel"]::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(180deg,
      rgba(255,255,255,0.20) 0%,
      rgba(255,255,255,0.08) 22%,
      transparent 58%);
    mix-blend-mode: screen;
  }

  /* CARD SPACING INSIDE PLATFORMS */
  .glass-card,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card,
  .review-card,
  .faq-item,
  .contact-method-card,
  .clinic-card,
  .home-visit-card,
  .booking-card {
    width: calc(100% - 22px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* THIRD LAYER / INNER TRAYS */
  .booking-direct-card .booking-card-top,
  .booking-direct-card .booking-card-price-wrap,
  .booking-direct-card .booking-card-duration,
  .service-list-item,
  .faq-item summary,
  .faq-item .faq-question,
  .info-card .inner,
  .mobile-summary-card .inner,
  .booking-direct-card .booking-card-actions a,
  .booking-direct-card .booking-card-actions .btn,
  .mobile-quick-links a,
  .quick-links-grid a,
  .nav-grid a,
  .nav-card,
  .mobile-nav-card {
    background: var(--cmr-inner) !important;
    border: 1px solid rgba(255,255,255,0.86) !important;
    box-shadow: var(--cmr-inner-shadow) !important;
    border-radius: 22px !important;
  }

  /* Typography */
  h1, h2, h3, h4, .section-heading {
    color: var(--cmr-heading) !important;
    letter-spacing: -0.03em !important;
  }

  p, li, .section-subheading, .wte-subheading {
    color: var(--cmr-text) !important;
    line-height: 1.58 !important;
  }

  /* Buttons */
  .btn, .btn-primary, .btn-outline, a.btn, button {
    color: var(--cmr-dark) !important;
    border-radius: 24px !important;
  }

  /* quick links */
  .mobile-quick-links a,
  .quick-links-grid a,
  .nav-grid a,
  .mobile-quick-links .nav-card,
  .quick-links-grid .nav-card,
  .nav-grid .nav-card {
    color: var(--cmr-dark) !important;
    font-weight: 700 !important;
  }

  /* booking cards */
  .booking-direct-card {
    padding: 16px !important;
  }

  .booking-direct-card .booking-card-top {
    width: 100% !important;
    margin: 0 !important;
    padding: 12px !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  .booking-direct-card .booking-card-top h4,
  .booking-direct-card .booking-card-top .booking-card-title {
    font-size: clamp(1rem, 4.2vw, 1.16rem) !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    max-width: 62% !important;
    margin: 0 !important;
    color: var(--cmr-heading) !important;
  }

  .booking-direct-card .booking-card-price-wrap {
    min-width: 84px !important;
    max-width: 96px !important;
    padding: 7px !important;
    gap: 7px !important;
  }

  .booking-direct-card .booking-card-price,
  .booking-direct-card span.booking-card-price {
    font-size: clamp(1rem, 4.6vw, 1.3rem) !important;
    line-height: 0.95 !important;
    font-weight: 800 !important;
    color: var(--cmr-heading) !important;
    letter-spacing: -0.03em !important;
  }

  .booking-direct-card .booking-card-duration,
  .booking-direct-card span.booking-card-duration {
    font-size: clamp(0.76rem, 3vw, 0.88rem) !important;
    min-height: 28px !important;
    padding: 0.28rem 0.5rem !important;
    border-radius: 999px !important;
    color: #6f7788 !important;
  }

  .booking-direct-card p {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* service list rows */
  .service-list-item,
  .home-visits-content .service-list-item,
  .clinic-services-content .service-list-item {
    width: 100% !important;
    margin: 0 !important;
    padding: 15px 16px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .service-list-item > div:first-child p:first-child,
  .home-visits-content .service-list-item > div:first-child p:first-child,
  .clinic-services-content .service-list-item > div:first-child p:first-child {
    font-size: clamp(0.98rem, 4vw, 1.08rem) !important;
    font-weight: 600 !important;
    color: #6a7284 !important;
    margin: 0 0 6px 0 !important;
  }

  .service-list-item > div:first-child p:last-child,
  .home-visits-content .service-list-item > div:first-child p:last-child,
  .clinic-services-content .service-list-item > div:first-child p:last-child {
    font-size: clamp(0.92rem, 3.7vw, 0.98rem) !important;
    font-weight: 700 !important;
    color: var(--cmr-dark) !important;
    margin: 0 !important;
  }

  .service-list-item > span:last-child,
  .home-visits-content .service-list-item > span:last-child,
  .clinic-services-content .service-list-item > span:last-child {
    font-size: clamp(1.04rem, 4.3vw, 1.24rem) !important;
    font-weight: 700 !important;
    color: var(--cmr-dark) !important;
  }

  /* images as their own mounted layer */
  img,
  .service-card img,
  .feature-card img,
  .image-overlay-card img {
    border-radius: 22px !important;
    box-shadow:
      0 18px 30px rgba(83, 61, 112, 0.07),
      0 8px 16px rgba(0,0,0,0.02) !important;
  }

  /* hover depth */
  .glass-card:hover,
  .glass-panel:hover,
  .glass-panel-strong:hover,
  .feature-card:hover,
  .service-card:hover,
  .credential-card:hover,
  .contact-card:hover,
  .booking-direct-card:hover,
  .mobile-summary-card:hover,
  .mobile-trust-card:hover,
  .info-card:hover,
  .follow-us-card:hover,
  .image-overlay-card:hover,
  .review-card:hover,
  .faq-card:hover,
  .faq-item:hover,
  .contact-method-card:hover,
  .clinic-card:hover,
  .home-visit-card:hover,
  .booking-card:hover,
  .service-list-item:hover,
  [class*="card"]:hover,
  [class*="panel"]:hover {
    transform: translateY(-3px) !important;
    box-shadow:
      0 32px 54px rgba(84, 64, 115, 0.11),
      0 14px 28px rgba(0, 0, 0, 0.032),
      inset 0 1px 0 rgba(255,255,255,0.98),
      inset 0 -1px 0 rgba(221, 214, 236, 0.14) !important;
  }

  /* remove corner artifacts */
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card,
  .review-card,
  .faq-card,
  .faq-item,
  .contact-method-card,
  .clinic-card,
  .home-visit-card,
  .booking-card,
  [class*="card"],
  [class*="panel"] {
    clip-path: inset(0 round 28px) !important;
  }

  .booking-direct-card .booking-card-top,
  .booking-direct-card .booking-card-price-wrap,
  .booking-direct-card .booking-card-duration,
  .service-list-item,
  .mobile-quick-links a,
  .quick-links-grid a,
  .nav-grid a,
  .nav-card,
  .mobile-nav-card {
    clip-path: inset(0 round 22px) !important;
  }
}




@media (max-width: 768px) {

  /* Stronger shadow around section platforms */
  section:not(.hero):not(.mobile-hero)::before,
  .mobile-premium-stack::before,
  .clinic-trust-strip::before,
  .reviews-section::before,
  .faq-section::before,
  .contact-section::before,
  .booking-section::before,
  .about-section::before,
  .services-section::before,
  .home-visits-section::before,
  .clinic-services-section::before,
  .expect-section-remade::before {
    box-shadow:
      0 40px 70px rgba(84, 64, 115, 0.13),
      0 18px 36px rgba(0, 0, 0, 0.04) !important;
  }

  /* Stronger shadow around all mobile cards/panels */
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .credential-card,
  .contact-card,
  .booking-direct-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .info-card,
  .follow-us-card,
  .image-overlay-card,
  .review-card,
  .faq-card,
  .faq-item,
  .contact-method-card,
  .clinic-card,
  .home-visit-card,
  .booking-card,
  [class*="card"],
  [class*="panel"] {
    box-shadow:
      0 30px 54px rgba(84, 64, 115, 0.14),
      0 14px 30px rgba(0, 0, 0, 0.045),
      inset 0 1px 0 rgba(255,255,255,0.96),
      inset 0 -1px 0 rgba(221, 214, 236, 0.14) !important;
  }

  /* Stronger shadow around inner trays, pills, quick links and button-like layers */
  .booking-direct-card .booking-card-top,
  .booking-direct-card .booking-card-price-wrap,
  .booking-direct-card .booking-card-duration,
  .service-list-item,
  .faq-item summary,
  .faq-item .faq-question,
  .info-card .inner,
  .mobile-summary-card .inner,
  .booking-direct-card .booking-card-actions a,
  .booking-direct-card .booking-card-actions .btn,
  .mobile-quick-links a,
  .quick-links-grid a,
  .nav-grid a,
  .nav-card,
  .mobile-nav-card,
  .btn,
  .btn-primary,
  .btn-outline,
  a.btn,
  button {
    box-shadow:
      0 20px 34px rgba(84, 64, 115, 0.11),
      0 8px 18px rgba(0, 0, 0, 0.03),
      inset 0 1px 0 rgba(255,255,255,0.98) !important;
  }

  /* Slightly stronger mounted shadow for images */
  img,
  .service-card img,
  .feature-card img,
  .image-overlay-card img {
    box-shadow:
      0 24px 40px rgba(83, 61, 112, 0.11),
      0 10px 20px rgba(0,0,0,0.03) !important;
  }

  /* Stronger hover depth */
  .glass-card:hover,
  .glass-panel:hover,
  .glass-panel-strong:hover,
  .feature-card:hover,
  .service-card:hover,
  .credential-card:hover,
  .contact-card:hover,
  .booking-direct-card:hover,
  .mobile-summary-card:hover,
  .mobile-trust-card:hover,
  .info-card:hover,
  .follow-us-card:hover,
  .image-overlay-card:hover,
  .review-card:hover,
  .faq-card:hover,
  .faq-item:hover,
  .contact-method-card:hover,
  .clinic-card:hover,
  .home-visit-card:hover,
  .booking-card:hover,
  .service-list-item:hover,
  [class*="card"]:hover,
  [class*="panel"]:hover {
    box-shadow:
      0 40px 68px rgba(84, 64, 115, 0.18),
      0 18px 36px rgba(0, 0, 0, 0.05),
      inset 0 1px 0 rgba(255,255,255,0.98),
      inset 0 -1px 0 rgba(221, 214, 236, 0.14) !important;
  }
}




/* Make the hero banner float above the hero image like the CTA buttons */
.hero-logo,
.hero-banner,
.mobile-hero-logo,
.hero .logo,
.hero .banner {
  position: relative !important;
  z-index: 5 !important;
  filter: drop-shadow(0 18px 28px rgba(93, 67, 126, 0.18))
          drop-shadow(0 8px 16px rgba(0, 0, 0, 0.08)) !important;
  transform: translateY(-2px) !important;
}

.hero-logo img,
.hero-banner img,
.mobile-hero-logo img,
.hero .logo img,
.hero .banner img {
  display: block !important;
  filter: drop-shadow(0 10px 18px rgba(255,255,255,0.22)) !important;
}

.hero-logo::before,
.hero-banner::before,
.mobile-hero-logo::before,
.hero .logo::before,
.hero .banner::before {
  content: "" !important;
  position: absolute !important;
  inset: -8px !important;
  border-radius: 26px !important;
  background: linear-gradient(180deg,
    rgba(255,255,255,0.16) 0%,
    rgba(255,255,255,0.06) 45%,
    rgba(255,255,255,0.00) 100%) !important;
  box-shadow:
    0 22px 34px rgba(93, 67, 126, 0.14),
    0 8px 18px rgba(0, 0, 0, 0.05),
    inset 0 1px 0 rgba(255,255,255,0.32) !important;
  pointer-events: none !important;
  z-index: -1 !important;
}




/* Premium font pairing: Playfair for headings, Poppins for body/UI */
html, body,
button, input, select, textarea,
p, li, a, span, div, small, label {
  font-family: 'Poppins', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.section-heading,
.hero-title,
.hero-tagline,
.feature-card h3,
.info-card h3,
.review-card h3,
.faq-card h3,
.booking-card h3,
.glass-card h3 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
}

nav a,
.btn, .btn-primary, .btn-outline, a.btn, button,
.feature-card p, .info-card p, .review-card p, .faq-card p,
input, select, textarea {
  font-family: 'Poppins', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
}




/* Tasteful gold accent system preview */
:root{
  --gold-accent: #d4af37;
  --gold-soft: rgba(212, 175, 55, 0.18);
  --gold-line: rgba(212, 175, 55, 0.35);
  --gold-glow: rgba(212, 175, 55, 0.14);
}

/* 1) Subtle gold glow + border warmth on primary buttons */
.btn-primary,
a.btn-primary,
button.btn-primary,
.booking-card .btn,
.booking-card a.btn,
.hero .btn,
.hero a.btn {
  box-shadow:
    0 10px 22px var(--gold-glow),
    0 6px 18px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.28) !important;
  border-color: var(--gold-line) !important;
}

/* 2) Gold accent for icon circles / feature icons */
.feature-icon,
.info-icon,
.contact-icon,
.review-icon,
.faq-icon {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.35),
    0 6px 16px var(--gold-glow) !important;
  border: 1px solid var(--gold-line) !important;
}

.feature-icon svg,
.info-icon svg,
.contact-icon svg,
.review-icon svg,
.faq-icon svg {
  color: #b68b14 !important;
}

/* 3) Thin gold divider flourish under section headings */
.section-heading,
h2.section-heading {
  position: relative;
}

.section-heading::after,
h2.section-heading::after {
  content: "";
  display: block;
  width: 72px;
  height: 2px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg,
    rgba(212,175,55,0.0) 0%,
    rgba(212,175,55,0.75) 50%,
    rgba(212,175,55,0.0) 100%);
}

/* 4) Soft gold edge on glass cards */
.glass-card,
.feature-card,
.info-card,
.review-card,
.faq-card,
.booking-card,
.contact-card {
  border-image: none !important;
  box-shadow:
    0 14px 28px rgba(0,0,0,0.06),
    0 8px 20px var(--gold-glow),
    inset 0 1px 0 rgba(255,255,255,0.28) !important;
}

/* 5) Gold accent links on hover only */
a:hover {
  text-decoration-color: var(--gold-accent);
}



/* 7) Slight gold warmth in divider lines if present */
hr,
.section-divider {
  border-color: var(--gold-line) !important;
  box-shadow: 0 1px 10px var(--gold-soft);
}




/* Subtle premium gold hover effect on buttons only */
.btn,
button,
a.btn {
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease !important;
}

.btn:hover,
button:hover,
a.btn:hover {
  transform: translateY(-2px) !important;
  box-shadow:
    0 12px 28px rgba(212, 175, 55, 0.18),
    0 6px 16px rgba(0, 0, 0, 0.08) !important;
}

.btn:hover,
button:hover,
a.btn:hover {
  filter: brightness(1.03) !important;
}




/* Fix booking CTA button alignment/spacing in the "Prefer to speak to someone first?" section only */
.booking-cta-row-v73{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:24px !important;
  flex-wrap:wrap !important;
  margin-top:28px !important;
}
.booking-cta-row-v73 > a,
.booking-cta-row-v73 > button{
  margin:0 !important;
  flex:0 0 auto !important;
}



/* Structural cleanup only:
   - merged all CSS blocks into one ordered stylesheet
   - deduplicated safe Google Fonts/preconnect links
   - no intentional visual/layout changes */



/* Remove always-running pulse effects, keep a static premium gold glow */
.glass-card,
.glass-panel,
.glass-panel-strong {
      background: linear-gradient(135deg, rgba(255,255,255,0.66) 0%, rgba(255,255,255,0.36) 50%, rgba(255,255,255,0.58) 100%);
      backdrop-filter: blur(42px) saturate(220%);
      -webkit-backdrop-filter: blur(42px) saturate(220%);
      border: 1px solid rgba(255,255,255,0.84);
      border-radius: 24px;
      box-shadow:
        0 24px 64px rgba(31,38,135,0.16),
        0 8px 22px rgba(106,27,154,0.10),
        inset 0 1px 0 rgba(255,255,255,0.96),
        inset 0 -1px 0 rgba(255,255,255,0.28);
    }

.btn-primary,
.btn-outline,
.nav-links a {
  box-shadow:
    0 0 0 1px rgba(198, 161, 48, 0.18),
    0 0 6px 1px rgba(212, 175, 55, 0.10),
    0 4px 15px rgba(106,27,154,0.18),
    0 8px 24px rgba(216,27,96,0.08) !important;
}

/* Keep hover polish, but without pulsing animation */
.glass-card:hover {
      transform: translateY(-4px);
      box-shadow:
        0 24px 64px rgba(31,38,135,0.18),
        0 10px 28px rgba(106,27,154,0.10),
        inset 0 1px 0 rgba(255,255,255,0.98);
    }

.btn-primary:hover,
.btn-outline:hover,
.nav-links a:hover {
  box-shadow:
    0 0 0 1px rgba(198, 161, 48, 0.22),
    0 0 8px 1px rgba(212, 175, 55, 0.12),
    0 6px 25px rgba(106,27,154,0.22),
    0 12px 30px rgba(216,27,96,0.12) !important;
}
/* Mobile hero option 1 — clean conversion layout */
.mobile-hero-opt1 {
  display: none;
}

@media (max-width: 768px) {
  .hero {
    background: none !important;
    min-height: auto !important;
    padding: 4.9rem 0 1.25rem !important;
  }

  .hero::before {
    display: none !important;
  }

  .hero > .mobile-hero-mini,
  .hero > .mobile-hero-rebuild,
  .hero > .hero-banner,
  .hero > .hero-content {
    display: none !important;
  }

  .hero > .mobile-hero-opt1 {
    display: block !important;
    width: 100% !important;
    padding: 0 0.95rem !important;
  }

  .mobile-hero-opt1__banner {
    margin: 0 -0.95rem 0.95rem !important;
    overflow: hidden !important;
  }

  .mobile-hero-opt1__banner img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  .mobile-hero-opt1__content {
    padding: 1.25rem 1rem 1rem !important;
    border-radius: 22px !important;
    text-align: center !important;
    box-shadow: 0 14px 38px rgba(106,27,154,0.12), inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }

  .mobile-hero-opt1__content h1 {
    margin: 0 0 0.7rem !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 1.6rem !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: #3d1a5e !important;
  }

  .mobile-hero-opt1__content p {
    margin: 0 !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
    color: #5b6170 !important;
  }

  .mobile-hero-opt1__actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
    margin: 1rem 0 0.9rem !important;
  }

  .mobile-hero-opt1__actions a {
    width: 100% !important;
    min-height: 52px !important;
    justify-content: center !important;
    border-radius: 16px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
  }

  .mobile-hero-opt1__actions .btn-outline { font-size: 0.95rem;
    background: rgba(255,255,255,0.78) !important;
    border: 1.5px solid rgba(106,27,154,0.22) !important;
    color: #6a1b9a !important;
  }

  .mobile-hero-opt1__trust {
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #6a1b9a !important;
  }
}

@media (max-width: 380px) {
  .mobile-hero-opt1__content h1 {
    font-size: 1.45rem !important;
  }

  .mobile-hero-opt1__content {
    padding: 1.15rem 0.9rem 0.95rem !important;
  }
}


/* MOBILE HERO BANNER FULL WIDTH FIX */
@media (max-width: 768px) {
  .hero-banner {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }
  .hero-banner img {
    width: 100% !important;
    border-radius: 0 !important;
  }
}

/* MOBILE HERO BANNER POSITION + SCALE ADJUSTMENT */
@media (max-width: 768px) {
  .hero {
    padding-top: 4.1rem !important;
    padding-bottom: 1.1rem !important;
  }

  .hero > .mobile-hero-opt1 {
    padding: 0 !important;
  }

  .mobile-hero-opt1__banner {
    margin: -0.55rem 0 0.85rem !important;
    overflow: hidden !important;
  }

  .mobile-hero-opt1__banner img {
    width: 115% !important;
    max-width: none !important;
    margin-left: -7.5% !important;
    height: auto !important;
    display: block !important;
  }

  .mobile-hero-opt1__content {
    margin: 0 0.95rem !important;
  }
}


/* MOBILE HERO POLISH FIX */
@media (max-width: 768px) {
  .hero {
    padding-top: 3.55rem !important;
    padding-bottom: 0.55rem !important;
  }

  .hero > .mobile-hero-opt1 {
    padding: 0 !important;
  }

  .mobile-hero-opt1__banner {
    position: relative !important;
    z-index: 3 !important;
    width: calc(100% - 1rem) !important;
    margin: -1rem auto -0.8rem !important;
    overflow: visible !important;
  }

  .mobile-hero-opt1__banner img {
    width: 118% !important;
    max-width: none !important;
    margin-left: -9% !important;
    display: block !important;
    height: auto !important;
    filter: drop-shadow(0 8px 20px rgba(38, 16, 52, 0.18)) !important;
  }

  .mobile-hero-opt1__content {
    position: relative !important;
    z-index: 2 !important;
    margin: 0 0.65rem !important;
    padding: 2rem 1rem 0.95rem !important;
    border-radius: 22px !important;
    box-shadow:
      0 16px 34px rgba(106,27,154,0.10),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }

  .mobile-hero-opt1__content h1 {
    margin: 0 0 0.5rem !important;
    font-size: 1.5rem !important;
    line-height: 1.12 !important;
  }

  .mobile-hero-opt1__content p {
    margin: 0 !important;
    font-size: 0.96rem !important;
    line-height: 1.48 !important;
  }

  .mobile-hero-opt1__actions {
    gap: 0.7rem !important;
    margin: 0.9rem 0 0.7rem !important;
  }

  .mobile-hero-opt1__actions a {
    min-height: 50px !important;
    border-radius: 15px !important;
    font-size: 0.98rem !important;
  }

  .mobile-hero-opt1__trust {
    font-size: 0.84rem !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 414px) {
  .mobile-hero-opt1__banner {
    width: calc(100% - 0.5rem) !important;
    margin: -1.15rem auto -0.95rem !important;
  }

  .mobile-hero-opt1__banner img {
    width: 120% !important;
    margin-left: -10% !important;
  }

  .mobile-hero-opt1__content {
    margin: 0 0.45rem !important;
    padding: 1.95rem 0.95rem 0.9rem !important;
  }
}


.section-container > .section-heading { margin-bottom: 1rem; }
.section-subheading { margin-bottom: 2.25rem; }
#services .service-category,
#home-visits .home-visits-grid,
#testimonials .testimonials-grid,
#gallery .gallery-grid,
#what-to-expect .wte-grid,
#booking .booking-direct-grid { margin-top: 2rem; }


@media (min-width: 768px) {
  .tinnitus-tone-tool__media-strip { gap: 0.75rem; }
  .tinnitus-tone-tool__media-support { margin-top: 0.85rem; }
}



.tinnitus-tone-tool__playback {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.tinnitus-tone-tool__match {
  padding: 1.1rem 1.15rem;
  margin-top: 0.75rem;
}
.tinnitus-tone-tool__save {
  margin-top: 0.9rem;
  width: 100%;
}
.tinnitus-step-panel {
  margin-top: 1rem !important;
  padding: 1.1rem 1.15rem;
  border-radius: 24px;
}
.tinnitus-step-panel h3 {
  margin: 0 0 0.8rem;
  color: #6a1b9a;
  font-size: 1.1rem;
  line-height: 1.25;
}
.tinnitus-step-panel__list {
  display: grid;
  gap: 0.85rem;
}
.tinnitus-step-panel__item {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 0.75rem;
  align-items: start;
}
.tinnitus-step-panel__num {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(106, 27, 154, 0.08);
  color: #6a1b9a;
  font-weight: 800;
  font-size: 0.95rem;
}
.tinnitus-step-panel__text strong {
  display: block;
  color: #3f4657;
  font-size: 0.98rem;
  line-height: 1.25;
  margin-bottom: 0.15rem;
}
.tinnitus-step-panel__text span {
  display: block;
  color: #5b6472;
  font-size: 0.93rem;
  line-height: 1.55;
}



.tinnitus-reassurance-card {
  margin-top: 1rem;
  padding: 1.1rem 1.15rem;
}
.tinnitus-reassurance-card h3 {
  margin: 0 0 0.6rem;
}
.tinnitus-reassurance-card p:last-child {
  margin-bottom: 0;
}



/* FIX: Right panel vertical balance */
.tinnitus-tone-tool__controls {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Anchor steps card to bottom */
.tinnitus-steps-card {
  margin-top: auto;
}



/* Tinnitus desktop equal-height columns */
@media (min-width: 769px) {
  .tinnitus-tone-tool__layout {
    align-items: stretch !important;
  }

  .tinnitus-tone-tool__layout > .tinnitus-tone-tool__panel {
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  .tinnitus-tone-tool__controls,
  .tinnitus-tone-tool__playback {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .tinnitus-tone-tool__match {
    margin-top: auto;
  }

  .tinnitus-step-panel,
  .tinnitus-steps-card {
    margin-top: 1rem;
  }
}



/* Tinnitus wave type visual guide */
.tinnitus-wave-icons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 1rem;
}

.tinnitus-wave-icon-card {
  padding: 0.8rem 0.8rem 0.7rem;
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,0.65) 0%, rgba(255,255,255,0.35) 100%);
  border: 1px solid rgba(255,255,255,0.75);
  box-shadow: 0 8px 24px rgba(31,38,135,0.08), inset 0 1px 0 rgba(255,255,255,0.8);
  color: #6a1b9a;
  text-align: center;
}

.tinnitus-wave-icon-svg {
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.35rem;
}

.tinnitus-wave-icon-svg svg {
  width: 100%;
  max-width: 110px;
  height: 34px;
}

.tinnitus-wave-icon-card span {
  display: block;
  font-size: 0.86rem;
  font-weight: 700;
  color: #4b5563;
}

@media (max-width: 768px) {
  .tinnitus-wave-icons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
  }
  .tinnitus-wave-icon-card {
    padding: 0.7rem 0.65rem 0.6rem;
  }
  .tinnitus-wave-icon-card span {
    font-size: 0.8rem;
  }
}



/* Tinnitus layout refinement (desktop only) */
@media (min-width: 769px) {

  /* tighten right column spacing */
  .tinnitus-tone-tool__playback {
    gap: 0.85rem;
  }

  /* bring wave icons closer to radios */
  .tinnitus-wave-icons {
    margin-top: 0.6rem;
  }

  /* visually group wave + icons */
  fieldset {
    margin-bottom: 0.5rem;
  }

  /* reduce space above match card */
  .tinnitus-tone-tool__match {
    margin-top: 0.75rem !important;
  }

  /* balance lower cards spacing */
  .tinnitus-step-panel,
  .tinnitus-steps-card {
    margin-top: 0.75rem;
  }

  /* align bottom edges better */
  .tinnitus-tone-tool__panel {
    justify-content: space-between;
  }

}


/* Conversion trust upgrades */
.conversion-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:0.7rem;
  justify-content:center;
  align-items:center;
  margin:1rem auto 0;
}

.hero-trust-row{
  max-width:920px;
  margin-top:1rem;
  margin-bottom:0.25rem;
}

.booking-trust-row{
  max-width:860px;
  margin-top:0.9rem;
  margin-bottom:1.1rem;
}

.conversion-trust-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.7rem 1rem;
  border-radius:999px;
  background:linear-gradient(145deg, rgba(255,255,255,0.82) 0%, rgba(244,235,252,0.66) 100%);
  border:1px solid rgba(255,255,255,0.9);
  box-shadow:0 4px 14px rgba(106,27,154,0.08), inset 0 1px 0 rgba(255,255,255,0.95);
  color:#5b6472;
  font-size:0.92rem;
  font-weight:600;
  line-height:1.35;
  text-align:center;
}

.booking-support-note{
  margin:0.85rem 0 1rem;
  color:#5f6474;
  line-height:1.7;
  font-size:0.96rem;
}

.footer-authority-note{
  margin:0 0 1rem;
  color:#6b7280;
  font-size:0.92rem;
  line-height:1.65;
}

@media (max-width: 768px){
  .hero-trust-row{
    max-width:28rem;
    gap:0.55rem;
  }

  .booking-trust-row{
    gap:0.55rem;
    margin-top:0.8rem;
    margin-bottom:1rem;
  }

  .conversion-trust-pill{
    width:100%;
    font-size:0.9rem;
    padding:0.72rem 0.95rem;
  }

  .booking-support-note,
  .footer-authority-note{
    font-size:0.94rem;
  }
}


/* Clean upsell notes */
.booking-upsell-note{
  margin: 0.25rem 0 0;
  color: #5f6474;
  font-size: 0.94rem;
  line-height: 1.65;
}

.booking-repeat-care-note,
.booking-prep-note{
  max-width: 760px;
  margin: 1rem auto 0;
  text-align: center;
  color: #6b647a;
  line-height: 1.7;
  font-size: 0.96rem;
}

.booking-prep-note{
  margin-top: 0.55rem;
}

.gallery-caption{
  margin-top:0.5rem;
  text-align:center;
  font-size:0.9rem;
  color:#6b647a;
}


/* Hero CTA refinement */
.hero-buttons{
  align-items:center;
  gap:1rem;
}
.hero-buttons .hero-cta-glass{
  min-width:220px;
  min-height:58px;
  padding:0.95rem 1.75rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-weight:700;
  letter-spacing:0.01em;
  color:rgba(255,255,255,0.96) !important;
  background:linear-gradient(145deg, rgba(106,27,154,0.88) 0%, rgba(125,52,173,0.86) 55%, rgba(92,25,137,0.9) 100%);
  border:1px solid rgba(255,255,255,0.18);
  box-shadow:0 10px 28px rgba(106,27,154,0.24), 0 5px 14px rgba(216,27,96,0.10), inset 0 1px 0 rgba(255,255,255,0.20), inset 0 -1px 0 rgba(255,255,255,0.05);
  backdrop-filter:blur(16px) saturate(145%);
  -webkit-backdrop-filter:blur(16px) saturate(145%);
  transition:transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, filter 0.22s ease;
}
.hero-buttons .hero-cta-glass:hover{
  transform:translateY(-2px);
  filter:brightness(1.03);
  box-shadow:0 14px 34px rgba(106,27,154,0.30), 0 7px 18px rgba(216,27,96,0.12), inset 0 1px 0 rgba(255,255,255,0.24), inset 0 -1px 0 rgba(255,255,255,0.06);
}
.hero-buttons .hero-cta-glass:active{
  transform:translateY(0);
  box-shadow:0 8px 20px rgba(106,27,154,0.22), 0 4px 10px rgba(216,27,96,0.08), inset 0 1px 0 rgba(255,255,255,0.18);
}
.hero-buttons .hero-cta-glass:focus-visible{
  outline:3px solid rgba(106,27,154,0.18);
  outline-offset:3px;
}
@media (max-width: 768px){
  .hero-buttons{
    gap:0.8rem;
  }
  .hero-buttons .hero-cta-glass{
    width:100%;
    max-width:300px;
    min-height:56px;
    padding:0.95rem 1.35rem;
  }
}


/* FIX: ensure buttons are purple by default (not on hover only) */
.hero-buttons .hero-cta-glass{
  color:#ffffff !important;
  background:linear-gradient(145deg, #6a1b9a, #7d34ad);
}

.hero-buttons .hero-cta-glass:hover{
  background:linear-gradient(145deg, #7b2bb5, #8e44d1);
  color:#ffffff !important;
}

/* Upgrade to solid premium purple (like WhatsApp button style) */
.hero-buttons .hero-cta-glass{
  background: linear-gradient(180deg, #8e44d1 0%, #6a1b9a 100%) !important;
  color:#ffffff !important;
  border:none;
  box-shadow:
    0 8px 20px rgba(106,27,154,0.35),
    inset 0 2px 6px rgba(255,255,255,0.15);
}

.hero-buttons .hero-cta-glass:hover{
  background: linear-gradient(180deg, #9b4fe0 0%, #7b2bb5 100%) !important;
  transform: translateY(-1px);
}



/* Sitewide premium purple CTA consistency */
.btn-primary,
.btn-book-service,
.mobile-service-book-btn,
.booking-card-actions .btn-primary,
.booking-card-actions .btn-book-service,
.service-card .btn-primary,
.hero-buttons .hero-cta-glass{
  background: linear-gradient(180deg, #8e44d1 0%, #6a1b9a 100%) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow:
    0 8px 20px rgba(106,27,154,0.35),
    inset 0 2px 6px rgba(255,255,255,0.15) !important;
}

.btn-primary:hover,
.btn-book-service:hover,
.mobile-service-book-btn:hover,
.booking-card-actions .btn-primary:hover,
.booking-card-actions .btn-book-service:hover,
.service-card .btn-primary:hover,
.hero-buttons .hero-cta-glass:hover{
  background: linear-gradient(180deg, #9b4fe0 0%, #7b2bb5 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

.btn-primary:active,
.btn-book-service:active,
.mobile-service-book-btn:active,
.booking-card-actions .btn-primary:active,
.booking-card-actions .btn-book-service:active,
.service-card .btn-primary:active,
.hero-buttons .hero-cta-glass:active{
  transform: translateY(0) scale(0.985);
  box-shadow:
    0 5px 14px rgba(106,27,154,0.28),
    inset 0 2px 6px rgba(255,255,255,0.12) !important;
}

/* Subtle premium tap feedback for mobile */
@media (max-width: 768px){
  .btn-primary,
  .btn-outline,
  .btn-book-service,
  .mobile-service-book-btn,
  .hero-buttons a,
  .booking-card-actions a,
  .service-card .btn,
  .nav-links a{
    transition:
      transform 0.16s ease,
      box-shadow 0.16s ease,
      filter 0.16s ease,
      background 0.18s ease,
      color 0.18s ease !important;
  }

  .btn-primary:active,
  .btn-outline:active,
  .btn-book-service:active,
  .mobile-service-book-btn:active,
  .hero-buttons a:active,
  .booking-card-actions a:active,
  .service-card .btn:active,
  .nav-links a:active{
    transform: scale(0.98);
    filter: brightness(0.98);
  }
}

/* Revert to soft white buttons with invert hover */
.btn-primary,
.btn-book-service,
.mobile-service-book-btn,
.hero-buttons .hero-cta-glass,
.booking-card-actions .btn-primary,
.service-card .btn-primary{
  background: rgba(255,255,255,0.7) !important;
  color: #222 !important;
  border: 1px solid rgba(255,255,255,0.6) !important;
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  box-shadow:
    0 6px 18px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.6) !important;
}

.btn-primary:hover,
.btn-book-service:hover,
.mobile-service-book-btn:hover,
.hero-buttons .hero-cta-glass:hover,
.booking-card-actions .btn-primary:hover,
.service-card .btn-primary:hover{
  background: linear-gradient(180deg, #8e44d1 0%, #6a1b9a 100%) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow:
    0 10px 24px rgba(106,27,154,0.35),
    inset 0 2px 6px rgba(255,255,255,0.15) !important;
}

/* Increase button transparency by ~10% */
.btn-primary,
.btn-book-service,
.mobile-service-book-btn,
.hero-buttons .hero-cta-glass,
.booking-card-actions .btn-primary,
.service-card .btn-primary{
  background: rgba(255,255,255,0.6) !important;
  border: 1px solid rgba(255,255,255,0.5) !important;
}


/* Stronger global glassmorphism polish */
nav {
  background: rgba(255,255,255,0.90);
  backdrop-filter: blur(34px) saturate(215%);
  -webkit-backdrop-filter: blur(34px) saturate(215%);
  border-bottom: 1px solid rgba(255,255,255,0.98);
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 10px 28px rgba(106,27,154,0.08),
    0 4px 12px rgba(216,27,96,0.05);
}

nav.scrolled {
  background: rgba(255,255,255,0.94);
  backdrop-filter: blur(30px) saturate(205%);
  -webkit-backdrop-filter: blur(30px) saturate(205%);
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 12px 30px rgba(106,27,154,0.10),
    0 4px 12px rgba(0,0,0,0.04);
}

footer {
  background: linear-gradient(160deg, rgba(255,255,255,0.90) 0%, rgba(248,240,255,0.92) 50%, rgba(252,228,236,0.88) 100%);
  backdrop-filter: blur(38px) saturate(195%);
  -webkit-backdrop-filter: blur(38px) saturate(195%);
  border-top: 1px solid rgba(255,255,255,0.96);
  box-shadow:
    0 -8px 34px rgba(106,27,154,0.09),
    0 -1px 0 rgba(255,255,255,0.96),
    inset 0 1px 0 rgba(255,255,255,0.98);
}

/* Slightly stronger glass feel on white-button style */
.btn-primary,
.btn-book-service,
.mobile-service-book-btn,
.hero-buttons .hero-cta-glass,
.booking-card-actions .btn-primary,
.service-card .btn-primary {
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.08),
    0 4px 14px rgba(106,27,154,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82) !important;
}

@media (max-width: 768px) {
  .glass-panel {
    backdrop-filter: blur(18px) saturate(155%);
    -webkit-backdrop-filter: blur(18px) saturate(155%);
  }
  .glass-panel-strong {
    backdrop-filter: blur(22px) saturate(165%);
    -webkit-backdrop-filter: blur(22px) saturate(165%);
  }
  .glass-card {
    backdrop-filter: blur(16px) saturate(150%);
    -webkit-backdrop-filter: blur(16px) saturate(150%);
  }
}


/* Global glossy finish */


body::before{
  content:"";
  position: fixed;
  inset: 0;
  background:
    radial-gradient(1200px 520px at 15% 0%, rgba(255,255,255,0.28) 0%, rgba(255,255,255,0.10) 38%, rgba(255,255,255,0) 68%),
    radial-gradient(900px 420px at 85% 8%, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.08) 34%, rgba(255,255,255,0) 70%),
    linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.02) 18%, rgba(255,255,255,0) 42%);
  pointer-events: none;
  z-index: 0;
}

body > *{
  position: relative;
  z-index: 1;
}

/* Add a glossy sheen to major glass elements */
.glass-panel,
.glass-panel-strong,
.glass-card,
.hero-banner,
nav,
footer{
  position: relative;
  overflow: hidden;
}

.glass-panel::after,
.glass-panel-strong::after,
.glass-card::after,
.hero-banner::after,
nav::after,
footer::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,255,255,0.16) 10%,
      rgba(255,255,255,0.06) 22%,
      rgba(255,255,255,0.00) 42%);
  pointer-events:none;
  z-index:1;
}

.glass-panel > *,
.glass-panel-strong > *,
.glass-card > *,
.hero-banner > *,
nav > *,
footer > *{
  position: relative;
  z-index: 2;
}

/* Glossy button sheen */
.btn-primary,
.btn-book-service,
.mobile-service-book-btn,
.hero-buttons .hero-cta-glass,
.booking-card-actions .btn-primary,
.service-card .btn-primary,
.btn-outline{
  position: relative;
  overflow: hidden;
}

.btn-primary::before,
.btn-book-service::before,
.mobile-service-book-btn::before,
.hero-buttons .hero-cta-glass::before,
.booking-card-actions .btn-primary::before,
.service-card .btn-primary::before,
.btn-outline::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:52%;
  background: linear-gradient(180deg, rgba(255,255,255,0.30) 0%, rgba(255,255,255,0.14) 55%, rgba(255,255,255,0) 100%);
  pointer-events:none;
}

.btn-primary > *,
.btn-book-service > *,
.mobile-service-book-btn > *,
.hero-buttons .hero-cta-glass > *,
.booking-card-actions .btn-primary > *,
.service-card .btn-primary > *,
.btn-outline > *{
  position: relative;
  z-index: 1;
}

@media (max-width:768px){
  body::before{
    background:
      radial-gradient(720px 280px at 18% 0%, rgba(255,255,255,0.20) 0%, rgba(255,255,255,0.08) 42%, rgba(255,255,255,0) 72%),
      linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 18%, rgba(255,255,255,0) 42%);
  }
}


/* FINAL mobile hero spacing restore — target only top banner gap + bottom crop */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: auto !important;
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0 !important;
    padding-bottom: 0.2rem !important;
    gap: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-top: 0 !important;
    margin-bottom: 0.65rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0 !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.65rem !important;
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons button {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    padding-top: 0.2rem !important;
    padding-bottom: 0.25rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.5rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.55rem !important;
    gap: 0.6rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons button {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
}




@media (max-width: 768px){
  .hero{
    padding: 4.45rem 0 0.2rem !important;
    margin: 0 !important;
  }
  .mobile-hero-final{
    margin: 0 !important;
  }
  .mobile-hero-final__media{
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-radius: 0 !important;
    min-height: 36rem !important;
    box-shadow: none !important;
    background: #efe7e7 !important;
  }
  .mobile-hero-final__media > img{
    height: 36rem !important;
    object-position: center 36% !important;
  }
  .mobile-hero-final__overlay{
    padding: 1.1rem 1.35rem 1.8rem !important;
  }
  .mobile-hero-final__actions{
    margin-top: 1.05rem !important;
    padding-bottom: 0.2rem !important;
  }
}
@media (max-width: 420px){
  .mobile-hero-final__media{
    min-height: 34.5rem !important;
  }
  .mobile-hero-final__media > img{
    height: 34.5rem !important;
    object-position: center 34% !important;
  }
}



@media (max-width: 768px){
  .hero{
    padding: 0 !important;
    margin: 0 !important;
    min-height: auto !important;
  }

  .hero > .mobile-hero-final{
    margin: 0 !important;
  }

  .mobile-hero-final__media{
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    min-height: 25.75rem !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .mobile-hero-final__media > img{
    height: 25.75rem !important;
    object-position: center 18% !important;
  }

  .mobile-hero-final__overlay{
    padding: 0.9rem 1rem 0.85rem !important;
  }

  .mobile-hero-final__actions{
    display: none !important;
  }
}

@media (max-width: 420px){
  .mobile-hero-final__media{
    min-height: 24.75rem !important;
  }

  .mobile-hero-final__media > img{
    height: 24.75rem !important;
    object-position: center 16% !important;
  }
}


/* Premium tighten + layered overlap refinement */
@media (min-width: 769px){
  .hero-trust-card,
  .hero-feature-summary,
  .home-visit-summary-card{
    position: relative !important;
    margin-top: 18px !important;
    margin-bottom: -26px !important;
    z-index: 4 !important;
    box-shadow:
      0 18px 42px rgba(126, 96, 150, 0.12),
      0 6px 18px rgba(216, 27, 96, 0.06) !important;
  }

  .hero-trust-card::after,
  .hero-feature-summary::after,
  .home-visit-summary-card::after{
    content: "" !important;
    position: absolute !important;
    left: 28px !important;
    right: 28px !important;
    bottom: -18px !important;
    height: 30px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, rgba(206,186,220,0.20) 0%, rgba(206,186,220,0.00) 100%) !important;
    filter: blur(10px) !important;
    pointer-events: none !important;
    z-index: -1 !important;
  }

  .hero-card-grid,
  .trust-grid,
  .feature-strip-grid{
    margin-top: 10px !important;
  }

  .hero + section,
  .home-visits-section + section{
    margin-top: 0 !important;
    padding-top: 54px !important;
  }
}

@media (max-width: 768px){
  .hero-trust-card,
  .hero-feature-summary,
  .home-visit-summary-card{
    position: relative !important;
    margin-top: 12px !important;
    margin-bottom: -14px !important;
    z-index: 4 !important;
    box-shadow:
      0 14px 30px rgba(126, 96, 150, 0.10),
      0 4px 12px rgba(216, 27, 96, 0.05) !important;
  }

  .hero-trust-card::after,
  .hero-feature-summary::after,
  .home-visit-summary-card::after{
    content: "" !important;
    position: absolute !important;
    left: 20px !important;
    right: 20px !important;
    bottom: -12px !important;
    height: 22px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, rgba(206,186,220,0.18) 0%, rgba(206,186,220,0.00) 100%) !important;
    filter: blur(8px) !important;
    pointer-events: none !important;
    z-index: -1 !important;
  }

  .hero-card-grid,
  .trust-grid,
  .feature-strip-grid{
    margin-top: 8px !important;
  }

  .hero + section,
  .home-visits-section + section{
    margin-top: 0 !important;
    padding-top: 30px !important;
  }
}



:root{
  --section-divider: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(216,27,96,0.10) 25%, rgba(106,27,154,0.12) 50%, rgba(216,27,96,0.10) 75%, rgba(255,255,255,0) 100%);
}

section{
  position: relative;
}

section + section::before{
  content: "";
  position: absolute;
  top: -8px;
  left: 8%;
  right: 8%;
  height: 1px;
  background: var(--section-divider);
  pointer-events: none;
}

.btn-primary,
.btn-outline,
.mobile-service-book-btn{
  transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease, background 0.22s ease !important;
}

.btn-primary:hover,
.btn-outline:hover,
.mobile-service-book-btn:hover{
  transform: translateY(-2px);
}

.btn-primary:focus-visible,
.btn-outline:focus-visible,
.mobile-service-book-btn:focus-visible,
a:focus-visible,
button:focus-visible{
  outline: 3px solid rgba(106,27,154,0.22);
  outline-offset: 3px;
}

.service-card,
.glass-card{
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.service-card:hover,
.glass-card:hover{
  transform: translateY(-3px);
}

@media (max-width: 768px){
  body{
    padding-bottom: calc(84px + env(safe-area-inset-bottom));
  }

  .mobile-sticky-cta{
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    z-index: 10050;
    display: grid;
    grid-template-columns: 1.15fr 0.95fr;
    gap: 10px;
    padding: 10px;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(255,255,255,0.90) 0%, rgba(252,241,247,0.88) 100%);
    backdrop-filter: blur(18px) saturate(180%);
    -webkit-backdrop-filter: blur(18px) saturate(180%);
    border: 1px solid rgba(255,255,255,0.92);
    box-shadow:
      0 14px 36px rgba(106,27,154,0.14),
      0 4px 16px rgba(216,27,96,0.08),
      inset 0 1px 0 rgba(255,255,255,0.95);
  }

  .mobile-sticky-cta a{
    min-height: 48px;
    border-radius: 14px;
    font-weight: 800;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0.9rem 0.95rem;
    font-size: 0.98rem;
  }

  .mobile-sticky-cta .mobile-book{
    color: #fff;
    background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
    box-shadow: 0 8px 22px rgba(106,27,154,0.22);
  }

  .mobile-sticky-cta .mobile-call{
    color: #6a1b9a;
    background: rgba(255,255,255,0.82);
    border: 1px solid rgba(198,173,231,0.7);
  }
}

@media (min-width: 769px){
  .mobile-sticky-cta{
    display: none !important;
  }
}


/* FORCE REMOVE bottom-left booking button on desktop */
@media (min-width: 769px) {
  .mobile-service-book-btn,
  a[href*="book"],
  a[href*="appointment"] {
    position: static !important;
  }

  /* specifically hide any fixed bottom-left CTA */
  a[href*="book"][style*="position:fixed"],
  .mobile-service-book-btn {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
}

img {
  image-rendering: auto;
  backface-visibility: hidden;
  transform: translateZ(0);
}
.gallery-caption {
  font-size: 0.84rem;
  line-height: 1.4;
  color: #5b6270;
  text-align: center;
  padding: 0.55rem 0.45rem 0;
}


.booking-reassurance-note strong {
  color: #6a1b9a;
  font-weight: 700;
}
.booking-card-duration {
  white-space: nowrap;
}
@media (max-width: 768px) {
  .booking-card-duration {
    white-space: normal;
    text-align: right;
  }
}



.hero.ecn-hero{
  min-height:auto !important;
  padding:6.2rem 1rem 2.8rem !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.70) 0%, rgba(252,228,236,0.58) 46%, rgba(248,244,252,0.62) 100%),
    url('hero.webp') center center / cover no-repeat !important;
  background-attachment: scroll !important;
  position: relative;
  overflow: hidden;
}
.hero.ecn-hero::before{
  content:'' !important;
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.08) 38%, rgba(255,255,255,0.28) 100%),
    radial-gradient(circle at 72% 22%, rgba(255,255,255,0.22), transparent 28%);
  z-index:0;
}
.ecn-hero-wrap{
  position:relative;
  z-index:1;
  max-width:1180px;
  margin:0 auto;
}
.ecn-banner-shell{
  max-width:1220px;
  margin:0 auto 1.25rem;
  padding:10px;
  border-radius:28px;
  background:linear-gradient(135deg, rgba(255,255,255,0.50) 0%, rgba(255,255,255,0.28) 50%, rgba(255,255,255,0.42) 100%);
  border:1px solid rgba(255,255,255,0.78);
  box-shadow:
    0 16px 46px rgba(31,38,135,0.14),
    0 4px 18px rgba(0,0,0,0.07),
    inset 0 1px 0 rgba(255,255,255,0.92);
  backdrop-filter: blur(12px) saturate(150%);
  -webkit-backdrop-filter: blur(12px) saturate(150%);
  animation: ecnFadeUp 0.8s ease both;
}
.ecn-banner-shell img{
  width:100%;
  height:auto;
  display:block;
  border-radius:20px;
}
.ecn-hero-lower{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:340px;
  padding:1.2rem 1rem 0.5rem;
  animation: ecnFadeUp 1s ease both;
}
.ecn-hero-copy{
  max-width:840px;
}
.ecn-hero-copy h1{
  font-family:'Poppins', sans-serif;
  font-size:clamp(1.9rem, 3.8vw, 3.3rem);
  line-height:1.08;
  margin:0 0 1rem;
  color:#4a215f;
  letter-spacing:-0.02em;
  text-shadow:0 1px 0 rgba(255,255,255,0.24);
}
.ecn-hero-copy h1 span{
  background:linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.ecn-hero-copy p{
  max-width:760px;
  margin:0 auto 1.35rem;
  font-size:1.08rem;
  color:#5b5569;
  line-height:1.75;
}
.ecn-hero-buttons{
  display:flex;
  justify-content:center;
  gap:0.9rem;
  flex-wrap:wrap;
  animation: ecnFadeUp 1.15s ease both;
}
.ecn-hero-buttons .btn-primary,
.ecn-hero-buttons .btn-outline{
  min-width:180px;
}
.ecn-button-glass{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  padding:0.95rem 1.6rem;
  border-radius:999px;
  background:linear-gradient(145deg, rgba(255,255,255,0.62) 0%, rgba(255,255,255,0.34) 100%);
  border:1px solid rgba(255,255,255,0.88);
  box-shadow:
    0 10px 28px rgba(31,38,135,0.12),
    0 3px 10px rgba(0,0,0,0.05),
    inset 0 1px 0 rgba(255,255,255,0.96);
  backdrop-filter: blur(14px) saturate(165%);
  -webkit-backdrop-filter: blur(14px) saturate(165%);
}
@keyframes ecnFadeUp{
  from{opacity:0; transform:translateY(18px);}
  to{opacity:1; transform:translateY(0);}
}

@media (max-width: 768px){
  .hero.ecn-hero{
    padding:5rem 0.7rem 1.8rem !important;
    background-position:center center !important;
  }
  .ecn-banner-shell{
    padding:7px;
    border-radius:22px;
    margin-bottom:0.95rem;
  }
  .ecn-banner-shell img{
    border-radius:16px;
  }
  .ecn-hero-lower{
    min-height:240px;
    padding:0.6rem 0.65rem 0.2rem;
  }
  .ecn-hero-copy h1{
    font-size:1.18rem;
    margin-bottom:0.7rem;
    max-width:24rem;
    margin-left:auto;
    margin-right:auto;
  }
  .ecn-hero-copy p{
    font-size:0.97rem;
    line-height:1.6;
    margin-bottom:1rem;
    max-width:25rem;
  }
  .ecn-hero-buttons{
    gap:0.7rem;
  }
  .ecn-hero-buttons .btn-primary,
  .ecn-hero-buttons .btn-outline{
    min-width:136px;
    min-height:48px;
    padding:0.82rem 1rem;
    font-size:0.96rem;
  }
}


/* --- Hours card polish --- */
.hours-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  font-family: 'Playfair Display', serif;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #5a6170;
  line-height: 1.1;
}

.hours-inline svg {
  width: 1.05em;
  height: 1.05em;
  flex-shrink: 0;
  opacity: 0.78;
  color: #7a6f88;
  transform: translateY(-0.02em);
}

@media (max-width: 768px) {
  .hours-inline {
    gap: 0.45rem;
    letter-spacing: 0.015em;
  }
}


/* --- Conversion upgrade: review strip + booking optimisation --- */
.review-proof-strip{
  max-width: 1080px;
  margin: 1.2rem auto 0;
  padding: 1rem 1.1rem;
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.42) 100%);
  border: 1px solid rgba(255,255,255,0.86);
  box-shadow:
    0 14px 34px rgba(31,38,135,0.10),
    inset 0 1px 0 rgba(255,255,255,0.94);
  backdrop-filter: blur(12px) saturate(155%);
  -webkit-backdrop-filter: blur(12px) saturate(155%);
}
.review-proof-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 0.9rem;
}
.review-proof-card{
  padding: 1rem 1rem 0.95rem;
  border-radius: 18px;
  background: rgba(255,255,255,0.42);
  border: 1px solid rgba(255,255,255,0.72);
  text-align: left;
}
.review-proof-stars{
  font-size: 0.92rem;
  letter-spacing: 0.08em;
  color: #e8b63d;
  margin-bottom: 0.5rem;
}
.review-proof-quote{
  font-size: 0.96rem;
  line-height: 1.65;
  color: #514b5d;
  margin: 0 0 0.55rem;
}
.review-proof-name{
  font-size: 0.88rem;
  font-weight: 700;
  color: #6a1b9a;
}
.booking-mini-note{
  max-width: 820px;
  margin: 0.9rem auto 1.3rem;
  text-align: center;
  color: #655f72;
  line-height: 1.7;
}
.booking-mini-note strong{
  color: #5a2e7a;
}
.booking-direct-card .booking-choice-chip{
  display:inline-flex;
  align-items:center;
  gap:0.45rem;
  align-self:flex-start;
  margin-bottom:0.75rem;
  padding:0.45rem 0.8rem;
  border-radius:999px;
  background: rgba(106,27,154,0.07);
  color:#6a1b9a;
  font-size:0.83rem;
  font-weight:700;
  letter-spacing:0.02em;
}
.booking-direct-card .booking-why{
  margin-top: -0.2rem;
  color:#5f6474;
  font-size:0.95rem;
  line-height:1.65;
}
.booking-direct-card .btn-book-service{
  min-height:58px;
  font-size:1rem;
}
.booking-support-copy h3{
  color:#5a2e7a;
}
@media (max-width: 900px){
  .review-proof-grid{
    grid-template-columns: 1fr;
  }
}


/* --- Location card layout discipline pass --- */
.location-choice-grid{
  align-items: stretch;
}

.location-choice-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  height:100%;
  padding: 1.45rem 1.25rem 1.35rem;
}

.location-choice-card h4{
  margin-bottom: 0.95rem;
  min-height: 2.4em;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.location-choice-card p{
  width:100%;
  max-width: 15ch;
  margin: 0 auto 1rem;
  min-height: 4.8em;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.45;
}

.location-choice-note{
  margin-top:auto;
  width:100%;
  max-width: 17.5rem;
  min-height: 4.1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.35;
  padding: 0.6rem 1rem;
  border-radius: 20px;
}

@media (max-width: 768px){
  .location-choice-card p{
    max-width: none;
    min-height: auto;
  }

  .location-choice-note{
    min-height: 3.4rem;
  }
}


/* --- Merged service / booking flow --- */
.flow-heading-wrap--services{
  margin-top: 2rem;
}
.booking-merged-intro{
  max-width: 760px;
  margin: -0.6rem auto 1.8rem;
  text-align: center;
  color: #5f6474;
  line-height: 1.75;
}
.simplified-services-grid--merged{
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}
.simplified-services-grid--merged .simplified-service-card{
  min-height: 100%;
  padding: 1.35rem;
}
.simplified-services-grid--merged .simplified-service-media{
  height: 180px;
}
.simplified-services-grid--merged .simplified-service-top{
  display:flex;
  justify-content: space-between;
  align-items:flex-start;
  gap: 0.8rem;
  margin-bottom: 0.9rem;
}
.simplified-services-grid--merged .simplified-service-top h4{
  flex:1;
}
.simplified-services-grid--merged .simplified-price-stack{
  flex-shrink:0;
}
.simplified-services-grid--merged .btn-book-service{
  margin-top: auto;
}
@media (max-width: 1180px){
  .simplified-services-grid--merged{
  grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px){
  .booking-merged-intro{
    margin-bottom: 1.2rem;
    font-size: 0.96rem;
    line-height: 1.65;
  }
  .simplified-services-grid--merged{
  grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-columns: 1fr;
  }
}


/* --- Hero review slider --- */
.review-proof-slider{
  max-width: 920px;
  margin: 1.25rem auto 0;
  padding: 1rem 1rem 0.9rem;
}
.review-proof-slider__viewport{
  overflow: hidden;
  border-radius: 18px;
}
.review-proof-slider__track{
  display: flex;
  transition: transform 0.75s cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: transform;
}
.review-proof-slide{
  min-width: 100%;
  margin: 0;
}
.review-proof-slide .review-proof-quote{
  font-size: 1rem;
}
.review-proof-dots{
  display:flex;
  justify-content:center;
  gap:0.55rem;
  margin-top: 0.85rem;
}
.review-proof-dot{
  width:10px;
  height:10px;
  border:none;
  border-radius:999px;
  background:#d8cde3;
  cursor:pointer;
  transition: all 0.25s ease;
  padding:0;
}
.review-proof-dot.active{
  width:32px;
  background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
}
@media (max-width: 768px){
  .review-proof-slider{
    margin-top: 1rem;
    padding: 0.85rem 0.85rem 0.8rem;
  }
  .review-proof-slide .review-proof-quote{
    font-size: 0.95rem;
    line-height: 1.6;
  }
}


/* --- Review slider visual upgrade --- */
.review-proof-slider{
  max-width: 1020px;
  padding: 1.2rem 1.2rem 1rem;
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.52) 100%);
  box-shadow:
    0 20px 50px rgba(31,38,135,0.12),
    0 8px 24px rgba(106,27,154,0.08),
    inset 0 1px 0 rgba(255,255,255,0.96);
}

.review-proof-slider__viewport{
  border-radius: 26px;
}

.review-proof-slide{
  position: relative;
  padding: 1.5rem 1.6rem 1.25rem;
  border-radius: 26px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.84) 0%, rgba(255,255,255,0.60) 100%);
  border: 1px solid rgba(255,255,255,0.82);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.98),
    0 10px 26px rgba(31,38,135,0.05);
}

.review-proof-slide::before{
  content: "";
  position: absolute;
  top: 16px;
  left: 18px;
  width: 160px;
  height: 56px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 24% 50%, rgba(232,182,61,0.18), transparent 38%),
    linear-gradient(90deg, rgba(232,182,61,0.10), rgba(255,255,255,0));
  pointer-events: none;
}

.review-proof-stars{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  padding: 0.5rem 0.9rem;
  margin-bottom: 1rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255,248,215,0.95) 0%, rgba(255,239,184,0.82) 100%);
  border: 1px solid rgba(232,182,61,0.24);
  box-shadow:
    0 8px 18px rgba(232,182,61,0.18),
    inset 0 1px 0 rgba(255,255,255,0.75);
  font-size: 1.02rem;
  letter-spacing: 0.02em;
  color: #d7a420;
}

.review-proof-stars::after{
  content: "5-star review";
  margin-left: 0.45rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #9a7a18;
}

.review-proof-quote{
  font-size: clamp(1.15rem, 2.3vw, 1.45rem);
  line-height: 1.45;
  text-align: center;
  max-width: 980px;
  margin: 0 auto 1.35rem;
  color: #4d5567;
}

.review-proof-name{
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  background: rgba(106,27,154,0.06);
  color: #6a1b9a;
  font-size: 0.96rem;
  font-weight: 800;
}

.review-proof-dots{
  margin-top: 1rem;
}

.review-proof-dot{
  width: 12px;
  height: 12px;
  background: #d7cee2;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.65);
}

.review-proof-dot.active{
  width: 60px;
  background: linear-gradient(90deg, #6a1b9a 0%, #d81b60 100%);
  box-shadow: 0 8px 18px rgba(166,54,141,0.22);
}

@media (max-width: 768px){
  .review-proof-slider{
    padding: 0.95rem 0.95rem 0.85rem;
    border-radius: 24px;
  }

  .review-proof-slide{
    padding: 1.1rem 1rem 1rem;
    border-radius: 20px;
  }

  .review-proof-slide::before{
    width: 132px;
    height: 48px;
    top: 12px;
    left: 14px;
  }

  .review-proof-stars{
    padding: 0.42rem 0.75rem;
    font-size: 0.94rem;
  }

  .review-proof-stars::after{
    font-size: 0.76rem;
  }

  .review-proof-quote{
    font-size: 1rem;
    line-height: 1.52;
    margin-bottom: 1rem;
  }

  .review-proof-name{
    font-size: 0.9rem;
  }
}


/* --- Restored testimonials near hero --- */
#testimonials.hero-testimonials{
  padding-top: 1.75rem !important;
  padding-bottom: 2.2rem !important;
  background: transparent;
}
#testimonials.hero-testimonials .section-container{
  max-width: 1180px;
}
#testimonials.hero-testimonials .section-heading{
  margin-bottom: 1.35rem !important;
  text-align: center;
}
#testimonials.hero-testimonials .testimonial-container{
  padding: 2.65rem 2.4rem 2rem;
  border-radius: 30px;
}
#testimonials.hero-testimonials .testimonial-content{
  padding: 0 5rem;
}
#testimonials.hero-testimonials .testimonial-quote{
  font-size: clamp(1.55rem, 3.2vw, 2.15rem);
  line-height: 1.52;
  max-width: 940px;
  margin: 0 auto 1.45rem;
  color: #5f5a7e;
}
#testimonials.hero-testimonials .stars{
  margin-bottom: 1.2rem;
}
#testimonials.hero-testimonials .star{
  font-size: 1.6rem;
  text-shadow: 0 4px 10px rgba(232,182,61,0.18);
}
#testimonials.hero-testimonials .testimonial-author{
  font-size: 1rem;
}
#testimonials.hero-testimonials .testimonial-date{
  font-size: 0.9rem;
}
#testimonials.hero-testimonials .testimonial-dots{
  margin-top: 1.35rem;
}
#testimonials.hero-testimonials .testimonial-nav{
  width: 54px;
  height: 54px;
  background: rgba(255,255,255,0.9);
  box-shadow: 0 10px 24px rgba(31,38,135,0.10);
}
#testimonials.hero-testimonials .testimonial-nav.prev{
  left: 1.25rem;
}
#testimonials.hero-testimonials .testimonial-nav.next{
  right: 1.25rem;
}

@media (max-width: 768px){
  #testimonials.hero-testimonials{
    padding-top: 1.1rem !important;
    padding-bottom: 1.5rem !important;
  }
  #testimonials.hero-testimonials .testimonial-container{
    padding: 1.45rem 1rem 1.2rem;
    border-radius: 24px;
  }
  #testimonials.hero-testimonials .testimonial-content{
    padding: 0 2.6rem;
  }
  #testimonials.hero-testimonials .testimonial-quote{
    font-size: 1.15rem;
    line-height: 1.55;
    max-width: 100%;
    margin-bottom: 1rem;
  }
  #testimonials.hero-testimonials .star{
    font-size: 1.35rem;
  }
  #testimonials.hero-testimonials .testimonial-nav{
    width: 46px;
    height: 46px;
  }
  #testimonials.hero-testimonials .testimonial-nav.prev{
    left: 0.35rem;
  }
  #testimonials.hero-testimonials .testimonial-nav.next{
    right: 0.35rem;
  }
}


/* --- Testimonials shape refinement --- */
#testimonials.hero-testimonials .testimonial-container{
  max-width: 1100px;
  margin: 0 auto;
  padding: 1.8rem 2.2rem 1.6rem;
  border-radius: 26px;
}

#testimonials.hero-testimonials .testimonial-content{
  padding: 0 2.5rem;
}

#testimonials.hero-testimonials .testimonial-quote{
  font-size: clamp(1.25rem, 2.2vw, 1.7rem);
  line-height: 1.5;
  max-width: 820px;
}

#testimonials.hero-testimonials .stars{
  margin-bottom: 0.8rem;
}

#testimonials.hero-testimonials .testimonial-dots{
  margin-top: 0.9rem;
}

@media (max-width: 768px){
  #testimonials.hero-testimonials .testimonial-container{
    padding: 1.2rem 1rem 1rem;
  }

  #testimonials.hero-testimonials .testimonial-content{
    padding: 0 1.5rem;
  }

  #testimonials.hero-testimonials .testimonial-quote{
    font-size: 1.05rem;
  }
}


/* --- Testimonial fixed-height stabilization --- */
#testimonials.hero-testimonials .testimonial-container{
  min-height: 430px;
}

#testimonials.hero-testimonials .testimonial-content{
  min-height: 330px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#testimonials.hero-testimonials .testimonial-quote{
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  line-height: 1.45;
  max-width: 760px;
  min-height: 7.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#testimonials.hero-testimonials .testimonial-author{
  margin-top: 0.25rem;
}

#testimonials.hero-testimonials .testimonial-date{
  margin-top: 0.2rem;
}

@media (max-width: 768px){
  #testimonials.hero-testimonials .testimonial-container{
    min-height: 360px;
  }

  #testimonials.hero-testimonials .testimonial-content{
    min-height: 285px;
  }

  #testimonials.hero-testimonials .testimonial-quote{
    font-size: 0.98rem;
    line-height: 1.42;
    max-width: 100%;
    min-height: 7.8em;
  }
}


/* --- Location card precision alignment pass --- */
.location-choice-grid{
  align-items: stretch;
}

.location-choice-card{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-height: 100%;
  padding: 1.5rem 1.25rem 1.35rem;
}

.location-choice-icon{
  margin-bottom: 0.95rem;
}

.location-choice-card h4{
  min-height: 2.35em;
  margin: 0 0 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.12;
}

.location-choice-card > p{
  width: 100%;
  max-width: 15ch;
  min-height: 4.4em;
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.42;
}

.location-choice-note{
  width: 100%;
  max-width: 18rem;
  min-height: 5.4rem;
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.28;
  padding: 0.7rem 1rem;
  border-radius: 24px;
}

@media (max-width: 768px){
  .location-choice-card{
    padding: 1.3rem 1rem 1.15rem;
  }

  .location-choice-card h4{
    min-height: auto;
  }

  .location-choice-card > p{
    max-width: none;
    min-height: auto;
    margin-bottom: 0.85rem;
  }

  .location-choice-note{
    min-height: 4.2rem;
    max-width: none;
  }
}


/* --- Location note pill contrast upgrade --- */
.location-choice-note{
  background: linear-gradient(145deg, rgba(255,255,255,0.96) 0%, rgba(249,243,255,0.94) 100%) !important;
  border: 1px solid rgba(222, 203, 241, 0.78) !important;
  box-shadow:
    0 10px 26px rgba(106,27,154,0.08),
    0 3px 8px rgba(0,0,0,0.03),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
  color: #667083 !important;
}


/* --- Remove note pills and return to clean text-only layout --- */
.location-choice-note{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  min-height: auto !important;
  max-width: 18rem;
  margin-top: auto;
  display: block !important;
  text-align: center;
  color: #667083 !important;
  font-weight: 700;
  line-height: 1.34;
  letter-spacing: 0.01em;
}

@media (max-width: 768px){
  .location-choice-note{
    max-width: none;
  }
}


/* --- Restored contact hub section --- */
.contact-hub{
  padding: 4.5rem 0 3rem;
}
.contact-hub .section-container{
  max-width: 1180px;
}
.contact-hub-intro{
  max-width: 620px;
  margin: -1.2rem auto 2.2rem;
  text-align: center;
  color: #6b7280;
  line-height: 1.65;
}
.contact-hub-grid{
  display:grid;
  grid-template-columns: 320px 1fr;
  gap: 1.5rem;
  align-items: start;
}
.contact-hub-stack{
  display:flex;
  flex-direction:column;
  gap: 1rem;
}
.contact-hub-card{
  padding: 1.35rem 1.25rem;
}
.contact-hub-card h3{
  margin: 0 0 0.7rem;
  font-size: 1.05rem;
  color: #6a1b9a;
  font-family: 'Playfair Display', serif;
}
.contact-hub-row{
  display:flex;
  align-items:flex-start;
  gap: 0.9rem;
}
.contact-hub-icon{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  flex-shrink: 0;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(145deg, rgba(255,255,255,0.96), rgba(247,239,252,0.92));
  border: 1px solid rgba(220, 201, 240, 0.88);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.96);
  color:#d2a026;
}
.contact-hub-icon svg{
  width: 20px;
  height: 20px;
}
.contact-hub-body{
  color:#5f6474;
  line-height:1.6;
}
.contact-hub-body strong{
  display:block;
  color:#6a1b9a;
  margin-bottom:0.15rem;
}
.contact-hub-body a{
  color:#5f6474;
  text-decoration:none;
}
.contact-hub-body a:hover{
  color:#6a1b9a;
}
.contact-chat-copy{
  text-align:center;
  color:#5f6474;
  line-height:1.6;
  margin-bottom: 1rem;
}
.contact-chat-btn{
  display:inline-flex;
  width:100%;
  align-items:center;
  justify-content:center;
  gap:0.6rem;
  min-height:54px;
  padding:0.95rem 1.2rem;
  border-radius:999px;
  color:#fff;
  font-weight:700;
  text-decoration:none;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.contact-chat-btn svg{
  width:18px;
  height:18px;
}
.contact-chat-btn:hover{
  transform: translateY(-1px);
}
.contact-chat-btn--facebook{
  background: linear-gradient(135deg, #2f80ed 0%, #1664dd 100%);
  box-shadow: 0 10px 24px rgba(47,128,237,0.22), inset 0 1px 0 rgba(255,255,255,0.26);
}
.contact-chat-btn--facebook:hover{
  box-shadow: 0 0 0 1px rgba(47,128,237,0.22), 0 12px 28px rgba(47,128,237,0.26), 0 0 18px rgba(47,128,237,0.24);
}
.contact-chat-btn--whatsapp{
  background: linear-gradient(135deg, #49d17d 0%, #22b45b 100%);
  box-shadow: 0 10px 24px rgba(34,180,91,0.2), inset 0 1px 0 rgba(255,255,255,0.24);
}
.contact-chat-btn--whatsapp:hover{
  box-shadow: 0 0 0 1px rgba(34,180,91,0.2), 0 12px 28px rgba(34,180,91,0.24), 0 0 18px rgba(34,180,91,0.22);
}
.contact-chat-note{
  margin-top:0.9rem;
  text-align:center;
  color:#7a8091;
  font-size:0.92rem;
}
.contact-hub-map-wrap{
  padding: 0.8rem;
}
.contact-hub-map{
  width:100%;
  height:360px;
  border:0;
  border-radius: 18px;
  display:block;
}
.contact-hub-gallery{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:0.8rem;
  margin-top:0.8rem;
}
.contact-hub-gallery img{
  width:100%;
  height:160px;
  object-fit:cover;
  border-radius:18px;
  display:block;
}
@media (max-width: 900px){
  .contact-hub-grid{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px){
  .contact-hub{
    padding: 3rem 0 2rem;
  }
  .contact-hub-intro{
    margin: -0.8rem auto 1.6rem;
    font-size: 0.96rem;
  }
  .contact-hub-card{
    padding: 1.15rem 1rem;
  }
  .contact-hub-map{
    height:280px;
  }
  .contact-hub-gallery img{
    height:120px;
  }
}


/* --- Contact hub simplified: chat left, map right --- */
.contact-hub-grid{
  grid-template-columns: 320px 1fr !important;
}
.contact-hub-stack{
  gap: 1.15rem !important;
  justify-content: start;
}
.contact-hub-card{
  min-height: 0 !important;
}
.contact-hub-map{
  height: 100% !important;
  min-height: 420px;
}
.contact-hub-map-wrap{
  padding: 0.85rem !important;
  display: flex;
}
@media (max-width: 900px){
  .contact-hub-grid{
    grid-template-columns: 1fr !important;
  }
  .contact-hub-map{
    min-height: 320px;
  }
}


/* --- FAQ dropdown polish pass --- */
.faq-grid,
.faq-container{
  gap: 1rem !important;
}

.faq-item{
  background: linear-gradient(145deg, rgba(255,255,255,0.86) 0%, rgba(255,255,255,0.66) 100%) !important;
  border: 1px solid rgba(255,255,255,0.88) !important;
  border-radius: 22px !important;
  box-shadow:
    0 10px 26px rgba(31,38,135,0.07),
    0 4px 12px rgba(106,27,154,0.05),
    inset 0 1px 0 rgba(255,255,255,0.95) !important;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    background 0.22s ease !important;
  overflow: hidden;
}

.faq-item:hover,
.faq-item.is-open,
.faq-item.open,
.faq-item.active{
  transform: translateY(-1px);
  border-color: rgba(214, 186, 236, 0.95) !important;
  box-shadow:
    0 16px 34px rgba(31,38,135,0.09),
    0 6px 18px rgba(106,27,154,0.08),
    0 0 0 1px rgba(221, 194, 242, 0.35),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

.faq-question{
  width: 100%;
  background: transparent !important;
  border: none !important;
  text-align: left;
  display: flex !important;
  align-items: center !important;
  gap: 0.9rem !important;
  padding: 1.1rem 1.2rem !important;
  cursor: pointer;
}

.faq-question,
.faq-question h4{
  color: #6a1b9a !important;
  font-weight: 700 !important;
}

.faq-question h4{
  margin: 0 !important;
  font-size: 1.02rem !important;
  line-height: 1.35 !important;
  flex: 1;
}

.faq-icon{
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg, rgba(255,255,255,0.96) 0%, rgba(247,239,252,0.88) 100%) !important;
  border: 1px solid rgba(220, 201, 240, 0.82) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.95) !important;
  flex-shrink: 0;
}

.faq-question::after,
.faq-question h4::after{
  color: #a78bbf !important;
  transition: transform 0.24s ease, color 0.24s ease !important;
}
.faq-item.is-open .faq-question::after,
.faq-item.is-open .faq-question h4::after,
.faq-item.open .faq-question::after,
.faq-item.open .faq-question h4::after,
.faq-item.active .faq-question::after,
.faq-item.active .faq-question h4::after{
  color: #d81b60 !important;
}

.faq-answer{
  background: transparent !important;
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
  color: #5f6474 !important;
}

.faq-answer p,
.faq-answer li,
.faq-answer td,
.faq-answer th{
  color: #5f6474 !important;
}

.faq-item:hover .faq-answer,
.faq-item.is-open .faq-answer,
.faq-item.open .faq-answer,
.faq-item.active .faq-answer{
  margin-top: 0.1rem !important;
}

@media (max-width: 768px){
  .faq-question{
    padding: 0.95rem 1rem !important;
  }
  .faq-answer{
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}


/* --- Map stretch fix --- */
.contact-hub-map iframe,
.contact-hub-map,
.map-container iframe{
  height: 100% !important;
  min-height: 420px !important;
}

.contact-hub-grid{
  align-items: stretch !important;
}

.contact-hub-map{
  display: flex;
  height: 100%;
}


/* --- Tinnitus section only: smaller type + safe dropdown spacing --- */
#tinnitus-ear-wax .faq-container{
  display:flex !important;
  flex-direction:column !important;
  gap:0.85rem !important;
}

#tinnitus-ear-wax .faq-item{
  position:relative;
  z-index:1;
}

#tinnitus-ear-wax .faq-question{
  font-size:0.95rem !important;
  padding:0.95rem 1.05rem !important;
}

#tinnitus-ear-wax .faq-question h4,
#tinnitus-ear-wax .faq-question{
  font-size:0.92rem !important;
  line-height:1.35 !important;
}

#tinnitus-ear-wax .faq-answer{
  font-size:0.88rem !important;
  line-height:1.55 !important;
}

#tinnitus-ear-wax .faq-answer p,
#tinnitus-ear-wax .faq-answer li,
#tinnitus-ear-wax .faq-answer ol{
  font-size:0.88rem !important;
  line-height:1.55 !important;
}

#tinnitus-ear-wax .faq-answer{
  max-height:0 !important;
  overflow:hidden !important;
  opacity:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  transition:max-height 0.28s ease, opacity 0.22s ease, margin-top 0.22s ease, padding-bottom 0.22s ease !important;
}
#tinnitus-ear-wax .faq-item.is-open .faq-answer,
#tinnitus-ear-wax .faq-item.open .faq-answer,
#tinnitus-ear-wax .faq-item.active .faq-answer{
  max-height:420px !important;
  opacity:1 !important;
  margin-top:0.35rem !important;
  padding-bottom:0.95rem !important;
}

#tinnitus-ear-wax h2.section-heading{
  font-size:clamp(2rem, 4vw, 2.6rem) !important;
  margin-bottom:1.3rem !important;
}

#tinnitus-ear-wax .tinnitus-tone-tool__header h3{
  font-size:clamp(1.9rem, 3.4vw, 2.35rem) !important;
}

#tinnitus-ear-wax .tinnitus-tone-tool__header p{
  font-size:0.96rem !important;
}

#tinnitus-ear-wax .tinnitus-tone-tool__label{
  font-size:0.88rem !important;
}

#tinnitus-ear-wax .tinnitus-tone-tool__value,
#tinnitus-ear-wax .tinnitus-tone-tool__wave-readout,
#tinnitus-ear-wax .tinnitus-tone-tool__match-value{
  font-size:0.9em !important;
}

#tinnitus-ear-wax .tinnitus-tone-tool__controls,
#tinnitus-ear-wax .tinnitus-tone-tool__match{
  font-size:0.94rem !important;
}

#tinnitus-ear-wax .tinnitus-tone-tool__controls .btn-outline,
#tinnitus-ear-wax .tinnitus-tone-tool__match .btn-outline,
#tinnitus-ear-wax .tinnitus-tone-tool__match .btn-primary{
  font-size:0.92rem !important;
}

#tinnitus-ear-wax .tinnitus-tone-tool__footer-note,
#tinnitus-ear-wax .tinnitus-reassurance-card p,
#tinnitus-ear-wax .tinnitus-reassurance-card h3{
  font-size:0.96rem !important;
}

@media (max-width: 768px){
  #tinnitus-ear-wax .faq-question{
    padding:0.9rem 0.95rem !important;
  }
  #tinnitus-ear-wax .faq-question h4,
  #tinnitus-ear-wax .faq-question{
    font-size:0.89rem !important;
  }
  #tinnitus-ear-wax .faq-answer p,
  #tinnitus-ear-wax .faq-answer li,
  #tinnitus-ear-wax .faq-answer ol{
    font-size:0.84rem !important;
  }
#tinnitus-ear-wax .faq-item.is-open .faq-answer,
#tinnitus-ear-wax .faq-item.open .faq-answer,
#tinnitus-ear-wax .faq-item.active .faq-answer{
    max-height:460px !important;
  }
  #tinnitus-ear-wax .tinnitus-tone-tool__header h3{
    font-size:1.7rem !important;
  }
  #tinnitus-ear-wax .tinnitus-tone-tool__header p,
  #tinnitus-ear-wax .tinnitus-reassurance-card p{
    font-size:0.92rem !important;
  }
}




#booking .btn-book-service,
.hero-buttons .btn-primary,
.mobile-hero-buttons .btn-primary,
.booking-card-actions .btn-book-service {
  background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.28) !important;
  box-shadow: 0 14px 34px rgba(106,27,154,0.22), 0 6px 18px rgba(216,27,96,0.16) !important;
}

#booking .btn-book-service:hover,
.hero-buttons .btn-primary:hover,
.mobile-hero-buttons .btn-primary:hover,
.booking-card-actions .btn-book-service:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 40px rgba(106,27,154,0.28), 0 8px 22px rgba(216,27,96,0.18) !important;
}

.hero-buttons .btn-outline,
.mobile-hero-buttons .btn-outline,
.booking-card-actions .btn-outline,
#booking .btn-outline {
  background: rgba(255,255,255,0.72) !important;
  color: #6a1b9a !important;
  border: 1px solid rgba(106,27,154,0.16) !important;
  box-shadow: 0 8px 22px rgba(106,27,154,0.08) !important;
}

.booking-merged-intro {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}



.location-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.5rem;
  margin-top:1.5rem;
}
.location-card{
  background:rgba(255,255,255,0.68);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 15px 35px rgba(0,0,0,0.08);
  display:flex;
  flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease;
  border:1px solid rgba(255,255,255,0.7);
}
.location-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 44px rgba(0,0,0,0.12);
}
.location-card-media{
  height:170px;
  overflow:hidden;
  position:relative;
}
.location-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .7s ease, filter .35s ease;
  filter:saturate(.92) contrast(1.02) brightness(1.01);
}
.location-card:hover .location-card-media img{
  transform:scale(1.05);
  filter:saturate(.95) contrast(1.03) brightness(1.02);
}
.location-card-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,244,248,0.12) 0%, rgba(255,248,250,0.04) 35%, rgba(231,209,188,0.14) 100%),
    linear-gradient(180deg, rgba(255,255,255,0.0) 35%, rgba(0,0,0,0.06) 100%);
  pointer-events:none;
}
.location-card-badge{
  position:absolute;
  left:14px;
  top:14px;
  z-index:2;
  background:rgba(255,255,255,0.78);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:#6a1b9a;
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.02em;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.8);
  box-shadow:0 6px 16px rgba(0,0,0,0.08);
}
.location-card-content{
  padding:1.35rem 1.25rem 1.4rem;
  text-align:center;
  flex:1;
}
.location-card-title{
  color:#6a1b9a;
  margin:0 0 .35rem;
  font-size:1.2rem;
}
.location-card-lead{
  color:#6a1b9a;
  font-weight:700;
  font-size:.98rem;
  line-height:1.35;
  margin:0 0 .75rem;
}
.location-card-copy{
  color:#5f6474;
  font-size:.98rem;
  line-height:1.55;
  margin:0 0 .65rem;
}
.location-card-meta{
  font-weight:700;
  color:#697287;
  margin-top:.7rem;
  line-height:1.4;
}
@media (max-width: 1100px){
  .location-card-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 768px){
  .location-card-grid{ grid-template-columns:1fr; gap:1rem; margin-top:1.2rem; }
  .location-card-media{ height:160px; }
  .location-card-content{ padding:1.15rem 1rem 1.2rem; }
}



.google-map-shell{
  padding: 1rem;
}
.google-map-frame{
  width: 100%;
  border: 0;
  min-height: 520px;
  height: 520px;
  display: block;
  border-radius: 22px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.45);
}
.google-map-actions{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.google-map-action{
  padding: 1rem 1rem 1.1rem;
  text-align: center;
  text-decoration: none;
  color: #4b5563;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.google-map-action:hover{
  transform: translateY(-2px);
  box-shadow:
    0 16px 36px rgba(31,38,135,0.10),
    0 6px 18px rgba(106,27,154,0.08),
    inset 0 1px 0 rgba(255,255,255,0.96);
}
.google-map-action h4{
  margin: 0 0 0.35rem;
  color: #6a1b9a;
  font-size: 1.05rem;
}
.google-map-action p{
  margin: 0;
  color: #6b7280;
  font-size: 0.95rem;
  line-height: 1.55;
}
.google-map-note{
  max-width: 760px;
  margin: 1rem auto 0;
  text-align: center;
  color: #6b7280;
  font-size: 0.96rem;
  line-height: 1.65;
}
@media (max-width: 900px){
  .google-map-actions{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px){
  .google-map-shell{
    padding: 0.85rem;
  }
  .google-map-frame{
    min-height: 400px;
    height: 400px;
    border-radius: 18px;
  }
}



.reveal-on-scroll{
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}
.reveal-on-scroll.is-visible{
  opacity: 1;
  transform: translateY(0);
}
.reveal-delay-1{ transition-delay: 0.08s; }
.reveal-delay-2{ transition-delay: 0.16s; }
.reveal-delay-3{ transition-delay: 0.24s; }

.location-card,
.service-card,
.booking-direct-card,
.feature-card,
.credential-card,
.contact-card,
.google-map-action,
.glass-card{
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.35s ease;
}
.location-card:hover,
.service-card:hover,
.booking-direct-card:hover,
.feature-card:hover,
.credential-card:hover,
.contact-card:hover,
.google-map-action:hover,
.glass-card:hover{
  transform: translateY(-4px);
}

.btn-primary,
.btn-outline,
.btn-book-service,
.mobile-service-book-btn,
.google-map-action{
  transition:
    transform 0.22s ease,
    box-shadow 0.25s ease,
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease;
}
.btn-primary:active,
.btn-outline:active,
.btn-book-service:active,
.mobile-service-book-btn:active{
  transform: scale(0.98);
}

img,
.hero-banner img,
.location-card-media img,
.service-card-media img{
  animation: imageFadeIn 0.45s ease both;
}
@keyframes imageFadeIn{
  from{ opacity: 0; }
  to{ opacity: 1; }
}

.mobile-sticky-cta{
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 10020;
  display: none;
  gap: 0.75rem;
  padding: 0.7rem;
  border-radius: 20px;
  background: rgba(255,255,255,0.72);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  border: 1px solid rgba(255,255,255,0.86);
  box-shadow:
    0 18px 40px rgba(31,38,135,0.14),
    0 6px 18px rgba(106,27,154,0.10),
    inset 0 1px 0 rgba(255,255,255,0.92);
  opacity: 0;
  transform: translateY(18px);
  pointer-events: none;
  transition:
    opacity 0.35s ease,
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.mobile-sticky-cta.is-visible{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.mobile-sticky-cta a{
  flex: 1 1 0;
  min-height: 50px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.98rem;
}
.mobile-sticky-cta .sticky-call{
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,240,250,0.96));
  color: #3f3156;
  border: 1px solid rgba(220,204,255,0.78);
  box-shadow: 0 8px 20px rgba(75,52,110,0.08), inset 0 1px 0 rgba(255,255,255,0.94);
}
.mobile-sticky-cta .sticky-book{
  background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
  color: #fff;
  box-shadow: 0 10px 24px rgba(106,27,154,0.24), 0 4px 10px rgba(216,27,96,0.12);
}
@media (max-width: 768px){
  .mobile-sticky-cta{ display: flex; }
}
@media (prefers-reduced-motion: reduce){
  .reveal-on-scroll,
  .reveal-on-scroll.is-visible,
  .mobile-sticky-cta,
  .mobile-sticky-cta.is-visible{
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  img,
  .hero-banner img,
  .location-card-media img,
  .service-card-media img{
    animation: none !important;
  }
}



.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted{
  position: relative;
  overflow: hidden;
  padding: 1.8rem !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.78) 0%, rgba(255,248,251,0.70) 46%, rgba(248,244,252,0.74) 100%) !important;
  backdrop-filter: blur(24px) saturate(165%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(165%) !important;
  border: 1px solid rgba(255,255,255,0.86) !important;
  border-radius: 28px !important;
  box-shadow:
    0 22px 56px rgba(31,38,135,0.12),
    0 8px 22px rgba(106,27,154,0.08),
    inset 0 1px 0 rgba(255,255,255,0.94),
    inset 0 -1px 0 rgba(255,255,255,0.24) !important;
}

.skin-new-card--frosted::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 26%, rgba(255,255,255,0.22) 0, rgba(255,255,255,0) 26%),
    radial-gradient(circle at 78% 20%, rgba(236,72,153,0.06) 0, rgba(236,72,153,0) 18%),
    radial-gradient(circle at 72% 82%, rgba(124,58,237,0.05) 0, rgba(124,58,237,0) 22%),
    linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 32%);
  opacity: 1;
}

.skin-new-card--frosted > *{
  position: relative;
  z-index: 1;
}

.skin-new-image{
  background:
    linear-gradient(145deg, rgba(255,255,255,0.92) 0%, rgba(252,246,249,0.88) 100%) !important;
  border: 1px solid rgba(255,255,255,0.82);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    0 10px 24px rgba(106,27,154,0.05);
}

.skin-new-content{
  padding: 0.2rem 0.2rem 0.1rem;
}

.skin-new-header{
  margin-bottom: 0.75rem;
}

.skin-new-text{
  max-width: 42rem;
}

@media (max-width: 768px){
  .skin-new-card--frosted{
    padding: 1.2rem !important;
    border-radius: 24px !important;
  }
}



.btn-primary,
.btn-book-service,
.mobile-service-book-btn,
.hero-buttons .hero-cta-glass,
.booking-card-actions .btn-primary,
.booking-card-actions .btn-book-service,
.service-card .btn-primary,
.skin-new-content .btn-primary{
  background: rgba(255,255,255,0.60) !important;
  color: #222222 !important;
  border: 1px solid rgba(255,255,255,0.50) !important;
  backdrop-filter: blur(12px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
  box-shadow:
    0 6px 18px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.60) !important;
}

.btn-outline,
.google-map-action{
  background: rgba(255,255,255,0.68) !important;
  color: #222222 !important;
  border: 1px solid rgba(255,255,255,0.54) !important;
  box-shadow:
    0 6px 18px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.60) !important;
}

.btn-primary:hover,
.btn-book-service:hover,
.mobile-service-book-btn:hover,
.hero-buttons .hero-cta-glass:hover,
.booking-card-actions .btn-primary:hover,
.booking-card-actions .btn-book-service:hover,
.service-card .btn-primary:hover,
.skin-new-content .btn-primary:hover,
.btn-outline:hover,
.google-map-action:hover{
  background: #1877f2 !important;
  color: #ffffff !important;
  border-color: #1877f2 !important;
  transform: translateY(-2px) !important;
  box-shadow:
    0 10px 24px rgba(24,119,242,0.28),
    0 0 0 1px rgba(255,255,255,0.10) inset !important;
}

.btn-primary:active,
.btn-book-service:active,
.mobile-service-book-btn:active,
.hero-buttons .hero-cta-glass:active,
.booking-card-actions .btn-primary:active,
.booking-card-actions .btn-book-service:active,
.service-card .btn-primary:active,
.skin-new-content .btn-primary:active,
.btn-outline:active,
.google-map-action:active{
  transform: translateY(0) scale(0.985) !important;
}



.skin-new-card--frosted{
  isolation: isolate;
}

.skin-new-card--frosted::after{
  content:"";
  position:absolute;
  inset:-10px;
  z-index:0;
  pointer-events:none;
  opacity:0.34;
  background:
    radial-gradient(44px 44px at 2% 18%, rgba(196,82,47,0.16) 0 32%, transparent 33%),
    radial-gradient(28px 28px at 7% 13%, rgba(231,129,125,0.15) 0 36%, transparent 37%),
    radial-gradient(34px 34px at 12% 8%, rgba(235,214,152,0.18) 0 34%, transparent 35%),
    radial-gradient(38px 38px at 20% 5%, rgba(95,167,154,0.15) 0 34%, transparent 35%),
    radial-gradient(34px 34px at 28% 3%, rgba(196,82,47,0.14) 0 32%, transparent 33%),
    radial-gradient(26px 26px at 83% 7%, rgba(235,214,152,0.14) 0 36%, transparent 37%),
    radial-gradient(36px 36px at 90% 9%, rgba(95,167,154,0.14) 0 34%, transparent 35%),
    radial-gradient(42px 42px at 97% 16%, rgba(231,129,125,0.14) 0 32%, transparent 33%),
    radial-gradient(40px 40px at 4% 95%, rgba(196,82,47,0.14) 0 30%, transparent 31%),
    radial-gradient(34px 34px at 11% 90%, rgba(95,167,154,0.13) 0 34%, transparent 35%),
    radial-gradient(28px 28px at 20% 98%, rgba(235,214,152,0.15) 0 34%, transparent 35%),
    radial-gradient(30px 30px at 78% 98%, rgba(231,129,125,0.14) 0 34%, transparent 35%),
    radial-gradient(42px 42px at 89% 94%, rgba(196,82,47,0.13) 0 32%, transparent 33%),
    radial-gradient(34px 34px at 96% 88%, rgba(95,167,154,0.12) 0 34%, transparent 35%),
    radial-gradient(280px 140px at 0% 100%, rgba(196,82,47,0.07) 0 18%, transparent 52%),
    radial-gradient(260px 120px at 100% 0%, rgba(95,167,154,0.06) 0 18%, transparent 52%);
  filter: blur(10px) saturate(0.9);
  mask:
    linear-gradient(to right, #000 0 18%, transparent 32% 68%, #000 82% 100%),
    linear-gradient(to bottom, #000 0 12%, transparent 24% 76%, #000 88% 100%);
  -webkit-mask:
    linear-gradient(to right, #000 0 18%, transparent 32% 68%, #000 82% 100%),
    linear-gradient(to bottom, #000 0 12%, transparent 24% 76%, #000 88% 100%);
}

.skin-new-card--frosted > *{
  position:relative;
  z-index:1;
}

.skin-new-image{
  position:relative;
  z-index:1;
}



.skin-new-card--frosted{
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.skin-new-card--frosted::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0.48;
  background:
    radial-gradient(70px 70px at 4% 16%, rgba(196,82,47,0.20) 0 36%, transparent 37%),
    radial-gradient(48px 48px at 10% 10%, rgba(231,129,125,0.18) 0 38%, transparent 39%),
    radial-gradient(56px 56px at 17% 7%, rgba(235,214,152,0.20) 0 36%, transparent 37%),
    radial-gradient(64px 64px at 26% 5%, rgba(95,167,154,0.18) 0 36%, transparent 37%),
    radial-gradient(54px 54px at 84% 8%, rgba(235,214,152,0.16) 0 38%, transparent 39%),
    radial-gradient(68px 68px at 92% 12%, rgba(95,167,154,0.16) 0 36%, transparent 37%),
    radial-gradient(78px 78px at 98% 20%, rgba(231,129,125,0.17) 0 34%, transparent 35%),
    radial-gradient(72px 72px at 5% 94%, rgba(196,82,47,0.16) 0 34%, transparent 35%),
    radial-gradient(52px 52px at 12% 89%, rgba(95,167,154,0.15) 0 36%, transparent 37%),
    radial-gradient(48px 48px at 22% 97%, rgba(235,214,152,0.16) 0 36%, transparent 37%),
    radial-gradient(54px 54px at 79% 98%, rgba(231,129,125,0.15) 0 36%, transparent 37%),
    radial-gradient(74px 74px at 90% 94%, rgba(196,82,47,0.15) 0 34%, transparent 35%),
    radial-gradient(58px 58px at 97% 87%, rgba(95,167,154,0.14) 0 36%, transparent 37%);
  filter: blur(12px) saturate(0.9);
}

.skin-new-card--frosted > *{
  position: relative;
  z-index: 1;
}



.skin-new-card--frosted{
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.skin-new-card--frosted::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0.78;
  background:
    radial-gradient(120px 120px at 3% 14%, rgba(196,82,47,0.28) 0 24%, transparent 25%),
    radial-gradient(90px 90px at 9% 8%, rgba(231,129,125,0.24) 0 24%, transparent 25%),
    radial-gradient(95px 95px at 16% 5%, rgba(235,214,152,0.26) 0 22%, transparent 23%),
    radial-gradient(105px 105px at 24% 4%, rgba(95,167,154,0.22) 0 22%, transparent 23%),
    radial-gradient(82px 82px at 82% 6%, rgba(235,214,152,0.22) 0 23%, transparent 24%),
    radial-gradient(100px 100px at 90% 9%, rgba(95,167,154,0.22) 0 22%, transparent 23%),
    radial-gradient(120px 120px at 97% 17%, rgba(231,129,125,0.24) 0 23%, transparent 24%),
    radial-gradient(118px 118px at 4% 96%, rgba(196,82,47,0.22) 0 23%, transparent 24%),
    radial-gradient(88px 88px at 12% 90%, rgba(95,167,154,0.20) 0 23%, transparent 24%),
    radial-gradient(86px 86px at 22% 98%, rgba(235,214,152,0.20) 0 22%, transparent 23%),
    radial-gradient(88px 88px at 80% 98%, rgba(231,129,125,0.20) 0 22%, transparent 23%),
    radial-gradient(112px 112px at 90% 95%, rgba(196,82,47,0.20) 0 23%, transparent 24%),
    radial-gradient(94px 94px at 97% 88%, rgba(95,167,154,0.18) 0 23%, transparent 24%);
  filter: blur(4px) saturate(1);
}

.skin-new-card--frosted::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0.52;
  background:
    linear-gradient(135deg, transparent 0 10%, rgba(255,255,255,0.10) 18%, transparent 26%),
    linear-gradient(225deg, transparent 0 10%, rgba(255,255,255,0.08) 18%, transparent 26%);
}

.skin-new-card--frosted > *{
  position:relative;
  z-index:1;
}



.skin-new-card--frosted{
  overflow: hidden !important;
}

.skin-new-card--frosted::before,
.skin-new-card--frosted::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:280px;
  z-index:0;
  pointer-events:none;
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
  opacity:0.78;
  filter: blur(0.2px) saturate(0.92);
}

.skin-new-card--frosted::before{
  left:-28px;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
}

.skin-new-card--frosted::after{
  right:-24px;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
}

.skin-new-card--frosted > *{
  position:relative;
  z-index:1;
}

@media (max-width: 900px){
  .skin-new-card--frosted::before,
  .skin-new-card--frosted::after{
    width:180px;
    opacity:0.55;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}



.skin-new-card--frosted {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.skin-new-card--frosted::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.88;
  mix-blend-mode: normal;
}

.skin-new-card--frosted::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 20%, rgba(255,255,255,0.10) 0, rgba(255,255,255,0) 24%),
    radial-gradient(circle at 88% 76%, rgba(255,255,255,0.08) 0, rgba(255,255,255,0) 22%);
}

.skin-new-card--frosted > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 900px) {
  .skin-new-card--frosted::before {
    opacity: 0.62;
    background-size: 112% auto;
  }
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}


/* Hero spacing + CTA alignment refinement */
.hero-content {
  padding-bottom: 4.1rem !important;
}

.hero-banner {
  margin: 0 auto 1.2rem !important;
}

.hero h1.hero-tagline {
  font-size: clamp(2.3rem, 4.2vw, 3.15rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 1rem !important;
  max-width: 13ch;
  text-wrap: balance;
}

.hero p,
.hero-local-seo {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.hero p {
  margin-bottom: 1.35rem !important;
}

.hero-local-seo {
  margin-top: 0.45rem !important;
  margin-bottom: 1.3rem !important;
}

.hero-buttons {
  gap: 0.9rem !important;
  margin-bottom: 1.85rem !important;
  align-items: center !important;
}

.hero-buttons .btn-primary,
.hero-buttons .btn-outline,
.hero-buttons a {
  min-width: 220px;
  justify-content: center !important;
}

.hero-contact-bar {
  margin-top: 1rem !important;
}

@media (max-width: 768px) {
  .hero-banner {
    margin: 0 0.75rem 1rem !important;
  }

  .hero h1.hero-tagline {
    font-size: clamp(1.95rem, 7vw, 2.4rem) !important;
    line-height: 1.08 !important;
    margin-bottom: 0.8rem !important;
    max-width: 11ch;
  }

  .hero p,
  .hero-local-seo {
    max-width: 28rem !important;
  }

  .hero p {
    margin-bottom: 1rem !important;
  }

  .hero-local-seo {
    margin-top: 0.25rem !important;
    margin-bottom: 1rem !important;
  }

  .hero-buttons {
    gap: 0.7rem !important;
    margin-bottom: 1.15rem !important;
  }

  .hero-buttons .btn-primary,
  .hero-buttons .btn-outline,
  .hero-buttons a {
    width: 100% !important;
    max-width: 300px !important;
    min-width: 0 !important;
  }

  .hero-contact-bar {
    margin-top: 0.75rem !important;
  }
}


/* Final mobile hero blend fix — integrate image with site instead of looking placed on top */
@media (max-width: 768px){
  .mobile-hero-rebuild{
    margin: 0 12px 1.1rem !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, #f5f5f7 0%, #ededf2 46%, #f5f5f7 100%) !important;
    border: 1px solid rgba(255,255,255,0.78) !important;
    box-shadow:
      0 20px 42px rgba(44, 36, 50, 0.12),
      0 6px 18px rgba(44, 36, 50, 0.07),
      inset 0 1px 0 rgba(255,255,255,0.82) !important;
  }

  .mobile-hero-bg{
    inset: 0 !important;
    padding: 0 !important;
    border-radius: inherit !important;
    overflow: hidden !important;
  }

  .mobile-hero-bg img{
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover;
    object-position: top center;
    border-radius: inherit !important;
    border: none !important;
    box-shadow: none !important;
    filter: saturate(1.03) brightness(1.03) contrast(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    inset: 0 !important;
    z-index: 1 !important;
    background:
      linear-gradient(
        180deg,
        rgba(245,245,247,0.34) 0%,
        rgba(245,245,247,0.16) 20%,
        rgba(255,255,255,0.05) 42%,
        rgba(255,255,255,0.06) 70%,
        rgba(245,245,247,0.24) 88%,
        rgba(245,245,247,0.54) 100%
      ) !important;
    backdrop-filter: blur(6px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(112%) !important;
  }

  .mobile-hero-rebuild::before{
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    pointer-events: none !important;
    z-index: 2 !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(255,255,255,0.28) 0%, rgba(255,255,255,0) 34%),
      linear-gradient(
        180deg,
        rgba(255,255,255,0.18) 0%,
        rgba(255,255,255,0) 24%,
        rgba(255,255,255,0) 76%,
        rgba(255,255,255,0.12) 88%,
        rgba(255,255,255,0.24) 100%
      );
  }

  .mobile-hero-inner{
    position: relative !important;
    z-index: 3 !important;
    padding: 0.25rem 0.3rem 0.95rem !important;
  }

  .mobile-hero-banner{
    margin: 0 auto 0.9rem !important;
    border-radius: 22px !important;
    box-shadow:
      0 14px 30px rgba(44, 36, 50, 0.14),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 24px !important;
    right: 24px !important;
    bottom: 10px !important;
    height: 34px !important;
    border-radius: 999px !important;
    pointer-events: none !important;
    z-index: 2 !important;
    background: radial-gradient(
      ellipse at center,
      rgba(30, 25, 38, 0.15) 0%,
      rgba(30, 25, 38, 0.06) 46%,
      rgba(30, 25, 38, 0) 100%
    ) !important;
    filter: blur(10px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    margin: 0 10px 1rem !important;
    border-radius: 24px !important;
  }

  .mobile-hero-inner{
    padding: 0.2rem 0.2rem 0.9rem !important;
  }

  .mobile-hero-banner{
    border-radius: 20px !important;
  }

  .mobile-hero-bg img{
    object-position: top center;
    transform: scale(1.05);
}
}


/* Stronger mobile hero integration pass */
@media (max-width: 768px){
  .hero{
    padding-top: 0 !important;
    background: linear-gradient(180deg, #f4f4f6 0%, #efeff3 52%, #f5f5f7 100%) !important;
  }

  .mobile-hero-rebuild{
    margin: 0 !important;
    border-radius: 0 0 28px 28px !important;
    min-height: 27rem !important;
    box-shadow:
      0 18px 42px rgba(40, 34, 46, 0.10),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }

  .mobile-hero-bg img{
    object-position: top center;
    filter: saturate(1.02) brightness(1.01) contrast(1.01) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background:
      linear-gradient(
        180deg,
        rgba(244,244,246,0.18) 0%,
        rgba(244,244,246,0.06) 18%,
        rgba(255,255,255,0.03) 42%,
        rgba(255,255,255,0.04) 68%,
        rgba(244,244,246,0.20) 84%,
        rgba(244,244,246,0.62) 100%
      ) !important;
    backdrop-filter: blur(4px) saturate(108%) !important;
    -webkit-backdrop-filter: blur(4px) saturate(108%) !important;
  }

  .mobile-hero-rebuild::before{
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.22) 0%,
        rgba(255,255,255,0.00) 22%,
        rgba(255,255,255,0.00) 74%,
        rgba(255,255,255,0.10) 86%,
        rgba(255,255,255,0.26) 100%
      ) !important;
  }

  .mobile-hero-rebuild::after{
    left: 0 !important;
    right: 0 !important;
    bottom: -1px !important;
    height: 120px !important;
    border-radius: 0 !important;
    filter: none !important;
    background:
      linear-gradient(
        180deg,
        rgba(245,245,247,0.00) 0%,
        rgba(245,245,247,0.22) 35%,
        rgba(245,245,247,0.72) 76%,
        rgba(245,245,247,1.00) 100%
      ) !important;
  }

  .mobile-hero-inner{
    padding: 0.35rem 0.55rem 1.15rem !important;
  }

  .mobile-hero-banner{
    max-width: calc(100% - 12px) !important;
    margin: 0 auto 0.85rem !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.64) 0%, rgba(255,255,255,0.34) 100%) !important;
    border: 1px solid rgba(255,255,255,0.82) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    border-radius: 0 0 24px 24px !important;
    min-height: 25.8rem !important;
  }

  .mobile-hero-inner{
    padding: 0.3rem 0.45rem 1.05rem !important;
  }

  .mobile-hero-banner{
    max-width: calc(100% - 10px) !important;
  }
}

/* Mobile-only styles */

@media (max-width: 768px) {
      .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

@media (max-width: 768px) {
      .faq-grid {
        grid-template-columns: 1fr;
      }
    }

@media (max-width: 768px) {
      .about-grid {
        grid-template-columns: 1fr;
      }
    }

@media (max-width: 768px) {
      .credentials-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

@media (max-width: 768px) {
      .values-grid {
        grid-template-columns: 1fr;
      }
    }

@media (max-width: 768px) {
      .contact-grid {
        grid-template-columns: 1fr;
      }
    }

@media (max-width: 768px) {
      .form-row {
        grid-template-columns: 1fr;
      }
    }

@media (max-width: 768px) {
      .mobile-service-book-btn {
        margin-top: 1.1rem;
      }
    }

@media (max-width: 768px) {
      .mobile-opening-soon {
        display: inline;
      }
      .mobile-service-stack .service-card .mobile-service-book-btn,
      .services-grid .service-card .mobile-service-book-btn {
        display: inline-flex;
        width: 100%;
        justify-content: center;
        align-items: center;
        margin-top: 1rem;
      }
    }

@media (max-width: 768px) {
      .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
      }
    }

.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Structure cleanup v86: separated base, desktop-only, mobile-only, and other media CSS blocks. No intentional visual changes. */

.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  body {
    background: linear-gradient(180deg, #fcf9fe 0%, #f7f1fb 100%);
    color: #2f2a35;
  }

  nav {
    background: rgba(252, 248, 254, 0.96) !important;
    border-bottom: 1px solid rgba(184, 160, 210, 0.18) !important;
    box-shadow: 0 8px 24px rgba(89, 57, 117, 0.08) !important;
  }

  .nav-links a[href="#welcome"],
  .nav-links a[href="#services"],
  .nav-links a[href="#home-visits"] {
    display: none !important;
  }

  .hero {
    min-height: auto !important;
    padding-top: 5.25rem !important;
    padding-bottom: 1.5rem !important;
    background-position: center top !important;
    background-attachment: scroll !important;
  }

  .hero::before {
    background: linear-gradient(180deg,
      rgba(255,255,255,0.92) 0%,
      rgba(252,244,251,0.88) 52%,
      rgba(248,241,251,0.96) 100%) !important;
  }

  .hero-banner {
    margin: 0 0.9rem 1rem !important;
    padding: 6px !important;
    border-radius: 20px !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(255,255,255,0.92) !important;
    box-shadow: 0 10px 24px rgba(89, 57, 117, 0.10) !important;
  }

  .hero-content {
    padding: 0 1rem 1rem !important;
  }

  .hero h1.hero-tagline {
    font-size: 1.7rem !important;
    line-height: 1.18 !important;
    letter-spacing: -0.02em !important;
    color: #39274c !important;
    margin-bottom: 0.9rem !important;
  }

  .hero p,
  .hero-local-seo {
    font-size: 1rem !important;
    line-height: 1.7 !important;
    color: #5c5368 !important;
    max-width: 32rem !important;
  }

  .hero-buttons {
    width: 100%;
    gap: 0.75rem !important;
    margin-bottom: 1.2rem !important;
  }

  .hero-buttons a,
  .hero-buttons .btn-primary,
  .hero-buttons .btn-outline { font-size: 0.95rem;
    max-width: 100% !important;
    min-height: 54px !important;
    border-radius: 16px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
  }

  .hero-contact-bar {
    width: 100% !important;
    display: grid !important;
    gap: 0.7rem !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .hero-contact-item {
    justify-content: center;
    padding: 0.9rem 1rem;
    border-radius: 16px;
    background: rgba(255,255,255,0.88);
    border: 1px solid rgba(195, 176, 220, 0.28);
    box-shadow: 0 8px 20px rgba(89, 57, 117, 0.08);
    font-size: 1rem !important;
  }

  .hero-contact-item a {
    font-size: 1.05rem !important;
  }

  .clinic-trust-strip {
    padding: 0 1rem 1rem !important;
  }

  .clinic-trust-strip__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.7rem !important;
    padding: 0.85rem !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,0.88) !important;
    border: 1px solid rgba(195, 176, 220, 0.24) !important;
    box-shadow: 0 10px 22px rgba(89, 57, 117, 0.08) !important;
  }

  .clinic-trust-pill {
    padding: 0.95rem 1rem !important;
    border-radius: 15px !important;
    background: #f8f2fb !important;
    border: 1px solid rgba(211, 194, 231, 0.35) !important;
    font-size: 0.96rem !important;
  }

  .mobile-premium-stack {
    padding: 0 1rem 0.25rem !important;
  }

  .mobile-premium-stack .section-container {
    padding: 0 !important;
  }

  .mobile-quick-links,
  .mobile-services-showcase,
  #welcome,
  #services,
  #home-visits,
  #gallery,
  #what-to-expect {
    display: none !important;
  }

  .mobile-summary-card,
  .mobile-trust-card,
  .mobile-core-services,
  .testimonial-container,
  .about-content,
  .contact-card,
  .booking-direct-card,
  .booking-support-panel,
  .faq-item,
  .contact-grid .glass-card,
  .about-grid .glass-card,
  .booking .glass-card {
    background: rgba(255,255,255,0.92) !important;
    border: 1px solid rgba(195, 176, 220, 0.24) !important;
    box-shadow: 0 12px 26px rgba(89, 57, 117, 0.08) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .mobile-summary-card,
  .mobile-trust-card,
  .mobile-core-services {
    border-radius: 22px !important;
    padding: 1.2rem !important;
    margin-bottom: 1rem !important;
  }

  .mobile-summary-card h2,
  .mobile-trust-card h2,
  .mobile-core-services h2 {
    font-size: 1.45rem !important;
    color: #402857 !important;
    margin-bottom: 0.65rem !important;
  }

  .mobile-summary-card p,
  .mobile-trust-card p,
  .mobile-core-services p {
    color: #5c5368 !important;
    line-height: 1.65 !important;
  }

  .mobile-summary-meta {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
    margin: 0.9rem 0 !important;
  }

  .mobile-summary-meta span {
    padding: 0.8rem 0.9rem;
    border-radius: 14px;
    background: #f7f1fb;
    text-align: center;
    font-weight: 600;
    color: #5a4476;
  }

  .mobile-trust-list {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.65rem !important;
    list-style: none;
    padding: 0;
    margin: 0.9rem 0 0;
  }

  .mobile-trust-list li {
    padding: 0.85rem 0.8rem;
    border-radius: 14px;
    background: #f8f2fb;
    font-size: 0.94rem;
    color: #4f3c66;
    text-align: center;
    border: 1px solid rgba(211, 194, 231, 0.35);
  }

  .mobile-core-services {
    display: block !important;
  }

  .mobile-core-services__eyebrow {
    display: inline-block;
    margin-bottom: 0.5rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8a5ea8;
  }

  .mobile-core-services__grid {
    display: grid;
    gap: 0.85rem;
    margin-top: 1rem;
  }

  .mobile-core-service-card {
    padding: 1rem;
    border-radius: 18px;
    background: #f9f4fc;
    border: 1px solid rgba(211, 194, 231, 0.42);
  }

  .mobile-core-service-card h3 {
    font-size: 1.05rem;
    color: #402857;
    margin-bottom: 0.35rem;
  }

  .mobile-core-service-card p {
    margin-bottom: 0.8rem;
    font-size: 0.95rem;
  }

  .mobile-core-service-meta {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 0.85rem;
  }

  .mobile-core-service-meta span {
    padding: 0.4rem 0.65rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.92);
    color: #6a4f86;
    font-size: 0.84rem;
    font-weight: 700;
  }

  .mobile-core-service-card .btn-primary,
  .mobile-core-service-card .btn-outline { font-size: 0.95rem;
    width: 100%;
    min-height: 52px;
    border-radius: 15px !important;
    font-size: 0.98rem !important;
  }

  #testimonials,
  #about,
  #contact,
  #more-info,
  #booking {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .testimonial-container {
    padding: 1.25rem 1rem 1.35rem !important;
    border-radius: 22px !important;
  }

  .testimonial-content {
    padding: 0 0.35rem !important;
  }

  .testimonial-quote {
    font-size: 1.18rem !important;
    line-height: 1.55 !important;
  }

  .testimonial-nav {
    display: none !important;
  }

  .about-grid,
  .contact-grid,
  .faq-grid,
  .booking-direct-grid,
  .values-grid {
    grid-template-columns: 1fr !important;
  }

  .about-image {
    order: -1;
    padding: 0 !important;
  }

  .about-image .image-wrapper {
    min-height: 260px !important;
  }

  .about-content {
    padding: 1.25rem !important;
    border-radius: 22px !important;
  }

  .credentials-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.75rem !important;
  }

  .credential-card,
  .contact-card,
  .faq-item,
  .booking-direct-card {
    border-radius: 18px !important;
  }

  .contact-info-stack {
    gap: 0.85rem !important;
  }

  .contact-photo-grid,
  .map-container {
    display: none !important;
  }

  .faq-item {
    padding: 1rem !important;
    cursor: pointer;
  }

  .faq-question {
    align-items: center !important;
  }

  .faq-question h4 {
    padding-right: 1.75rem !important;
    line-height: 1.45 !important;
  }

  .faq-question h4::after {
    right: 0.1rem !important;
    transform: translateY(-50%) rotate(0deg) !important;
  }

  

  .faq-answer {
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    margin-top: 0 !important;
    padding-left: 0 !important;
    transition: all 0.28s ease !important;
  }

  .faq-item.is-open .faq-answer,
  .faq-item.is-open:hover .faq-answer {
    max-height: 320px !important;
    opacity: 1 !important;
    margin-top: 0.8rem !important;
  }

  .faq-item.is-open .faq-question h4::after {
    transform: translateY(-50%) rotate(180deg) !important;
    color: #8a5ea8 !important;
  }

  .booking-location-note,
  .booking-reassurance-note {
    margin-bottom: 0.8rem !important;
    font-size: 0.98rem !important;
  }

  #booking p[style*="Prices below now match"] {
    margin-bottom: 1.2rem !important;
  }

  .booking-direct-card {
    padding: 1.2rem !important;
    min-height: auto !important;
  }

  .booking-card-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.45rem !important;
  }

  .booking-card-top h4 {
    font-size: 1.2rem !important;
  }

  .booking-card-price-wrap {
    text-align: left !important;
  }

  .booking-card-price {
    font-size: 2rem !important;
  }

  .booking-card-actions,
  .booking-support-actions {
    display: grid !important;
    gap: 0.7rem !important;
  }

  .booking-support-panel {
    padding: 1.2rem !important;
    border-radius: 20px !important;
  }

  .btn-book-service {
    min-height: 52px !important;
    border-radius: 15px !important;
    font-size: 0.98rem !important;
  }

  footer {
    padding-bottom: 6.2rem !important;
  }

  .mobile-sticky-bar {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 0.7rem;
  }
}

@media (max-width: 414px) {
  .mobile-trust-list {
    grid-template-columns: 1fr !important;
  }

  .credentials-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

.mobile-core-services,
.mobile-sticky-bar {
  display: none;
}

.mobile-sticky-bar {
  position: fixed;
  left: 0.85rem;
  right: 0.85rem;
  bottom: calc(env(safe-area-inset-bottom) + 0.75rem);
  z-index: 10020;
  padding: 0.75rem;
  border-radius: 20px;
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(195, 176, 220, 0.34);
  box-shadow: 0 16px 34px rgba(69, 44, 93, 0.18);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.mobile-sticky-bar a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0.85rem 1rem;
  border-radius: 15px;
  text-decoration: none;
  font-weight: 800;
  font-size: 0.98rem;
}

.mobile-sticky-bar__call {
  background: #f4ecfa;
  color: #4a3164;
  border: 1px solid rgba(195, 176, 220, 0.35);
}

.mobile-sticky-bar__book {
  background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
  color: #fff;
  box-shadow: 0 8px 20px rgba(106,27,154,0.24);
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  #booking .booking-direct-grid{
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    margin-top: 1.2rem !important;
  }

  #booking .booking-direct-card{
    position: relative !important;
    overflow: hidden !important;
    padding: 1.25rem 1.1rem !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(245,238,251,0.98) 100%) !important;
    border: 1px solid rgba(181, 146, 214, 0.34) !important;
    box-shadow: 0 12px 28px rgba(106,27,154,0.10) !important;
  }

  #booking .booking-direct-card::before{
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.34) 0%, rgba(255,255,255,0.08) 48%, rgba(216,27,96,0.05) 100%) !important;
    pointer-events: none !important;
    opacity: 1 !important;
  }

  #booking .booking-direct-card > *{
    position: relative !important;
    z-index: 1 !important;
  }

  #booking .booking-card-top{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.9rem !important;
    align-items: start !important;
  }

  #booking .booking-card-top h4,
  #booking .booking-direct-card .booking-card-top h4,
  #booking .booking-direct-card .booking-card-top .booking-card-title{
    margin: 0 !important;
    max-width: none !important;
    font-size: 1.55rem !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: #6a1b9a !important;
    text-wrap: balance;
  }

  #booking .booking-card-price-wrap{
    display: flex !important;
    align-items: center !important;
    gap: 0.7rem !important;
    flex-wrap: wrap !important;
    text-align: left !important;
    width: 100% !important;
  }

  #booking .booking-card-price,
  #booking .booking-direct-grid .booking-card-price{
    display: inline-block !important;
    font-size: 2.25rem !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    color: #7b2cbf !important;
    letter-spacing: -0.03em !important;
  }

  #booking .booking-card-duration,
  #booking .booking-direct-grid .booking-card-duration{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 0 !important;
    padding: 0.45rem 0.8rem !important;
    min-height: 2.25rem !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.92) !important;
    border: 1px solid rgba(214, 199, 236, 0.9) !important;
    color: #677085 !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.95) !important;
  }

  #booking .booking-direct-card p,
  #booking .booking-direct-grid .booking-direct-card p{
    margin-top: 0.15rem !important;
    font-size: 0.98rem !important;
    line-height: 1.6 !important;
    color: #596175 !important;
  }

  #booking .booking-card-actions{
    margin-top: 0.35rem !important;
    gap: 0.7rem !important;
  }

  #booking .btn-book-service,
  #booking .booking-card-actions .btn,
  #booking .booking-direct-card .btn{
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 10px 22px rgba(106,27,154,0.22) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
  }

  #booking .btn-book-service:hover,
  #booking .btn-book-service:active{
    transform: none !important;
    box-shadow: 0 10px 22px rgba(106,27,154,0.22) !important;
  }

  #booking .booking-support-panel{
    margin-top: 1rem !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(247,241,251,0.98) 100%) !important;
    border: 1px solid rgba(181, 146, 214, 0.28) !important;
    box-shadow: 0 10px 24px rgba(106,27,154,0.08) !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (min-width: 769px) {
  .footer-contact a[href^="mailto:"],
  .footer-column a[href^="mailto:"],
  .contact-card a[href^="mailto:"] {
    color: inherit !important;
    text-decoration: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
    transition: none !important;
  }

  .footer-contact a[href^="mailto:"]:hover,
  .footer-column a[href^="mailto:"]:hover,
  .contact-card a[href^="mailto:"]:hover,
  .footer-contact a[href^="mailto:"]:focus,
  .footer-column a[href^="mailto:"]:focus,
  .contact-card a[href^="mailto:"]:focus {
    color: inherit !important;
    text-decoration: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  .footer-column a[href^="mailto:"]::before {
    content: '›' !important;
    color: #d81b60 !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (min-width: 769px) {
  .whatsapp-cta.glass-card,
  .follow-us-card.glass-card {
    box-shadow: 0 16px 44px rgba(106,27,154,0.10), inset 0 1px 0 rgba(255,255,255,0.82) !important;
  }

  .whatsapp-cta h4,
  .follow-us-card h4 {
    font-size: 1.55rem !important;
    line-height: 1.15 !important;
    color: #6a1b9a !important;
    margin-bottom: 1.15rem !important;
  }

  .whatsapp-cta p,
  .follow-us-card p {
    color: #5f5879 !important;
    font-size: 1.03rem !important;
    line-height: 1.72 !important;
  }

  .whatsapp-cta .btn-whatsapp {
    background: linear-gradient(135deg, rgba(34,197,94,0.94) 0%, rgba(22,163,74,0.98) 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 28px rgba(34,197,94,0.22), 0 4px 12px rgba(0,0,0,0.07) !important;
    border: 1px solid rgba(255,255,255,0.5) !important;
    min-height: 60px !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
  }

  .whatsapp-cta .btn-whatsapp:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 34px rgba(34,197,94,0.28), 0 6px 16px rgba(0,0,0,0.08) !important;
  }

  .whatsapp-cta small {
    display: block !important;
    margin-top: 0.9rem !important;
    color: #6f6890 !important;
    font-size: 0.97rem !important;
    font-weight: 500 !important;
  }

  .contact-photo-grid,
  .contact-photo-grid.glass-card {
    box-shadow: 0 12px 34px rgba(106,27,154,0.08), inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }

  .contact-photo-grid img {
    filter: saturate(0.92) contrast(0.96) brightness(0.99) !important;
  }

  #contact,
  .contact-section,
  section:has(.contact-grid) {
    padding-bottom: 4.25rem !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (min-width: 769px) {
  .contact-grid {
    align-items: start !important;
    gap: 2rem !important;
  }

  .contact-info-stack {
    gap: 0.9rem !important;
  }

  .contact-card,
  .follow-us-card,
  .whatsapp-cta {
    padding-top: 1.35rem !important;
    padding-bottom: 1.35rem !important;
  }

  .whatsapp-cta {
    padding-top: 1.6rem !important;
    padding-bottom: 1.45rem !important;
  }

  .whatsapp-cta h4 {
    margin-bottom: 0.8rem !important;
  }

  .whatsapp-cta p {
    font-size: 1rem !important;
    line-height: 1.58 !important;
    margin-bottom: 1rem !important;
  }

  .whatsapp-cta .btn-whatsapp {
    min-height: 56px !important;
    box-shadow: 0 7px 18px rgba(34,197,94,0.16), 0 3px 8px rgba(0,0,0,0.05) !important;
  }

  .whatsapp-cta small {
    margin-top: 0.75rem !important;
    font-size: 0.92rem !important;
  }

  .follow-us-card .social-link {
    width: 58px !important;
    height: 58px !important;
  }

  .follow-us-card .social-link svg {
    width: 29px !important;
    height: 29px !important;
  }

  .contact-photo-grid {
    gap: 0.85rem !important;
    margin-top: 0.5rem !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (min-width: 769px){
  .contact-photo-grid{
    margin-top: 1.6rem !important; /* increase gap under map */
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (min-width: 769px){
  .contact-info-stack{
    gap: 0.8rem !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (min-width: 769px){
  .facebook-cta, .whatsapp-cta{
    padding: 1.2rem 1.1rem !important;
  }

  .facebook-cta h4, .whatsapp-cta h4{
    font-size: 1.35rem !important;
    margin-bottom: 0.6rem !important;
  }

  .facebook-cta p, .whatsapp-cta p{
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    margin-bottom: 0.8rem !important;
  }

  .facebook-cta .btn-facebook,
  .whatsapp-cta .btn-whatsapp{
    min-height: 48px !important;
    font-size: 0.95rem !important;
    padding: 0.7rem 1rem !important;
    box-shadow: 0 6px 16px rgba(0,0,0,0.08) !important;
  }

  .facebook-cta small,
  .whatsapp-cta small{
    font-size: 0.85rem !important;
    margin-top: 0.6rem !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (min-width: 769px){
  .facebook-cta .btn-facebook{
    transition: all 0.25s ease !important;
    color: #e3f2fd !important;
  }

  .facebook-cta .btn-facebook:hover{
    transform: translateY(-2px) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 28px rgba(24,119,242,0.28), 0 6px 16px rgba(0,0,0,0.08) !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Full-site glass system: strong hero, subtle nav/footer, light cards */

/* 1) Hero: strongest glass */
.hero-banner{
  background: linear-gradient(135deg, rgba(255,255,255,0.62) 0%, rgba(255,255,255,0.32) 50%, rgba(255,255,255,0.52) 100%) !important;
  backdrop-filter: blur(24px) saturate(185%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(185%) !important;
  border: 1.5px solid rgba(255,255,255,0.88) !important;
  box-shadow:
    0 16px 44px rgba(106,27,154,0.10),
    0 8px 20px rgba(216,27,96,0.08),
    inset 0 1px 0 rgba(255,255,255,0.92),
    inset 0 -1px 0 rgba(255,255,255,0.42) !important;
}

.hero-contact-bar.glass-panel,
.hero-contact-bar.glass-panel-strong,
.hero-contact-bar{
  background: linear-gradient(135deg, rgba(255,255,255,0.56) 0%, rgba(255,255,255,0.34) 55%, rgba(255,255,255,0.50) 100%) !important;
  backdrop-filter: blur(22px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(170%) !important;
  border: 1px solid rgba(255,255,255,0.82) !important;
  box-shadow:
    0 12px 30px rgba(106,27,154,0.08),
    inset 0 1px 0 rgba(255,255,255,0.88) !important;
}

/* 2) Nav: subtle glass */
nav{
  background: rgba(255,255,255,0.80) !important;
  backdrop-filter: blur(20px) saturate(165%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(165%) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 8px 24px rgba(106,27,154,0.06),
    0 2px 8px rgba(0,0,0,0.03) !important;
}

nav.scrolled{
  background: rgba(255,255,255,0.88) !important;
  backdrop-filter: blur(22px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(170%) !important;
}

/* 3) Global light-card glass refinement */
.glass-card{
  background: linear-gradient(145deg, rgba(255,255,255,0.58) 0%, rgba(255,255,255,0.30) 100%) !important;
  backdrop-filter: blur(18px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%) !important;
  border: 1px solid rgba(255,255,255,0.72) !important;
  box-shadow:
    0 12px 28px rgba(106,27,154,0.08),
    0 4px 10px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.82) !important;
}

/* 4) Panels / CTA cards: medium glass */
.glass-panel,
.glass-panel-strong{
  box-shadow:
    0 14px 34px rgba(106,27,154,0.09),
    0 5px 12px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.84) !important;
}

.whatsapp-cta,
.facebook-cta,
.follow-us-card{
  background: linear-gradient(145deg, rgba(255,255,255,0.66) 0%, rgba(255,255,255,0.36) 100%) !important;
  backdrop-filter: blur(20px) saturate(165%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(165%) !important;
  border: 1px solid rgba(255,255,255,0.78) !important;
  box-shadow:
    0 14px 34px rgba(106,27,154,0.10),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

/* 5) Service cards: very light glass only */
.service-card{
  background: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.46) 100%) !important;
  backdrop-filter: blur(12px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(135%) !important;
  border: 1px solid rgba(255,255,255,0.78) !important;
  box-shadow:
    0 10px 24px rgba(106,27,154,0.06),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
}

.service-card .btn-outline{
  background: linear-gradient(145deg, rgba(255,255,255,0.88) 0%, rgba(245,235,255,0.74) 100%) !important;
}

/* 6) Image overlay cards / about cards */
.image-overlay-card,
.about-content,
.credential-card,
.contact-card{
  background: linear-gradient(145deg, rgba(255,255,255,0.62) 0%, rgba(255,255,255,0.34) 100%) !important;
  backdrop-filter: blur(16px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(145%) !important;
  border: 1px solid rgba(255,255,255,0.76) !important;
  box-shadow:
    0 12px 28px rgba(106,27,154,0.08),
    inset 0 1px 0 rgba(255,255,255,0.84) !important;
}

/* 7) Footer: subtle tying-together glass */
footer{
  background: linear-gradient(160deg, rgba(255,255,255,0.82) 0%, rgba(248,240,255,0.86) 52%, rgba(252,228,236,0.82) 100%) !important;
  backdrop-filter: blur(22px) saturate(155%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(155%) !important;
  box-shadow:
    0 -6px 28px rgba(106,27,154,0.06),
    0 -1px 0 rgba(255,255,255,0.94),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

/* 8) Reduce hover lift so glass feels calmer and more expensive */
.glass-card:hover{
  transform: translateY(-2px) !important;
  box-shadow:
    0 16px 34px rgba(106,27,154,0.10),
    0 5px 12px rgba(0,0,0,0.05),
    inset 0 1px 0 rgba(255,255,255,0.86) !important;
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* 1) Improve text contrast in glass areas */
.hero h1,
.hero h1.hero-tagline,
.hero p,
.welcome-content p,
.news-box p,
.about-content p,
.contact-card p,
.contact-card a,
.footer-contact,
.footer-contact a,
.footer-brand p,
.service-card p,
.service-features li,
.booking-direct-card p{
  color: #3f4657 !important;
}

.section-subheading,
.testimonial-date,
.contact-card small,
.footer-bottom p{
  color: #69707f !important;
}

.whatsapp-cta p,
.facebook-cta p,
.follow-us-card p,
.hero-contact-item,
.hero-contact-item a{
  color: #434a5a !important;
}

.glass-card,
.glass-panel,
.glass-panel-strong,
.whatsapp-cta,
.facebook-cta,
.follow-us-card,
.image-overlay-card,
.about-content,
.credential-card,
.contact-card{
  background: linear-gradient(145deg, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.56) 100%) !important;
}

.hero-banner{
  background: linear-gradient(135deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.44) 50%, rgba(255,255,255,0.64) 100%) !important;
}

.hero-contact-bar.glass-panel,
.hero-contact-bar.glass-panel-strong,
.hero-contact-bar{
  background: linear-gradient(135deg, rgba(255,255,255,0.70) 0%, rgba(255,255,255,0.48) 55%, rgba(255,255,255,0.64) 100%) !important;
}

/* 2) Improve button hierarchy */
.btn-primary,
.service-card .btn-primary,
.mobile-service-book-btn,
.btn-book-service{
  box-shadow: 0 8px 24px rgba(106,27,154,0.28), 0 4px 12px rgba(216,27,96,0.16) !important;
}

.btn-primary:hover,
.service-card .btn-primary:hover,
.mobile-service-book-btn:hover,
.btn-book-service:hover{
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 30px rgba(106,27,154,0.34), 0 6px 16px rgba(216,27,96,0.18) !important;
}

.btn-outline,
.service-card .btn-outline{
  background: rgba(255,255,255,0.78) !important;
  color: #5b2c82 !important;
  border: 1.5px solid rgba(106,27,154,0.22) !important;
  box-shadow: 0 4px 14px rgba(106,27,154,0.08) !important;
}

.btn-outline:hover,
.service-card .btn-outline:hover{
  background: rgba(255,255,255,0.92) !important;
  color: #6a1b9a !important;
  border-color: rgba(106,27,154,0.34) !important;
  box-shadow: 0 8px 20px rgba(106,27,154,0.12) !important;
}

/* Make direct "call now" style secondary where it appears next to book */
.hero-buttons .btn-outline,
.mobile-a-actions .btn-outline,
.mobile-hero-opt1__actions .btn-outline{
  opacity: 0.96 !important;
}

/* 3) Standardise spacing between sections */
section{
  padding-top: 3.25rem !important;
  padding-bottom: 3.25rem !important;
}

.hero{
  padding-bottom: 4.2rem !important;
}

#welcome,
#services,
#about,
#contact,
#booking{
  scroll-margin-top: 90px;
}

.section-heading{
  margin-bottom: 2.25rem !important;
}

.welcome-content,
.news-box,
.testimonial-container,
.booking-form{
  padding-top: 2.4rem !important;
  padding-bottom: 2.4rem !important;
}

.service-category{
  margin-bottom: 3.1rem !important;
}

.about-grid,
.contact-grid,
.other-services-content,
.home-visits-grid{
  margin-bottom: 0 !important;
}

footer{
  padding-top: 3.4rem !important;
}

/* Mobile consistency for readability */
@media (max-width:768px){
  section{
    padding-top: 2.2rem !important;
    padding-bottom: 2.2rem !important;
  }

  .section-heading{
    margin-bottom: 1.5rem !important;
  }

  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .whatsapp-cta,
  .facebook-cta,
  .follow-us-card,
  .image-overlay-card,
  .about-content,
  .credential-card,
  .contact-card{
    background: linear-gradient(145deg, rgba(255,255,255,0.84) 0%, rgba(255,255,255,0.66) 100%) !important;
  }

  .hero p,
  .welcome-content p,
  .news-box p,
  .about-content p,
  .service-card p,
  .service-features li{
    color: #424959 !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.tinnitus-article-section {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.tinnitus-article-wrap {
  padding: 2rem;
}
.tinnitus-article-header {
  text-align: center;
  margin-bottom: 1.5rem;
}
.tinnitus-quick-answer,
.tinnitus-table-card,
.tinnitus-reassurance-card {
  padding: 1.5rem;
  margin-bottom: 1.25rem;
}
.tinnitus-article-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
.tinnitus-article-card {
  padding: 1.5rem;
}
.tinnitus-article-card h3,
.tinnitus-quick-answer h3,
.tinnitus-table-card h3,
.tinnitus-reassurance-card h3 {
  color: #6a1b9a;
  font-size: 1.35rem;
  margin-bottom: 0.75rem;
}
.tinnitus-article-card p,
.tinnitus-quick-answer p,
.tinnitus-table-card p,
.tinnitus-reassurance-card p {
  color: #4b5563;
  margin-bottom: 0.8rem;
  line-height: 1.7;
}
.tinnitus-list {
  list-style: none;
  margin: 0.25rem 0 0.85rem;
  padding: 0;
}
.tinnitus-list li {
  position: relative;
  padding-left: 1.1rem;
  margin-bottom: 0.4rem;
  color: #374151;
}
.tinnitus-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #d81b60;
  font-weight: 700;
}
.tinnitus-table-wrap {
  overflow-x: auto;
}
.tinnitus-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  min-width: 620px;
}
.tinnitus-table th,
.tinnitus-table td {
  padding: 0.95rem 1rem;
  text-align: left;
  border-bottom: 1px solid rgba(106,27,154,0.12);
}
.tinnitus-table th {
  color: #6a1b9a;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  background: rgba(255,255,255,0.55);
}
.tinnitus-note {
  margin-top: 0.9rem;
  font-weight: 600;
  color: #5a1a8a;
}
@media (max-width: 768px) {
  .tinnitus-article-wrap {
    padding: 1.25rem;
  }
  .tinnitus-article-grid {
    grid-template-columns: 1fr;
  }
  .tinnitus-article-card,
  .tinnitus-quick-answer,
  .tinnitus-table-card,
  .tinnitus-reassurance-card {
    padding: 1.15rem;
  }
  .tinnitus-table {
    min-width: 520px;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Hero reassurance strip */
.hero-reassurance-strip{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:0.85rem 1.5rem;
  margin: 0 auto 1.5rem;
  padding: 0.95rem 1.35rem;
  max-width: 860px;
}
.hero-reassurance-item{
  font-weight:700;
  color:#4a3164;
  font-size:1rem;
  white-space:nowrap;
}

.hero-local-seo{
  max-width: 760px !important;
  color:#4a5261 !important;
  font-weight:600 !important;
}

.booking-availability-note{
  max-width:760px;
  margin: -0.2rem auto 1rem;
  text-align:center;
  color:#4a5261;
  line-height:1.7;
}

.booking-trust-note{
  max-width:760px;
  margin: 0.5rem auto 1rem;
  text-align:center;
  color:#4a5261;
  font-weight:700 !important;
}

.tinnitus-internal-link{
  margin-top: 0.85rem;
  font-weight:600;
}
.tinnitus-internal-link a{
  color:#6a1b9a;
  text-decoration:none;
  font-weight:700;
}
.tinnitus-internal-link a:hover{
  color:#d81b60;
  text-decoration:underline;
}

.areas-cover-note{
  text-align:center;
  color:#5d6473;
  max-width:760px;
  margin: -0.5rem auto 1.25rem;
  font-weight:600;
}

/* Stronger button hierarchy */
.hero-buttons .btn-primary,
.booking-card-actions .btn-primary,
.service-card .btn-primary{
  transform:none;
}
.hero-buttons .btn-outline,
.booking-card-actions .btn-outline,
.service-card .btn-outline{
  opacity:0.96;
}

/* Mobile readability */
@media (max-width:768px){
  .hero-reassurance-strip{
    gap:0.65rem;
    padding:0.85rem 1rem;
    margin-bottom:1rem;
  }
  .hero-reassurance-item{
    width:100%;
    text-align:center;
    font-size:0.95rem;
  }
  .booking-availability-note,
  .booking-trust-note,
  .areas-cover-note{
    font-size:0.96rem;
    line-height:1.65;
  }
}

/* Phase 1 conversion-focused hero upgrade */
.hero-buttons{
  justify-content:center;
  align-items:flex-start;
  gap:1rem;
}
.hero-cta-stack{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0.42rem;
}
.hero-cta-primary{
  min-width:250px !important;
  box-shadow:0 14px 34px rgba(106,27,154,0.32), 0 6px 16px rgba(216,27,96,0.14), inset 0 2px 8px rgba(255,255,255,0.16) !important;
}
.hero-cta-primary:hover{
  transform:translateY(-2px) scale(1.02) !important;
}
.hero-cta-secondary{
  background:linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(244,236,250,0.94) 100%) !important;
  color:#4a3164 !important;
  border:1px solid rgba(197,171,224,0.78) !important;
  box-shadow:0 10px 24px rgba(106,27,154,0.10), inset 0 1px 0 rgba(255,255,255,0.96) !important;
}
.hero-cta-secondary:hover{
  background:linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(246,238,252,0.98) 100%) !important;
  color:#3f275a !important;
  transform:translateY(-2px) !important;
}
.hero-cta-note{
  font-size:0.88rem;
  line-height:1.35;
  color:#5e6574;
  font-weight:600;
  text-align:center;
}
.hero-tagline + .hero-local-seo{
  max-width:820px !important;
}
@media (max-width:768px){
  .hero-buttons{
    gap:0.9rem;
  }
  .hero-cta-stack{
    width:100%;
  }
  .hero-cta-primary,
  .hero-cta-secondary{
    width:100%;
    max-width:300px;
    min-width:0 !important;
  }
  .hero-cta-note{
    font-size:0.84rem;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.tinnitus-tone-tool { margin-top: 1.5rem; padding: 1.5rem; }
.tinnitus-tone-tool__header { text-align: center; margin-bottom: 1rem; }
.tinnitus-tone-tool__header h3 { color: #6a1b9a; font-size: 2rem; margin-bottom: 0.65rem; }
.tinnitus-tone-tool__intro, .tinnitus-tone-tool__footer-note, .tinnitus-tone-tool__help { color: #4b5563; }
.tinnitus-tone-tool__warning {
  margin: 0 auto 1rem; padding: 0.9rem 1rem; max-width: 860px;
  background: linear-gradient(145deg, rgba(255,255,255,0.85) 0%, rgba(255,245,250,0.72) 100%);
  border: 1px solid rgba(216, 27, 96, 0.15); border-radius: 16px; color: #4b5563;
  box-shadow: 0 8px 24px rgba(106,27,154,0.06);
}
.tinnitus-tone-tool__layout { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.95fr); gap: 1.25rem; align-items: stretch; }
.tinnitus-tone-tool__panel { padding: 1.25rem; }
.tinnitus-tone-tool__readout { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; margin-bottom: 1rem; }
.tinnitus-tone-tool__label { display: block; font-size: 0.9rem; font-weight: 700; color: #6a1b9a; margin-bottom: 0.35rem; }
.tinnitus-tone-tool__value, .tinnitus-tone-tool__wave-readout, .tinnitus-tone-tool__match-value { font-size: 1.7rem; line-height: 1.1; font-weight: 800; color: #3f4657; }
.tinnitus-tone-tool__wave-readout { font-size: 1.2rem; }
.tinnitus-tone-tool__slider-label { display: block; font-weight: 700; color: #6a1b9a; margin-bottom: 0.45rem; }
.tinnitus-tone-tool input[type="range"] { width: 100%; accent-color: #d81b60; margin-bottom: 0.35rem; }
.tinnitus-tone-tool__button-row { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0.65rem; margin-top: 1rem; }
.tinnitus-tone-tool__button-row--compact { grid-template-columns: repeat(2, minmax(0,1fr)); }
.tinnitus-tone-tool__button-row .btn-outline, .tinnitus-tone-tool__save, .tinnitus-tone-tool__book { min-height: 46px; padding: 0.8rem 1rem; font-weight: 700; }
.tinnitus-tone-tool__play { min-height: 54px; width: 100%; margin-bottom: 1rem; font-size: 1rem; font-weight: 700; }
.tinnitus-tone-tool__volume-wrap { margin-bottom: 0.55rem; }
.tinnitus-tone-tool__waves { border: none; padding: 0; margin: 1rem 0 0; }
.tinnitus-tone-tool__waves legend { margin-bottom: 0.65rem; }
.tinnitus-tone-tool__waves-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0.7rem; }
.tinnitus-tone-tool__waves label {
  display: flex; align-items: center; justify-content: center; gap: 0.55rem; min-height: 48px;
  color: #374151; font-weight: 600; border-radius: 999px; padding: 0.85rem 1rem;
  background: linear-gradient(145deg, rgba(255,255,255,0.92) 0%, rgba(248,241,253,0.86) 100%);
  border: 1px solid rgba(215,196,237,0.9);
  box-shadow: 0 10px 24px rgba(106,27,154,0.08), inset 0 1px 0 rgba(255,255,255,0.95);
  cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.tinnitus-tone-tool__waves label:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(106,27,154,0.11), inset 0 1px 0 rgba(255,255,255,0.95); }
.tinnitus-tone-tool__waves input[type="radio"] { accent-color: #d81b60; margin: 0; }
.tinnitus-tone-tool__waves input[type="radio"]:checked + span { color: #6a1b9a; }
.tinnitus-tone-tool__controls-grid { display: grid; grid-template-columns: 1fr; gap: 0; align-items: start; }
.tinnitus-tone-tool__primary-controls { min-width: 0; }
.tinnitus-tone-tool__secondary-controls {
  padding: 0; border-radius: 0; background: transparent; border: none; box-shadow: none;
}
.tinnitus-tone-tool__helper { margin-top: 0.85rem; color: #6b7280; font-size: 0.92rem; line-height: 1.65; }
.tinnitus-tone-tool__helper-strong { display: block; margin-top: 0.45rem; color: #5b6472; font-weight: 600; }
.tinnitus-tone-tool__match { padding: 1rem; display: flex; flex-direction: column; min-height: 100%; }
.tinnitus-tone-tool__match-value { margin-bottom: 0.85rem; font-size: 1.35rem; }
.tinnitus-tone-tool__match-main {
  padding: 1rem 1rem 1.1rem; border-radius: 22px; margin-bottom: 1rem;
  background: linear-gradient(180deg, rgba(255,255,255,0.82), rgba(249,244,252,0.9));
  border: 1px solid rgba(223, 208, 238, 0.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.96), 0 12px 26px rgba(106,27,154,0.06);
}
.tinnitus-tone-tool__cta-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,0.9fr); gap: 0.75rem; margin-top: 0.2rem; }
.tinnitus-tone-tool__book { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.tinnitus-tone-tool__utility-grid { display: grid; gap: 0.9rem; margin-top: 0.1rem; }
.tinnitus-tone-tool__utility-card {
  padding: 1rem 1rem 1.05rem; border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.78), rgba(249,244,252,0.88));
  border: 1px solid rgba(223, 208, 238, 0.9);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.96), 0 12px 26px rgba(106,27,154,0.06);
}
.tinnitus-tone-tool__utility-card h4 { margin: 0 0 0.55rem; font-size: 1.02rem; color: #6a1b9a; }
.tinnitus-tone-tool__utility-card p { margin: 0; color: #5b6472; line-height: 1.65; }
.tinnitus-tone-tool__utility-list { margin: 0 0 0.75rem; padding-left: 1.05rem; color: #5b6472; line-height: 1.7; }
.tinnitus-tone-tool__utility-list li + li { margin-top: 0.3rem; }
.tinnitus-tone-tool__footer-note { display: none; }


.tinnitus-tone-tool__media-strip { margin-top: 1rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem; }
.tinnitus-tone-tool__media-card { position: relative; overflow: hidden; border-radius: 22px; min-height: 160px; background: rgba(255,255,255,0.65); box-shadow: 0 14px 34px rgba(31,41,55,0.08); }
.tinnitus-tone-tool__media-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tinnitus-tone-tool__media-support { display: flex; flex-direction: column; align-items: stretch; gap: 0.9rem; margin-top: 1rem; padding: 0.2rem 0 0; }
.tinnitus-tone-tool__media-note { margin: 0; color: #5b6472; font-size: 0.96rem; line-height: 1.65; max-width: none; text-align: left; }
.tinnitus-tone-tool__media-cta { width: 100%; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0.85rem 1.15rem; border-radius: 999px; font-size: 0.92rem; line-height: 1.2; white-space: normal; }
@media (max-width: 767px) {
  .tinnitus-tone-tool__media-strip { grid-template-columns: 1fr; }
  .tinnitus-tone-tool__media-card { min-height: 190px; }
  .tinnitus-tone-tool__media-support { flex-direction: column; align-items: stretch; padding-top: 0.8rem; }
  .tinnitus-tone-tool__media-note { max-width: none; text-align: left; }
  .tinnitus-tone-tool__media-cta { width: 100%; }
}

.tinnitus-tone-tool__media-card { min-height: 190px; }
}

@media (max-width: 768px) {
  .tinnitus-tone-tool { padding: 1.15rem; }
  .tinnitus-tone-tool__header h3 { font-size: 1.55rem; }
  .tinnitus-tone-tool__layout,
  .tinnitus-tone-tool__controls-grid,
  .tinnitus-tone-tool__readout { grid-template-columns: 1fr; }
  .tinnitus-tone-tool__button-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .tinnitus-tone-tool__cta-grid { grid-template-columns: 1fr; }
  .tinnitus-tone-tool__waves-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .tinnitus-tone-tool__button-row, .tinnitus-tone-tool__button-row--compact,
  .tinnitus-tone-tool__waves-grid { grid-template-columns: 1fr 1fr; }
  .tinnitus-tone-tool__cta-grid { grid-template-columns: 1fr; }
  .tinnitus-tone-tool__value, .tinnitus-tone-tool__match-value { font-size: 1.4rem; }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
  }

  body {
    font-size: 16px;
    background-attachment: scroll !important;
  }

  img, picture, video, iframe {
    max-width: 100%;
  }

  section {
    padding: 2rem 0.9rem !important;
  }

  .section-container {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }

  nav {
    padding: 0.55rem 0 !important;
  }

  .nav-container {
    min-height: 56px;
    padding: 0 0.9rem !important;
    justify-content: space-between !important;
  }

  .mobile-menu-btn {
    order: 2;
    margin-left: auto;
    border-radius: 12px;
    background: rgba(255,255,255,0.72);
    box-shadow: 0 6px 18px rgba(106,27,154,0.10);
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 5.25rem 1rem 1.35rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    width: 100%;
    justify-content: flex-start;
    font-size: 1rem !important;
    min-height: 48px;
    padding: 0.85rem 1rem !important;
  }

  .hero {
    min-height: auto !important;
    padding: 5rem 0.9rem 2rem !important;
    background-attachment: scroll !important;
    background-position: center center !important;
  }

  .hero::before {
    background: linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(252,228,236,0.82) 35%, rgba(248,244,252,0.90) 72%, rgba(255,255,255,0.96) 100%) !important;
  }

  .hero-content {
    padding: 0 0 1.2rem !important;
  }

  .hero-banner {
    margin: 0 0 1rem !important;
    max-width: 100% !important;
  }

  .hero h1,
  .hero h1.hero-tagline,
  .mobile-hero-opt1__content h1,
  .mobile-hero-copy h1 {
    font-size: clamp(1.85rem, 6vw, 2.35rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.02em !important;
  }

  .hero p,
  .mobile-hero-opt1__content p,
  .hero-local-seo,
  .mobile-hero-copy p {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  .hero-buttons,
  .mobile-hero-opt1__actions,
  .mobile-hero-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 0.8rem !important;
  }

  .hero-buttons a,
  .mobile-hero-opt1__actions a,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  .hero-buttons .btn-outline {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px;
    padding: 0.95rem 1.15rem !important;
    font-size: 1rem !important;
  }

  .hero-reassurance-strip,
  .hero-contact-bar,
  .conversion-trust-row,
  .clinic-trust-strip__inner,
  .mobile-summary-meta,
  .areas-tags {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.7rem !important;
  }

  .hero-reassurance-strip,
  .hero-contact-bar,
  .clinic-trust-strip__inner {
    padding: 1rem !important;
  }

  .clinic-trust-strip,
  .mobile-premium-stack {
    padding-left: 0.9rem !important;
    padding-right: 0.9rem !important;
  }

  .mobile-quick-links {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.8rem !important;
  }

  .mobile-quick-links a,
  .mobile-quick-links .nav-card {
    min-height: 54px;
    padding: 0.9rem 0.85rem !important;
    text-align: center;
  }

  .welcome-content,
  .news-box,
  .testimonial-container,
  .about-content,
  .booking-form,
  .mobile-summary-card,
  .mobile-trust-card,
  .contact-card,
  .map-container,
  .glass-card,
  .glass-panel,
  .glass-panel-strong {
    border-radius: 20px !important;
  }

  .welcome-content,
  .news-box,
  .testimonial-container,
  .about-content,
  .booking-form {
    padding: 1.4rem 1.1rem !important;
  }

  .features-grid,
  .services-grid,
  .about-grid,
  .credentials-grid,
  .values-grid,
  .contact-grid,
  .faq-grid,
  .gallery-grid,
  .other-services-content,
  .home-visits-grid,
  .footer-top,
  .footer-grid,
  .tinnitus-article-grid,
  .tinnitus-tone-tool__layout,
  .expect-grid,
  .contact-photo-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .category-header {
    margin-bottom: 1.2rem !important;
  }

  .section-heading,
  .welcome-content h2,
  .news-box h2,
  .about-content h3,
  .testimonial-quote {
    font-size: clamp(1.6rem, 5vw, 2rem) !important;
    line-height: 1.2 !important;
    margin-bottom: 1rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
  }

  .service-card,
  .feature-card,
  .credential-card,
  .faq-item,
  .contact-card,
  .mobile-summary-card,
  .mobile-trust-card,
  .tinnitus-tone-tool__panel,
  .tinnitus-article-card,
  .expect-card {
    padding: 1.15rem !important;
  }

  .service-card {
    min-width: 0 !important;
  }

  .service-card-media,
  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media,
  .gallery-item,
  .contact-photo-item {
    height: 220px !important;
    min-height: 220px !important;
    aspect-ratio: auto !important;
  }

  .service-header {
    gap: 0.75rem !important;
    align-items: flex-start !important;
  }

  .service-header h4 {
    font-size: 1.05rem !important;
    line-height: 1.3 !important;
  }

  .service-price {
    font-size: 1.3rem !important;
    margin-left: 0 !important;
  }

  .service-features {
    margin-bottom: 1rem !important;
  }

  .service-card .btn,
  .mobile-service-book-btn,
  .btn-primary,
  .btn-outline,
  .btn-whatsapp,
  .btn-facebook {
    min-height: 50px !important;
    width: 100%;
  }

  .home-visits-image,
  .about-image {
    padding: 0.4rem !important;
  }

  .home-visits-image .image-wrapper,
  .about-image .image-wrapper {
    min-height: 300px !important;
  }

  .benefits-list,
  .features-grid-2,
  .form-row {
    grid-template-columns: 1fr !important;
    gap: 0.85rem !important;
  }

  .service-list-item {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 0.35rem !important;
  }

  .testimonial-content {
    padding: 0 2.2rem !important;
  }

  .testimonial-nav {
    width: 40px !important;
    height: 40px !important;
  }

  .faq-item {
    cursor: default;
  }

  .faq-question {
    gap: 0.7rem !important;
  }

  .faq-question h4 {
    font-size: 1rem !important;
    padding-right: 1.25rem !important;
  }

  .faq-answer {
    padding-left: 0 !important;
  }

  .faq-item.is-open .faq-answer,
  .faq-item.open .faq-answer,
  #more-info .faq-item.open .faq-answer {
    max-height: 480px !important;
    opacity: 1 !important;
    margin-top: 0.8rem !important;
  }

  .about-grid {
    margin-bottom: 1rem !important;
  }

  .contact-grid {
    align-items: stretch !important;
  }

  .contact-card-inner {
    gap: 0.85rem !important;
  }

  .contact-icon {
    width: 42px !important;
    height: 42px !important;
  }

  .map-container {
    padding: 0.75rem !important;
  }

  .map-container iframe {
    height: 300px !important;
    min-height: 300px !important;
  }

  .contact-photo-grid {
    margin-top: 1rem !important;
  }

  .tinnitus-tone-tool__button-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid !important;
  }

  .tinnitus-tone-tool__button-row--compact {
    grid-template-columns: 1fr 1fr !important;
  }

  .tinnitus-wave-icons {
    grid-template-columns: 1fr 1fr !important;
  }

  .tinnitus-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .tinnitus-table {
    min-width: 520px;
  }

  .footer-top {
    gap: 1.25rem !important;
    padding-bottom: 1.8rem !important;
  }

  footer {
    padding: 2.5rem 1rem 0 !important;
  }

  .footer-column h4 {
    margin-bottom: 0.85rem !important;
  }

  .footer-bottom {
    padding: 1.2rem 0 1.6rem !important;
  }

  .mobile-return-top {
    bottom: max(18px, env(safe-area-inset-bottom)) !important;
    right: 16px !important;
  }
}

@media (max-width: 480px) {
  section {
    padding: 1.7rem 0.8rem !important;
  }

  .mobile-quick-links {
    grid-template-columns: 1fr !important;
  }

  .hero h1,
  .hero h1.hero-tagline,
  .mobile-hero-opt1__content h1,
  .mobile-hero-copy h1,
  .section-heading {
    font-size: clamp(1.5rem, 7vw, 1.85rem) !important;
  }

  .hero-banner,
  .mobile-hero-opt1__banner,
  .mobile-hero-banner {
    border-radius: 18px !important;
  }

  .service-card-media,
  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media,
  .gallery-item,
  .contact-photo-item {
    height: 200px !important;
    min-height: 200px !important;
  }

  .testimonial-content {
    padding: 0 1.8rem !important;
  }

  .testimonial-nav {
    width: 36px !important;
    height: 36px !important;
  }

  .mobile-summary-card,
  .mobile-trust-card,
  .service-card,
  .feature-card,
  .faq-item,
  .contact-card,
  .tinnitus-tone-tool__panel,
  .expect-card {
    padding: 1rem !important;
  }

  .tinnitus-tone-tool__button-row,
  .tinnitus-wave-icons {
    grid-template-columns: 1fr !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.app-install-toast,
.app-bottom-nav,
.app-fab-call {
  display: none;
}

@media (max-width: 768px) {
  body {
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }

  .app-bottom-nav {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    gap: 0.5rem;
    position: fixed;
    left: 0.85rem;
    right: 0.85rem;
    bottom: calc(0.7rem + env(safe-area-inset-bottom));
    z-index: 10030;
    padding: 0.65rem 0.7rem;
    border-radius: 26px;
    background: linear-gradient(160deg, rgba(255,255,255,0.74) 0%, rgba(255,255,255,0.48) 45%, rgba(248,232,255,0.62) 100%);
    backdrop-filter: blur(22px) saturate(185%);
    -webkit-backdrop-filter: blur(22px) saturate(185%);
    border: 1px solid rgba(255,255,255,0.82);
    box-shadow:
      0 18px 40px rgba(56, 23, 89, 0.22),
      0 6px 16px rgba(216,27,96,0.12),
      inset 0 1px 0 rgba(255,255,255,0.92);
  }

  .app-bottom-nav__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    min-height: 54px;
    border-radius: 18px;
    text-decoration: none;
    color: #5b2e80;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    background: linear-gradient(145deg, rgba(255,255,255,0.52) 0%, rgba(255,255,255,0.18) 100%);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.78);
  }

  .app-bottom-nav__link svg {
    width: 19px;
    height: 19px;
    stroke: currentColor;
  }

  .app-bottom-nav__link--primary {
    color: white;
    background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
    box-shadow: 0 10px 22px rgba(106,27,154,0.28), inset 0 1px 0 rgba(255,255,255,0.24);
  }

  .app-bottom-nav__link:active,
  .app-bottom-nav__link:hover {
    transform: translateY(-1px);
  }

  .app-fab-call {
    display: inline-flex;
    position: fixed;
    right: 1rem;
    bottom: calc(6.25rem + env(safe-area-inset-bottom));
    z-index: 10031;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
    color: white;
    box-shadow: 0 18px 32px rgba(106,27,154,0.3), 0 8px 18px rgba(216,27,96,0.18);
    border: 1px solid rgba(255,255,255,0.32);
  }

  .app-fab-call svg {
    width: 26px;
    height: 26px;
    stroke: currentColor;
  }

  .app-install-toast {
    position: fixed;
    left: 0.85rem;
    right: 0.85rem;
    bottom: calc(6.3rem + env(safe-area-inset-bottom));
    z-index: 10029;
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    padding: 0.95rem 1rem;
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(255,255,255,0.84) 0%, rgba(248,236,255,0.72) 100%);
    backdrop-filter: blur(20px) saturate(185%);
    -webkit-backdrop-filter: blur(20px) saturate(185%);
    border: 1px solid rgba(255,255,255,0.86);
    box-shadow: 0 16px 34px rgba(56,23,89,0.18), inset 0 1px 0 rgba(255,255,255,0.92);
  }

  .app-install-toast.is-visible {
    display: flex;
  }

  .app-install-toast__copy {
    min-width: 0;
  }

  .app-install-toast__title {
    font-size: 0.9rem;
    font-weight: 800;
    color: #5b2e80;
    line-height: 1.15;
    margin-bottom: 0.12rem;
  }

  .app-install-toast__text {
    font-size: 0.78rem;
    color: #5f6470;
    line-height: 1.25;
  }

  .app-install-toast__actions {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
  }

  .app-install-btn,
  .app-install-dismiss {
    border: none;
    cursor: pointer;
    font-family: inherit;
  }

  .app-install-btn {
    padding: 0.72rem 0.95rem;
    border-radius: 999px;
    font-weight: 800;
    color: white;
    background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
    box-shadow: 0 8px 20px rgba(106,27,154,0.22);
  }

  .app-install-dismiss {
    background: rgba(255,255,255,0.58);
    color: #5b2e80;
    border-radius: 999px;
    width: 34px;
    height: 34px;
    font-size: 1.1rem;
    line-height: 1;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  .hero {
    padding-top: 1.12rem !important;
    padding-bottom: 0.1rem !important;
  }

  .hero > .mobile-hero-opt1 {
    padding: 0 !important;
  }

  .mobile-hero-opt1__banner {
    position: relative !important;
    z-index: 3 !important;
    width: calc(100% - 0.28rem) !important;
    margin: 0 auto -0.92rem !important;
    overflow: visible !important;
  }

  .mobile-hero-opt1__banner img {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    border-radius: 20px !important;
    filter: drop-shadow(0 8px 18px rgba(38, 16, 52, 0.14)) !important;
  }

  .mobile-hero-opt1__content {
    position: relative !important;
    z-index: 2 !important;
    margin: 0 0.5rem !important;
    padding: 1.34rem 0.88rem 0.62rem !important;
    border-radius: 22px !important;
  }

  .mobile-hero-opt1__content h1 {
    margin: 0 0 0.32rem !important;
    font-size: 1.36rem !important;
    line-height: 1.02 !important;
  }

  .mobile-hero-opt1__content p {
    font-size: 0.92rem !important;
    line-height: 1.34 !important;
    margin: 0 !important;
  }

  .hero-trust-row {
    margin-top: 0.62rem !important;
    margin-bottom: 0.04rem !important;
    gap: 0.42rem !important;
    max-width: 28rem !important;
  }

  .conversion-trust-pill {
    padding: 0.52rem 0.72rem !important;
    font-size: 0.76rem !important;
    line-height: 1.16 !important;
    min-height: 0 !important;
    border-radius: 999px !important;
  }

  .mobile-hero-opt1__actions {
    gap: 0.5rem !important;
    margin: 0.62rem 0 0.3rem !important;
  }

  .mobile-hero-opt1__actions a {
    min-height: 42px !important;
    font-size: 0.89rem !important;
    border-radius: 15px !important;
    padding: 0.68rem 0.82rem !important;
  }

  .mobile-hero-opt1__trust {
    font-size: 0.76rem !important;
    line-height: 1.18 !important;
    margin-top: 0 !important;
  }

  .tinnitus-table-wrap {
    overflow-x: visible !important;
  }

  .tinnitus-table {
    min-width: 0 !important;
    width: 100% !important;
    table-layout: fixed !important;
  }

  .tinnitus-table th,
  .tinnitus-table td {
    padding: 0.82rem 0.46rem !important;
    font-size: 0.9rem !important;
    line-height: 1.28 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  .tinnitus-table th:first-child,
  .tinnitus-table td:first-child {
    width: 48% !important;
  }

  .tinnitus-table th:nth-child(2),
  .tinnitus-table td:nth-child(2),
  .tinnitus-table th:nth-child(3),
  .tinnitus-table td:nth-child(3) {
    width: 26% !important;
  }
}

@media (max-width: 414px) {
  .hero {
    padding-top: 0.92rem !important;
  }

  .mobile-hero-opt1__banner {
    width: 100% !important;
    margin: 0 auto -0.95rem !important;
  }

  .mobile-hero-opt1__content {
    margin: 0 0.28rem !important;
    padding: 1.28rem 0.78rem 0.56rem !important;
  }

  .mobile-hero-opt1__content h1 {
    font-size: 1.28rem !important;
  }

  .mobile-hero-opt1__content p {
    font-size: 0.88rem !important;
  }

  .conversion-trust-pill {
    padding: 0.5rem 0.68rem !important;
    font-size: 0.73rem !important;
  }

  .mobile-hero-opt1__actions a {
    min-height: 40px !important;
    font-size: 0.86rem !important;
    padding: 0.64rem 0.74rem !important;
  }

  .tinnitus-table th,
  .tinnitus-table td {
    padding: 0.72rem 0.36rem !important;
    font-size: 0.82rem !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px){
  .tinnitus-tone-tool,
  .tinnitus-tone-tool__layout,
  .tinnitus-tone-tool__panel,
  .tinnitus-tone-tool__playback,
  .tinnitus-tone-tool__match,
  .tinnitus-step-panel,
  .tinnitus-steps-card,
  .tinnitus-reassurance-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  .tinnitus-tone-tool{
    padding:1rem 0.9rem !important;
  }

  .tinnitus-tone-tool__panel{
    padding:1rem 0.9rem !important;
  }

  .tinnitus-tone-tool__match{
    padding:0.95rem 0.9rem !important;
  }

  .tinnitus-tone-tool__match-value{
    font-size:1.15rem !important;
    line-height:1.15 !important;
    word-break:break-word !important;
  }

  .tinnitus-tone-tool__save{
    width:100% !important;
    max-width:100% !important;
    min-height:48px !important;
    padding:0.85rem 0.95rem !important;
    font-size:0.95rem !important;
    line-height:1.2 !important;
    white-space:normal !important;
  }

  .tinnitus-step-panel{
    margin-top:0.9rem !important;
    padding:1rem 0.9rem !important;
  }

  .tinnitus-step-panel h3{
    font-size:0.98rem !important;
    line-height:1.25 !important;
    margin-bottom:0.75rem !important;
    text-align:center !important;
  }

  .tinnitus-step-panel__list{
    gap:0.8rem !important;
  }

  .tinnitus-step-panel__item{
    grid-template-columns:28px minmax(0,1fr) !important;
    gap:0.7rem !important;
    min-width:0 !important;
  }

  .tinnitus-step-panel__num{
    width:28px !important;
    height:28px !important;
    font-size:0.9rem !important;
  }

  .tinnitus-step-panel__text,
  .tinnitus-step-panel__text strong,
  .tinnitus-step-panel__text span{
    min-width:0 !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  .tinnitus-step-panel__text strong{
    font-size:0.86rem !important;
    line-height:1.22 !important;
    margin-bottom:0.12rem !important;
  }

  .tinnitus-step-panel__text span{
    font-size:0.82rem !important;
    line-height:1.45 !important;
  }

  .tinnitus-tone-tool__footer-note{
    font-size:0.9rem !important;
    line-height:1.55 !important;
    margin-top:0.9rem !important;
  }
}

@media (max-width: 414px){
  .tinnitus-tone-tool{
    padding:0.9rem 0.75rem !important;
  }

  .tinnitus-tone-tool__panel,
  .tinnitus-tone-tool__match,
  .tinnitus-step-panel,
  .tinnitus-reassurance-card{
    padding-left:0.8rem !important;
    padding-right:0.8rem !important;
  }

  .tinnitus-step-panel h3{
    font-size:0.92rem !important;
  }

  .tinnitus-step-panel__item{
    grid-template-columns:24px minmax(0,1fr) !important;
    gap:0.6rem !important;
  }

  .tinnitus-step-panel__num{
    width:24px !important;
    height:24px !important;
    font-size:0.82rem !important;
  }

  .tinnitus-step-panel__text strong{
    font-size:0.8rem !important;
  }

  .tinnitus-step-panel__text span{
    font-size:0.77rem !important;
    line-height:1.4 !important;
  }

  .tinnitus-tone-tool__save{
    font-size:0.9rem !important;
    min-height:46px !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width:768px){
  a[href*="book"],
  .book,
  .cta-book,
  .btn-book{
    display:none !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px){
  .hero{
    padding-top: 3.15rem !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    min-height: auto !important;
    background: none !important;
  }

  .mobile-hero-final{
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mobile-hero-final__media{
    position: relative !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    min-height: 43rem !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
    background: #ebe1de !important;
  }

  .mobile-hero-final__media > img{
    display: block !important;
    width: 100% !important;
    height: 43rem !important;
    object-fit: cover !important;
    object-position: center 20% !important;
    border-radius: 0 !important;
  }

  .mobile-hero-final__overlay{
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 1rem 1rem 3rem !important;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0.10) 0%,
      rgba(255,255,255,0.22) 26%,
      rgba(248,242,242,0.70) 62%,
      rgba(247,241,241,0.96) 100%
    ) !important;
  }

  .mobile-hero-final__logo{
    margin: 0.45rem auto 1.1rem !important;
    width: min(86%, 30rem) !important;
  }

  .mobile-hero-final__actions{
    margin-top: 1.05rem !important;
    padding-bottom: 0 !important;
  }

  .mobile-hero-final__actions a{
    min-height: 56px !important;
  }

  .clinic-trust-strip{
    margin-top: 0 !important;
    padding-top: 1rem !important;
  }
}

@media (max-width: 420px){
  .hero{
    padding-top: 2.95rem !important;
  }

  .mobile-hero-final__media{
    min-height: 41.5rem !important;
  }

  .mobile-hero-final__media > img{
    height: 41.5rem !important;
    object-position: center 19% !important;
  }

  .mobile-hero-final__overlay{
    padding: 0.95rem 0.9rem 2.9rem !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Premium navbar upgrade */
nav{
  background: linear-gradient(180deg, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.64) 100%) !important;
  backdrop-filter: blur(26px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(26px) saturate(180%) !important;
  border-bottom: 1px solid rgba(255,255,255,0.92) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.95) inset,
    0 10px 30px rgba(106,27,154,0.08),
    0 2px 10px rgba(0,0,0,0.03) !important;
}

nav::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0) 36%),
    linear-gradient(90deg, rgba(226,230,244,0.16) 0%, rgba(255,240,246,0.10) 50%, rgba(226,230,244,0.16) 100%);
  opacity:0.95;
}

nav.scrolled{
  background: linear-gradient(180deg, rgba(255,255,255,0.88) 0%, rgba(255,255,255,0.74) 100%) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.98) inset,
    0 14px 34px rgba(106,27,154,0.10),
    0 3px 12px rgba(0,0,0,0.04) !important;
}

.nav-container,
.nav-links,
.logo,
.mobile-menu-btn{
  position: relative;
  z-index: 1;
}

.nav-links a{
  background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(250,245,252,0.90) 100%) !important;
  border: 1px solid rgba(255,255,255,0.98) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.98) inset,
    0 10px 22px rgba(126, 96, 150, 0.10),
    0 3px 8px rgba(216,27,96,0.05) !important;
}

.nav-links a:hover{
  transform: translateY(-2px) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 14px 28px rgba(126, 96, 150, 0.14),
    0 4px 10px rgba(216,27,96,0.07) !important;
}

@media (max-width: 768px){
  nav{
    background: linear-gradient(180deg, rgba(255,255,255,0.84) 0%, rgba(255,255,255,0.72) 100%) !important;
    backdrop-filter: blur(20px) saturate(170%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(170%) !important;
  }

  .nav-links{
    background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(249,245,252,0.93) 100%) !important;
    border-left: 1px solid rgba(255,255,255,0.92);
    box-shadow: -10px 0 30px rgba(106,27,154,0.10) !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Global glass + shadow enhancement */
.glass-panel,
.glass-panel-strong,
.glass-card,
.service-card,
.feature-card,
.contact-card,
.credential-card,
.faq-item,
.news-box,
.welcome-content,
.testimonial-container,
.booking-form,
.partner-logo,
.contact-card,
.service-list-item,
.area-tag,
.footer-social-btn,
.follow-us-card,
.hero-contact-bar{
  box-shadow:
    0 22px 58px rgba(31,38,135,0.16),
    0 10px 24px rgba(106,27,154,0.10),
    0 4px 10px rgba(216,27,96,0.06),
    inset 0 1px 0 rgba(255,255,255,0.96),
    inset 0 -1px 0 rgba(255,255,255,0.26) !important;
}

.glass-panel,
.glass-card,
.service-card,
.feature-card,
.contact-card,
.credential-card,
.faq-item,
.news-box,
.welcome-content,
.testimonial-container,
.booking-form{
  background: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.40) 52%, rgba(255,255,255,0.62) 100%) !important;
  backdrop-filter: blur(38px) saturate(210%) !important;
  -webkit-backdrop-filter: blur(38px) saturate(210%) !important;
  border: 1px solid rgba(255,255,255,0.92) !important;
}

.glass-panel-strong{
  background: linear-gradient(145deg, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.48) 50%, rgba(255,255,255,0.68) 100%) !important;
  backdrop-filter: blur(46px) saturate(225%) !important;
  -webkit-backdrop-filter: blur(46px) saturate(225%) !important;
  border: 1px solid rgba(255,255,255,0.95) !important;
}

.nav-links a,
.btn-outline,
.mobile-service-book-btn,
.footer-bottom-badge{
  box-shadow:
    0 12px 28px rgba(106,27,154,0.12),
    0 4px 10px rgba(216,27,96,0.05),
    inset 0 1px 0 rgba(255,255,255,0.98) !important;
}

.btn-primary{
  box-shadow:
    0 12px 28px rgba(106,27,154,0.28),
    0 6px 16px rgba(216,27,96,0.12) !important;
}

.service-card-media,
.home-visits-image .image-wrapper,
.about-image .image-wrapper,
.gallery-item{
  box-shadow:
    0 16px 36px rgba(31,38,135,0.12),
    0 6px 16px rgba(106,27,154,0.08) !important;
}

@media (max-width: 768px){
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .service-card,
  .feature-card,
  .contact-card,
  .credential-card,
  .faq-item,
  .news-box,
  .welcome-content,
  .testimonial-container,
  .booking-form{
    backdrop-filter: blur(30px) saturate(190%) !important;
    -webkit-backdrop-filter: blur(30px) saturate(190%) !important;
    box-shadow:
      0 16px 38px rgba(31,38,135,0.14),
      0 8px 18px rgba(106,27,154,0.08),
      0 3px 8px rgba(216,27,96,0.05),
      inset 0 1px 0 rgba(255,255,255,0.94) !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Ultra glass (strong but still clean) */
.glass-panel,
.glass-panel-strong,
.glass-card,
.service-card,
.feature-card,
.contact-card,
.credential-card,
.faq-item,
.news-box,
.welcome-content,
.testimonial-container,
.booking-form{
  background: linear-gradient(145deg, rgba(255,255,255,0.82) 0%, rgba(255,255,255,0.52) 50%, rgba(255,255,255,0.75) 100%) !important;
  backdrop-filter: blur(55px) saturate(240%) !important;
  -webkit-backdrop-filter: blur(55px) saturate(240%) !important;
  border: 1px solid rgba(255,255,255,0.98) !important;
}

.glass-panel::before,
.glass-card::before,
.service-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: radial-gradient(circle at 20% 0%, rgba(255,255,255,0.65), transparent 40%);
  opacity:0.9;
}

.nav-links a{
  backdrop-filter: blur(28px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(200%) !important;
}



.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  /* Fix floating button collisions on mobile only */
  .app-fab-call {
    display: none !important;
  }

  .mobile-return-top {
    right: 14px !important;
    bottom: calc(6.9rem + env(safe-area-inset-bottom)) !important;
    z-index: 10032 !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px){
  #tinnitus-ear-wax{
    display: none !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* MOBILE CONSOLIDATION LOCK
   Final mobile-only layer to stabilise layout without affecting desktop.
   Keeps the current appearance while overriding older overlapping mobile rules. */
@media (max-width: 768px) {
  html, body {
    overflow-x: clip !important;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  .hero {
    min-height: 24.5rem !important;
    padding-top: 5rem !important;
    padding-bottom: 1.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book,
  .hero-buttons a,
  .hero-buttons .btn-outline {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  .services-grid,
  .home-visits-grid,
  .other-services-content,
  .contact-grid,
  .about-grid,
  .faq-grid,
  .gallery-grid,
  .credentials-grid,
  .footer-top,
  .form-row {
    grid-template-columns: 1fr !important;
  }

  .mobile-service-stack .service-card,
  .services-grid .service-card,
  .feature-card,
  .contact-card,
  .credential-card,
  .about-content,
  .testimonial-container,
  .news-box,
  .welcome-content,
  .booking-form {
    padding-left: 1.05rem !important;
    padding-right: 1.05rem !important;
  }

  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding-top: 1.1rem !important;
    padding-bottom: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p,
  .faq-answer p,
  .about-content p,
  .welcome-content p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn,
  .btn-primary,
  .btn-outline,
  button,
  a.btn {
    min-height: 48px !important;
  }

  .mobile-service-book-btn {
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  .home-visits-image .image-wrapper,
  .about-image .image-wrapper {
    min-height: 280px !important;
  }

  .hero-contact-bar {
    width: calc(100% - 2rem) !important;
    padding: 0.95rem 1rem !important;
    gap: 0.75rem !important;
  }

  .testimonial-content {
    padding: 0 2.5rem !important;
  }

  .testimonial-quote {
    font-size: 1.25rem !important;
  }

  .footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
  }

  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }

  #tinnitus-ear-wax {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (min-width: 769px) {
  footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(180deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 28%,
        rgba(255,255,255,0.06) 58%,
        rgba(255,255,255,0.18) 100%),
      radial-gradient(1200px 280px at 50% 0%,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.10) 48%,
        rgba(255,255,255,0) 78%);
    border-top: 1px solid rgba(255,255,255,0.70);
    z-index: 0;
  }

  footer > * {
    position: relative;
    z-index: 1;
  }

  .footer-social-btn,
  .partner-logo {
    background: linear-gradient(145deg, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.52) 100%);
    backdrop-filter: blur(18px) saturate(170%);
    -webkit-backdrop-filter: blur(18px) saturate(170%);
    border: 1px solid rgba(255,255,255,0.94);
    box-shadow:
      0 8px 22px rgba(106,27,154,0.09),
      0 2px 8px rgba(0,0,0,0.05),
      inset 0 1px 0 rgba(255,255,255,0.96);
  }

  .footer-bottom-badge {
    background: linear-gradient(145deg, rgba(255,255,255,0.70) 0%, rgba(255,255,255,0.44) 100%);
    backdrop-filter: blur(16px) saturate(165%);
    -webkit-backdrop-filter: blur(16px) saturate(165%);
    border: 1px solid rgba(255,255,255,0.88);
    box-shadow:
      0 6px 18px rgba(106,27,154,0.08),
      inset 0 1px 0 rgba(255,255,255,0.94);
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

:root {
  --app-safe-bottom: max(14px, env(safe-area-inset-bottom));
}

/* App-only polish when launched from home screen */
html.app-mode body {
  overscroll-behavior-y: contain;
}
html.app-mode nav {
  backdrop-filter: blur(30px) saturate(190%);
  -webkit-backdrop-filter: blur(30px) saturate(190%);
}
html.app-mode .hero {
  padding-top: calc(6rem + env(safe-area-inset-top));
}

/* Premium install prompt */
.pwa-install-prompt {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: calc(12px + var(--app-safe-bottom));
  width: auto;
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
  padding: 0.92rem;
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(255,255,255,0.84) 0%, rgba(248,240,255,0.68) 48%, rgba(252,228,236,0.72) 100%);
  backdrop-filter: blur(22px) saturate(170%);
  -webkit-backdrop-filter: blur(22px) saturate(170%);
  border: 1px solid rgba(255,255,255,0.92);
  box-shadow:
    0 22px 56px rgba(106,27,154,0.18),
    0 10px 26px rgba(216,27,96,0.08),
    inset 0 1px 0 rgba(255,255,255,0.96),
    inset 0 -1px 0 rgba(255,255,255,0.22);
  z-index: 10030;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(20px);
  transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
}
.pwa-install-prompt.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.pwa-install-card {
  display: flex;
  align-items: center;
  gap: .9rem;
}
.pwa-install-icon {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
  box-shadow: 0 10px 22px rgba(106,27,154,0.24), inset 0 1px 0 rgba(255,255,255,0.28);
}
.pwa-install-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pwa-install-copy {
  min-width: 0;
  flex: 1;
}
.pwa-install-copy strong {
  display: block;
  font-size: 1rem;
  line-height: 1.2;
  color: #4f246d;
  margin-bottom: .22rem;
}
.pwa-install-copy span {
  display: block;
  font-size: .9rem;
  line-height: 1.4;
  color: #5f6473;
}
.pwa-install-actions {
  display: flex;
  gap: .55rem;
  margin-top: .8rem;
}
.pwa-install-btn,
.pwa-install-dismiss {
  min-height: 46px;
  border-radius: 9999px;
  border: none;
  cursor: pointer;
  font-size: .95rem;
  font-weight: 700;
  padding: .78rem 1rem;
}
.pwa-install-btn {
  flex: 1;
  color: #fff;
  background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
  box-shadow: 0 8px 22px rgba(106,27,154,0.22);
}
.pwa-install-dismiss {
  background: rgba(255,255,255,0.78);
  color: #6a1b9a;
  border: 1px solid rgba(255,255,255,0.9);
}
.pwa-ios-tip {
  display: none;
  margin-top: .75rem;
  font-size: .86rem;
  line-height: 1.45;
  color: #5f6473;
}
.pwa-install-prompt.ios .pwa-ios-tip {
  display: block;
}

/* App-only quick tray for true installed-app feel */
.app-quick-tray {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: calc(12px + var(--app-safe-bottom));
  max-width: 430px;
  margin: 0 auto;
  display: none;
  gap: .7rem;
  z-index: 10020;
}
html.app-mode .app-quick-tray {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.app-quick-action {
  min-height: 52px;
  border-radius: 9999px;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  font-weight: 700;
  font-size: .98rem;
  border: 1px solid rgba(255,255,255,0.88);
  background: linear-gradient(145deg, rgba(255,255,255,0.78) 0%, rgba(248,240,255,0.62) 100%);
  backdrop-filter: blur(18px) saturate(165%);
  -webkit-backdrop-filter: blur(18px) saturate(165%);
  box-shadow:
    0 12px 28px rgba(106,27,154,0.14),
    0 4px 10px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.95);
  color: #5a1a8a;
}
.app-quick-action.primary {
  color: #fff;
  background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
  border-color: rgba(255,255,255,0.26);
}
.app-quick-action svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}
html.app-mode .mobile-call-bar,
html.app-mode .bottom-call-bar,
html.app-mode .call-for-advice-wrap {
  margin-bottom: 84px !important;
}

/* App subtle fade-in */
html.app-mode body {
  animation: appFadeIn .28s ease-out both;
}
@keyframes appFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 769px) {
  .pwa-install-prompt {
    bottom: 18px;
  }
}
@media (max-width: 768px) {
  .pwa-install-actions {
    flex-direction: row;
  }
}
@media (max-width: 420px) {
  .pwa-install-actions {
    flex-direction: column;
  }
  .pwa-install-btn,
  .pwa-install-dismiss {
    width: 100%;
  }
  .pwa-install-card {
    align-items: flex-start;
  }
  .pwa-install-icon {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 900px) {
  html.app-mode {
    scroll-padding-top: calc(96px + env(safe-area-inset-top));
  }

  html.app-mode body {
    background:
      radial-gradient(1200px 520px at 50% -12%, rgba(255,255,255,0.88) 0%, rgba(255,255,255,0) 62%),
      radial-gradient(760px 340px at 88% 8%, rgba(216,27,96,0.10) 0%, rgba(216,27,96,0) 58%),
      radial-gradient(760px 320px at 12% 16%, rgba(106,27,154,0.12) 0%, rgba(106,27,154,0) 58%),
      linear-gradient(180deg, #f8f3fb 0%, #f4eef8 36%, #faf7fc 100%) !important;
    padding-bottom: calc(118px + env(safe-area-inset-bottom)) !important;
  }

  html.app-mode nav {
    top: calc(10px + env(safe-area-inset-top));
    left: 10px;
    right: 10px;
    width: auto;
    border-radius: 26px;
    padding: 0.6rem 0 !important;
    background: linear-gradient(145deg, rgba(255,255,255,0.84) 0%, rgba(249,243,255,0.72) 100%) !important;
    border: 1px solid rgba(255,255,255,0.95) !important;
    box-shadow:
      0 18px 44px rgba(80,43,120,0.14),
      0 8px 18px rgba(0,0,0,0.05),
      inset 0 1px 0 rgba(255,255,255,0.98);
    transform: translateY(0);
    transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, background .35s ease;
  }

  html.app-mode body.app-scrolled nav {
    transform: translateY(-2px) scale(0.992);
    box-shadow:
      0 16px 40px rgba(80,43,120,0.18),
      0 8px 16px rgba(0,0,0,0.05),
      inset 0 1px 0 rgba(255,255,255,0.98);
  }

  html.app-mode .nav-container {
    padding: 0 0.95rem !important;
  }

  html.app-mode .hero {
    min-height: auto !important;
    padding-top: calc(98px + env(safe-area-inset-top)) !important;
    padding-bottom: 0.4rem !important;
    background-attachment: scroll !important;
    background-position: center 50% !important;
  }

  html.app-mode .hero::before {
    background:
      linear-gradient(180deg, rgba(255,255,255,0.50) 0%, rgba(255,255,255,0.18) 28%, rgba(247,241,251,0.92) 100%) !important;
  }

  html.app-mode section {
    padding: 0.7rem 0.9rem !important;
  }

  html.app-mode .section-container {
    max-width: 100% !important;
  }

  html.app-mode .hero-content,
  html.app-mode .welcome-content,
  html.app-mode .news-box,
  html.app-mode .testimonial-container,
  html.app-mode .booking-form,
  html.app-mode .about-content,
  html.app-mode .contact-card,
  html.app-mode .credential-card,
  html.app-mode .feature-card,
  html.app-mode .faq-item,
  html.app-mode .service-card,
  html.app-mode .service-list-item,
  html.app-mode .map-container,
  html.app-mode .home-visits-image,
  html.app-mode .about-image,
  html.app-mode .image-overlay-card,
  html.app-mode .follow-us-card,
  html.app-mode .whatsapp-cta,
  html.app-mode .contact-info-stack > * {
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(255,255,255,0.82) 0%, rgba(248,240,255,0.56) 100%) !important;
    backdrop-filter: blur(22px) saturate(170%) !important;
    -webkit-backdrop-filter: blur(22px) saturate(170%) !important;
    border: 1px solid rgba(255,255,255,0.95) !important;
    box-shadow:
      0 22px 44px rgba(80,43,120,0.11),
      0 8px 18px rgba(0,0,0,0.04),
      inset 0 1px 0 rgba(255,255,255,0.98);
    border-radius: 30px !important;
    transition:
      transform .55s cubic-bezier(.22,1,.36,1),
      box-shadow .45s ease,
      opacity .45s ease;
  }

  html.app-mode .hero-content::before,
  html.app-mode .welcome-content::before,
  html.app-mode .news-box::before,
  html.app-mode .testimonial-container::before,
  html.app-mode .booking-form::before,
  html.app-mode .about-content::before,
  html.app-mode .contact-card::before,
  html.app-mode .credential-card::before,
  html.app-mode .feature-card::before,
  html.app-mode .faq-item::before,
  html.app-mode .service-card::before,
  html.app-mode .service-list-item::before,
  html.app-mode .map-container::before,
  html.app-mode .home-visits-image::before,
  html.app-mode .about-image::before,
  html.app-mode .image-overlay-card::before,
  html.app-mode .follow-us-card::before,
  html.app-mode .whatsapp-cta::before,
  html.app-mode .contact-info-stack > *::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      radial-gradient(380px 120px at 50% 0%, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0) 72%),
      linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0) 100%);
  }

  html.app-mode .hero-content {
    padding: 1.08rem 0.98rem 1.18rem !important;
    margin: 0 0.05rem !important;
    transform-origin: center top;
  }

  html.app-mode .hero-banner {
    border-radius: 30px !important;
    padding: 10px !important;
    background: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.44) 100%) !important;
    box-shadow:
      0 18px 38px rgba(80,43,120,0.14),
      inset 0 1px 0 rgba(255,255,255,0.98) !important;
    transition: transform .65s cubic-bezier(.22,1,.36,1), box-shadow .45s ease;
    will-change: transform;
  }

  html.app-mode .hero h1.hero-tagline {
    font-size: 1.42rem !important;
    line-height: 1.05 !important;
    margin-bottom: 0.9rem !important;
    max-width: 18rem;
    letter-spacing: -0.03em;
  }

  html.app-mode .hero p {
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
    margin-bottom: 0.98rem !important;
    max-width: 18.8rem;
  }

  html.app-mode .hero-buttons {
    gap: 0.7rem !important;
    width: 100%;
  }

  html.app-mode .hero-buttons a {
    flex: 1 1 0;
    min-height: 54px !important;
    border-radius: 20px !important;
    font-size: 0.96rem !important;
    max-width: none !important;
    transform: translateY(0) scale(1);
    transition:
      transform .28s cubic-bezier(.22,1,.36,1),
      box-shadow .28s ease,
      filter .28s ease;
    box-shadow:
      0 12px 24px rgba(106,27,154,0.18),
      inset 0 1px 0 rgba(255,255,255,0.18);
  }

  html.app-mode .hero-buttons a:active,
  html.app-mode .app-quick-action:active {
    transform: scale(0.97) translateY(1px);
  }

  html.app-mode .hero-contact-bar {
    width: 100% !important;
    padding: 0.95rem 1rem !important;
    gap: 0.8rem !important;
    margin-top: 0.95rem !important;
    border-radius: 24px !important;
  }

  html.app-mode .section-heading,
  html.app-mode .section-subheading,
  html.app-mode .welcome-content,
  html.app-mode .news-box,
  html.app-mode .booking-form,
  html.app-mode .testimonial-content {
    text-align: left !important;
  }

  html.app-mode .section-heading {
    font-size: 1.38rem !important;
    margin-bottom: 0.88rem !important;
    padding-left: 0.18rem;
  }

  html.app-mode .section-subheading {
    font-size: 0.95rem !important;
    margin-bottom: 0.8rem !important;
    padding-left: 0.18rem;
  }

  html.app-mode .services-grid,
  html.app-mode .features-grid,
  html.app-mode .contact-grid,
  html.app-mode .about-grid,
  html.app-mode .credentials-grid,
  html.app-mode .faq-grid,
  html.app-mode .gallery-grid,
  html.app-mode .other-services-content,
  html.app-mode .home-visits-grid {
    gap: 1rem !important;
  }

  html.app-mode .service-card {
    padding: 1rem !important;
  }

  html.app-mode .service-card .btn,
  html.app-mode .mobile-service-book-btn {
    min-height: 50px !important;
    border-radius: 16px !important;
  }

  html.app-mode .app-dashboard-strip {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.72rem;
    margin: 0.15rem 0 1rem;
  }

  html.app-mode .app-mini-card {
    min-height: 76px;
    padding: 0.82rem 0.8rem;
    border-radius: 24px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(255,255,255,0.78) 0%, rgba(248,240,255,0.56) 100%);
    backdrop-filter: blur(19px) saturate(162%);
    -webkit-backdrop-filter: blur(19px) saturate(162%);
    border: 1px solid rgba(255,255,255,0.94);
    box-shadow:
      0 18px 34px rgba(80,43,120,0.10),
      0 6px 14px rgba(0,0,0,0.04),
      inset 0 1px 0 rgba(255,255,255,0.98);
    transform: translateY(0);
    transition: transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease;
  }

  html.app-mode .app-mini-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(220px 80px at 50% 0%, rgba(255,255,255,0.24) 0%, rgba(255,255,255,0) 70%);
  }

  html.app-mode .app-mini-card-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    color: #8a759a;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.28rem;
  }

  html.app-mode .app-mini-card-value {
    display: block;
    font-size: 0.96rem;
    line-height: 1.18;
    font-weight: 700;
    color: #5a1a8a;
  }

  html.app-mode [data-app-reveal] {
    opacity: 0;
    transform: translateY(22px) scale(0.985);
    filter: blur(1px);
    transition:
      opacity .65s ease,
      transform .65s cubic-bezier(.22,1,.36,1),
      filter .65s ease;
  }

  html.app-mode [data-app-reveal].is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }

  html.app-mode footer {
    margin: 0 0.9rem 0.8rem !important;
    border-radius: 30px 30px 24px 24px !important;
    overflow: hidden;
  }

  html.app-mode .footer-top {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  html.app-mode .app-quick-tray {
    left: 12px !important;
    right: 12px !important;
    max-width: none !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0.45rem !important;
    padding: 0.36rem;
    border-radius: 30px;
    background: linear-gradient(145deg, rgba(255,255,255,0.82) 0%, rgba(248,240,255,0.60) 100%);
    backdrop-filter: blur(24px) saturate(180%);
    -webkit-backdrop-filter: blur(24px) saturate(180%);
    border: 1px solid rgba(255,255,255,0.95);
    box-shadow:
      0 26px 52px rgba(80,43,120,0.18),
      0 8px 18px rgba(0,0,0,0.06),
      inset 0 1px 0 rgba(255,255,255,0.98);
    transform: translateY(0);
    transition:
      transform .45s cubic-bezier(.22,1,.36,1),
      box-shadow .35s ease,
      opacity .35s ease;
  }

  html.app-mode body.app-scrolled .app-quick-tray {
    transform: translateY(-2px);
    box-shadow:
      0 28px 56px rgba(80,43,120,0.22),
      0 8px 18px rgba(0,0,0,0.06),
      inset 0 1px 0 rgba(255,255,255,0.98);
  }

  html.app-mode .app-quick-action {
    min-height: 58px !important;
    border-radius: 24px !important;
    flex-direction: column;
    gap: 0.26rem !important;
    font-size: 0.72rem !important;
    background: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
    color: #6c5a7b !important;
    transition:
      transform .28s cubic-bezier(.22,1,.36,1),
      background .28s ease,
      color .28s ease,
      box-shadow .28s ease;
  }

  html.app-mode .app-quick-action svg {
    width: 19px !important;
    height: 19px !important;
    transition: transform .28s cubic-bezier(.22,1,.36,1);
  }

  html.app-mode .app-quick-action.primary,
  html.app-mode .app-quick-action.is-active {
    background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%) !important;
    color: #fff !important;
    box-shadow:
      0 14px 26px rgba(106,27,154,0.24),
      inset 0 1px 0 rgba(255,255,255,0.18) !important;
  }

  html.app-mode .app-quick-action.is-active svg {
    transform: translateY(-1px) scale(1.04);
  }

  html.app-mode .dock-call {
    color: #1d62cf !important;
  }

  html.app-mode .dock-call.is-active {
    color: #fff !important;
  }

  html.app-mode .mobile-call-bar,
  html.app-mode .bottom-call-bar,
  html.app-mode .call-for-advice-wrap {
    margin-bottom: 106px !important;
  }

  html.app-mode .pwa-install-prompt {
    bottom: calc(92px + env(safe-area-inset-bottom)) !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.pwa-install-prompt{
  display:none !important;
  position:fixed;
  left:12px; right:12px; bottom:14px;
  z-index:10040;
  max-width:420px;
  margin:0 auto;
  padding:1rem;
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.94) 0%,rgba(248,240,255,.84) 52%,rgba(252,228,236,.76) 100%);
  backdrop-filter:blur(30px) saturate(195%);
  -webkit-backdrop-filter:blur(30px) saturate(195%);
  border:1px solid rgba(255,255,255,.98);
  box-shadow:
    0 24px 60px rgba(80,43,120,.16),
    0 10px 22px rgba(0,0,0,.05),
    inset 0 1px 0 rgba(255,255,255,.99);
  transform:translateY(22px) scale(.985);
  opacity:0;
  pointer-events:none;
}
@media (max-width:768px){
  .pwa-install-prompt.show{
    display:block !important;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0) scale(1);
    transition:
      transform .36s cubic-bezier(.22,1,.36,1),
      opacity .28s ease;
  }
}
.pwa-install-copy strong{
  display:block;
  font-size:1.03rem;
  line-height:1.18;
  color:#5a1a8a;
  margin-bottom:.28rem;
  letter-spacing:-0.01em;
}
.pwa-install-copy span{
  display:block;
  font-size:.93rem;
  line-height:1.46;
  color:#5f6473;
}
.pwa-install-actions{
  display:flex;
  gap:.6rem;
  margin-top:.84rem
}
.pwa-install-btn,.pwa-install-dismiss{
  min-height:48px;
  border-radius:9999px;
  padding:.82rem 1rem;
  font-size:.95rem;
  font-weight:700;
  border:none;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .2s ease, opacity .2s ease;
}
.pwa-install-btn:active,.pwa-install-dismiss:active{transform:scale(.985)}
.pwa-install-btn{
  flex:1;
  color:#fff;
  background:linear-gradient(135deg,#6a1b9a 0%,#d81b60 100%);
  box-shadow:0 12px 24px rgba(106,27,154,.22), inset 0 1px 0 rgba(255,255,255,.16);
}
.pwa-install-dismiss{
  color:#6a1b9a;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.94);
}
.pwa-ios-tip{
  display:none;
  margin-top:.72rem;
  font-size:.84rem;
  color:#6c7181;
  line-height:1.45
}
.pwa-install-prompt.ios .pwa-ios-tip{display:block}
@media (min-width:769px){.pwa-install-prompt{display:none!important}}
@media (max-width:420px){.pwa-install-actions{flex-direction:column}}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width:768px){
  .service-card-media img{
    object-fit: cover !important;
    object-position: 85% center !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Exact fix for the Home Visits image shown in the screenshot */
.home-visits-image img{
  object-position: 28% center !important;
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}


section {
  padding-top: 5.5rem !important;
  padding-bottom: 5.5rem !important;
}

.section-container {
  max-width: 1152px;
  margin-left: auto;
  margin-right: auto;
}

.section-heading {
  margin-bottom: 1.9rem !important;
}

.section-subheading {
  margin-top: -0.35rem;
  margin-bottom: 2rem;
}

.glass-panel,
.glass-panel-strong,
.glass-card {
  margin-top: 0;
  margin-bottom: 0;
}

/* Hero transition */
.hero {
  padding-bottom: 4rem !important;
}

.hero-content {
  padding-bottom: 3.2rem !important;
}

/* Keep the post-hero gap intentional but tighter */
.hero + section,
.hero + div + section {
  padding-top: 4.5rem !important;
}

/* Welcome / intro area */
.welcome-content {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

/* Service categories */
.service-category {
  margin-bottom: 3rem !important;
}
.service-category:last-child {
  margin-bottom: 0 !important;
}
.category-header {
  margin-bottom: 1.35rem !important;
}
.services-grid {
  row-gap: 1.35rem !important;
}

/* Home visits */
.home-visits-grid {
  gap: 1.5rem !important;
}
.home-visits-content {
  gap: 1.15rem !important;
}

/* Testimonials */
.testimonial-container {
  padding-top: 2.25rem !important;
  padding-bottom: 2.25rem !important;
}

/* Gallery */
.gallery-grid {
  gap: 0.9rem !important;
}

/* FAQ */
.faq-grid {
  gap: 0.85rem !important;
}

/* About */
.about-grid {
  gap: 1.5rem !important;
  margin-bottom: 1.25rem !important;
}
.about-content {
  padding-top: 1.6rem !important;
  padding-bottom: 1.6rem !important;
}
.credentials-grid {
  margin-bottom: 2rem !important;
}
.values-grid {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

/* Booking */
.booking-form {
  padding-top: 2.25rem !important;
  padding-bottom: 2.25rem !important;
}
.booking-direct-grid {
  margin-top: 1.5rem !important;
  gap: 1.15rem !important;
}
.booking-support-panel {
  margin-top: 1rem !important;
}

/* Contact */
.contact-grid {
  gap: 1.5rem !important;
}
.contact-info-stack {
  gap: 0.85rem !important;
}

/* Footer */
footer {
  padding-top: 4.5rem !important;
}
.footer-top {
  gap: 2.25rem !important;
  padding-bottom: 2.35rem !important;
}

/* Desktop refinement only for this pass */
@media (max-width: 768px) {
  section {
    padding-top: 2.4rem !important;
    padding-bottom: 2.4rem !important;
  }

  .hero {
    padding-bottom: 2rem !important;
  }

  .hero + section,
  .hero + div + section {
    padding-top: 2.4rem !important;
  }

  .section-heading {
    margin-bottom: 1.3rem !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Clean, exact spacing for tinnitus tiers */
.tinnitus-quick-answer {
  margin-bottom: 2rem !important; /* visible gap under quick answer */
}

.tinnitus-article-grid {
  margin-bottom: 2rem !important; /* visible gap under each 2-card row */
}

.tinnitus-table-card {
  margin-bottom: 2rem !important; /* visible gap before the next card row */
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Reduce ONLY the top gap above the banner */
.hero,
.hero-section {
  padding-top: 1.5rem !important;
}

.hero-content {
  padding-top: 0 !important;
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Option 4: keep banner size but soften the frame so it integrates more naturally */
.hero-content {
  padding-top: 0.75rem !important;
}

.hero-banner {
  max-width: 860px !important;
  margin: 0 auto 1.35rem !important;
  padding: 5px !important;
  border-radius: 22px !important;
  background: linear-gradient(
    135deg,
    rgba(255,255,255,0.40) 0%,
    rgba(255,255,255,0.18) 48%,
    rgba(255,255,255,0.30) 100%
  ) !important;
  border: 1px solid rgba(255,255,255,0.58) !important;
  box-shadow:
    0 6px 20px rgba(180,140,60,0.10),
    0 1px 4px rgba(0,0,0,0.04),
    inset 0 1px 0 rgba(255,255,255,0.74),
    inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  backdrop-filter: blur(12px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(150%) !important;
}

.hero-banner img {
  border-radius: 17px !important;
}

.hero h1.hero-tagline {
  margin-top: 0.2rem !important;
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Option 8: Strong, intentional overlap to eliminate top dead space */

.hero {
  padding-top: 0.3rem !important;
}

.hero-content {
  padding-top: 0 !important;
}

/* Strong upward pull */
.hero-banner {
  position: relative !important;
  margin: -2.4rem auto 1.2rem !important;
  z-index: 3 !important;
}

/* Ensure nothing clips */
.hero,
.hero-content {
  overflow: visible !important;
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Increase banner by 20% while preserving the glass frame and shadow */
.hero-banner {
  max-width: 1032px !important; /* 860px * 1.2 */
  width: min(1032px, calc(100% - 2rem)) !important;
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Desktop-only hero redesign:
   preserve the successful faded-left / visible-ear hero image treatment,
   but re-center the banner + heading + tagline + buttons like the earlier version. */
@media (min-width: 769px) {
  .hero {
    min-height: 640px !important;
    padding: 2.2rem 0 4.5rem !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    background-position: right center !important;
    overflow: hidden !important;
  }

  .hero::before {
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0.92) 0%,
      rgba(255,248,251,0.88) 22%,
      rgba(255,246,249,0.76) 40%,
      rgba(255,247,250,0.48) 58%,
      rgba(255,255,255,0.14) 74%,
      rgba(255,255,255,0.00) 100%
    ) !important;
  }

  .hero-content {
    width: 100% !important;
    max-width: 980px !important;
    margin: 0 auto !important;
    padding: 7.3rem 1.5rem 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
  }

  .hero-banner {
    position: relative !important;
    top: 0 !important;
    left: auto !important;
    margin: 0 auto 1.35rem !important;
    width: 100% !important;
    max-width: 700px !important;
    z-index: 3 !important;
  }

  .hero h1.hero-tagline {
    max-width: 760px !important;
    font-size: 3.15rem !important;
    line-height: 1.08 !important;
    margin: 0 auto 1rem !important;
    text-align: center !important;
  }

  .hero p,
  .hero-local-seo {
    max-width: 720px !important;
    font-size: 1.08rem !important;
    line-height: 1.6 !important;
    margin: 0 auto 1.5rem !important;
    text-align: center !important;
  }

  .hero-buttons {
    justify-content: center !important;
    margin: 0 auto 1.8rem !important;
    gap: 1rem !important;
  }

  .hero-buttons .btn-primary,
  .hero-buttons .btn-outline {
    min-width: 220px !important;
    padding: 1rem 1.8rem !important;
  }

  .hero .glass-panel,
  .hero .glass-panel-strong,
  .hero .hero-contact-bar {
    max-width: 760px !important;
    margin: 0.25rem auto 0 !important;
    text-align: center !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* NAV clean + uniform */
.nav-links a {
  color: #4e4a68 !important;
}

/* HERO POLISH */
@media (min-width: 769px) {
  .hero-content {
    padding: 6.2rem 1.5rem 0 !important;
  }

  .hero h1.hero-tagline {
    font-size: 3.2rem !important;
    margin-bottom: 0.6rem !important;
  }

  .hero p,
  .hero-local-seo {
    margin-bottom: 1.2rem !important;
  }

  /* CTA upgrade */
  .hero-buttons a {
    border-radius: 999px !important;
    padding: 0.9rem 1.6rem !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
  }

  .hero-buttons .btn-primary {
    background: #6a1b9a !important;
    color: #fff !important;
    box-shadow: 0 6px 18px rgba(106,27,154,0.25);
  }

  .hero-buttons .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(106,27,154,0.3);
  }

  .hero-buttons .btn-outline {
    background: rgba(255,255,255,0.6) !important;
    backdrop-filter: blur(6px);
    border: 1px solid rgba(0,0,0,0.08);
  }

  .hero-buttons .btn-outline:hover {
    background: rgba(255,255,255,0.85) !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Fix layout of the hero feature summary bar */
@media (min-width: 769px) {
  .hero-feature-summary {
    padding: 1.35rem 1.75rem !important;
  }

  .hero-feature-summary > div {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 2rem !important;
    flex-wrap: nowrap !important;
  }

  .hero-feature-summary > div > div:first-child {
    display: flex !important;
    align-items: center !important;
    gap: 2.5rem !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
  }

  .hero-feature-summary a[href^="tel"] {
    font-size: 1rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }

  .hero-feature-summary span[style*="font-size: 0.875rem"] {
    font-size: 1rem !important;
    line-height: 1.45 !important;
    white-space: nowrap !important;
  }

  .hero-feature-summary a.btn-primary[href="#booking"] {
    flex-shrink: 0 !important;
    min-width: 290px !important;
    text-align: center !important;
    white-space: nowrap !important;
    padding: 1rem 1.7rem !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.90), rgba(247,242,250,0.92)) !important;
    color: #5f4a86 !important;
    border: 1px solid rgba(222, 205, 144, 0.8) !important;
    box-shadow:
      0 18px 30px rgba(196, 180, 114, 0.14),
      0 6px 14px rgba(76, 52, 111, 0.06),
      inset 0 1px 0 rgba(255,255,255,0.96) !important;
  }

  
.hero-feature-summary a.btn-primary[href="#booking"]:hover {
    background: #d81b60 !important;
    color: #ffffff !important;
    border-color: #d81b60 !important;
    box-shadow:
      0 18px 30px rgba(216,27,96,0.25),
      0 6px 14px rgba(76, 52, 111, 0.08) !important;
    transform: translateY(-1px) !important;
}

}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (min-width: 769px){
  .hero h1.hero-tagline{
    max-width: 860px !important;
    margin: 0 auto 1rem !important;
    font-size: clamp(2.55rem, 4.1vw, 3.85rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.03em !important;
    text-wrap: balance;
  }
  .hero h1.hero-tagline span{
    display: inline-block !important;
    margin-top: 0.42rem !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: clamp(1.1rem, 1.55vw, 1.35rem) !important;
    font-weight: 650 !important;
    letter-spacing: 0.01em !important;
  }
  .hero-local-seo{
    max-width: 760px !important;
    margin: 0.95rem auto 1.45rem !important;
    font-size: 1.04rem !important;
    line-height: 1.72 !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-final__overlay{
    padding: 0.95rem 1rem 1.02rem !important;
  }
  .mobile-hero-final__overlay h1{
    max-width: 12.5rem !important;
    margin: 0 auto 0.56rem !important;
    font-size: 1.9rem !important;
    line-height: 1.03 !important;
    letter-spacing: -0.025em !important;
    text-wrap: balance;
  }
  .mobile-hero-final__overlay p{
    max-width: 16.6rem !important;
    font-size: 0.98rem !important;
    line-height: 1.42 !important;
  }
}

@media (max-width: 420px){
  .mobile-hero-final__overlay h1{
    max-width: 11.8rem !important;
    font-size: 1.76rem !important;
  }
  .mobile-hero-final__overlay p{
    max-width: 15.8rem !important;
    font-size: 0.95rem !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.appointment-flow-intro{
  max-width: 860px;
  margin: 0.35rem auto 1.1rem;
  text-align: center;
  color: #4f5565;
  line-height: 1.75;
  font-weight: 500;
}
.booking-journey-strip{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1rem;
  margin: 1.5rem 0 1.35rem;
}
.booking-journey-step{
  position: relative;
  padding: 1.2rem 1.15rem 1.1rem;
  text-align: center;
}
.booking-journey-step .step-number{
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin: 0 auto 0.7rem;
  background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
  color:#fff;
  font-weight: 800;
  font-size: 0.95rem;
  box-shadow: 0 8px 20px rgba(106,27,154,0.20);
}
.booking-journey-step h3{
  font-family: 'Playfair Display', serif;
  font-size: 1.05rem;
  line-height: 1.25;
  color:#5a2e7a;
  margin-bottom: 0.45rem;
}
.booking-journey-step p{
  margin:0;
  color:#5f6474;
  font-size: 0.95rem;
  line-height: 1.6;
}
.booking-decision-panel{
  display:grid;
  grid-template-columns: 1.4fr auto;
  align-items:center;
  gap:1rem;
  margin: 0 0 1.5rem;
  padding: 1.25rem 1.35rem;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(247,241,251,0.94));
  border:1px solid rgba(216, 188, 232, 0.48);
  box-shadow: 0 14px 34px rgba(106,27,154,0.10), inset 0 1px 0 rgba(255,255,255,0.9);
}
.booking-decision-copy h3{
  font-family: 'Playfair Display', serif;
  font-size: 1.12rem;
  color:#4a3164;
  margin:0 0 0.35rem;
}
.booking-decision-copy p{
  margin:0;
  color:#5f6474;
  line-height:1.7;
}
.booking-decision-actions{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
  justify-content:flex-end;
}
.booking-mini-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 48px;
  padding: 0.82rem 1.2rem;
  border-radius: 999px;
  text-decoration:none;
  font-weight:700;
  font-size: 0.96rem;
  border:1px solid rgba(206,183,233,0.76);
  background: linear-gradient(180deg, rgba(255,255,255,0.97), rgba(245,238,251,0.95));
  color:#55336e;
  box-shadow: 0 10px 24px rgba(106,27,154,0.10);
}
.booking-mini-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(106,27,154,0.14);
}
.booking-mini-btn.primary{
  background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
  color:#fff;
  border-color: transparent;
}
.flow-heading-wrap--locations{
  margin-top: 0.3rem;
}
.location-choice-card{
  position:relative;
}
.location-choice-card::after{
  content:'Then choose an appointment below';
  margin-top:0.55rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:0.78rem;
  font-weight:700;
  color:#6a1b9a;
  background:rgba(255,255,255,0.75);
  border:1px solid rgba(214,197,234,0.72);
  border-radius:999px;
  padding:0.42rem 0.72rem;
}
.location-choice-card:hover::after{
  color:#d81b60;
}
.booking-merged-intro{
  max-width: 820px;
}
.booking-merged-intro strong{
  color:#4a3164;
}
.simplified-service-card.featured-service{
  outline: 2px solid rgba(216,27,96,0.16);
  box-shadow: 0 22px 48px rgba(216,27,96,0.10), 0 14px 34px rgba(106,27,154,0.08), inset 0 1px 0 rgba(255,255,255,0.95);
}
.featured-badge{
  min-height: 30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  padding: 0.36rem 0.78rem;
  border-radius:999px;
  background: linear-gradient(135deg, #ec4899 0%, #7c3aed 100%);
  color:#fff;
  font-size:0.76rem;
  font-weight:800;
  letter-spacing:0.02em;
  box-shadow:0 10px 24px rgba(124,58,237,0.20);
}
.featured-badge::before{
  content:'Best starting point';
}
.booking-callout-note{
  margin: 1rem auto 0;
  max-width: 760px;
  text-align:center;
  color:#5f6474;
  line-height:1.7;
  font-weight:600;
}
@media (max-width: 980px){
  .booking-journey-strip{
    grid-template-columns: 1fr;
  }
  .booking-decision-panel{
    grid-template-columns: 1fr;
    text-align:center;
  }
  .booking-decision-actions{
    justify-content:center;
  }
}
@media (max-width: 768px){
  .appointment-flow-intro{
    font-size:0.98rem;
    line-height:1.65;
  }
  .booking-journey-strip{
    gap:0.8rem;
    margin: 1.15rem 0 1.15rem;
  }
  .booking-journey-step{
    padding:1rem;
  }
  .booking-decision-panel{
    padding: 1.1rem 1rem;
    gap:0.85rem;
    margin-bottom: 1.2rem;
  }
  .booking-mini-btn{
    width:100%;
  }
  .location-choice-card::after{
    width:100%;
    font-size:0.76rem;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Surgical booking card update: service + clinic/home choice */
.service-choice-actions{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: auto;
}
.service-choice-actions .btn-book-service{
  width: 100%;
  margin-top: 0;
}
.service-choice-actions .btn-book-service.btn-home-choice{
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,241,251,0.96));
  color: #6b4f93;
  border: 1px solid rgba(220, 204, 255, 0.78);
  box-shadow: 0 12px 28px rgba(75, 52, 110, 0.10), inset 0 1px 0 rgba(255,255,255,0.95);
}
.service-choice-actions .btn-book-service.btn-home-choice:hover{
  box-shadow: 0 16px 34px rgba(75, 52, 110, 0.14), inset 0 1px 0 rgba(255,255,255,0.95);
}
.simplified-services-grid--merged .simplified-service-card{
  display:flex;
  flex-direction:column;
}
.simplified-services-grid--merged .simplified-service-list{
  margin-bottom: 1.3rem;
}
@media (max-width: 640px){
  .service-choice-actions{
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.booking-section .btn,
.booking-section button {
    border-radius: 12px !important;
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  /* Restore the mobile booking + locations section */
  #services {
    display: block !important;
    padding: 0 0 22px !important;
  }

  #services .section-container {
    width: min(calc(100% - 20px), 560px) !important;
    margin: 0 auto !important;
  }

  #services .booking-journey-strip,
  #services .location-card-grid,
  #services .simplified-services-grid,
  #services .simplified-services-grid--merged {
    display: grid !important;
  }

  #services .location-card-grid,
  #services .simplified-services-grid,
  #services .simplified-services-grid--merged {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  #services .location-card,
  #services .simplified-service-card,
  #services .booking-journey-step,
  #services .booking-decision-panel {
    display: block !important;
  }

  /* Keep the sections the user wanted removed from mobile hidden */
  #more-info,
  #about {
    display: none !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  /* Actual Quick Links block is the 2nd child inside footer-top */
  .footer-top > .footer-column:nth-child(2) {
    display: none !important;
  }

  /* Reflow footer after removal */
  .footer-top {
    grid-template-columns: 1fr !important;
    gap: 1.1rem !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  /* Remove the remaining contact-style footer block on mobile */
  .footer-top > .footer-column:nth-child(3) {
    display: none !important;
  }

  /* Keep footer clean after removing more columns */
  .footer-top {
    grid-template-columns: 1fr !important;
    gap: 0.9rem !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  /* Hide the long descriptive paragraph in hero on mobile */
  .hero p,
  .hero .hero-subtext,
  .hero .hero-description {
    display: none !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  /* Mobile hero CTA fix: smaller, side-by-side, no cut-off */
  .mobile-hero-buttons {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 0.65rem !important;
    margin-top: 1rem !important;
    padding: 0 0.45rem 0.35rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    width: calc(50% - 0.325rem) !important;
    max-width: 148px !important;
    min-width: 0 !important;
    min-height: 46px !important;
    padding: 0.72rem 0.7rem !important;
    border-radius: 24px !important;
    font-size: 0.82rem !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-buttons {
    gap: 0.55rem !important;
    padding: 0 0.2rem 0.3rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    max-width: 138px !important;
    min-height: 44px !important;
    padding: 0.68rem 0.55rem !important;
    font-size: 0.78rem !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  /* Force hero CTAs into a true 2-column row at the bottom of the hero */
  .mobile-hero-inner {
    position: relative !important;
    min-height: 100% !important;
    padding-bottom: 6.4rem !important;
  }

  .mobile-hero-copy {
    padding-bottom: 0 !important;
  }

  .mobile-hero-buttons {
    position: absolute !important;
    left: 0.95rem !important;
    right: 0.95rem !important;
    bottom: 0.9rem !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.7rem !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book,
  .mobile-hero-buttons .btn-primary {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 0.72rem 0.55rem !important;
    border-radius: 22px !important;
    font-size: 0.78rem !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-inner {
    padding-bottom: 5.9rem !important;
  }

  .mobile-hero-buttons {
    left: 0.75rem !important;
    right: 0.75rem !important;
    bottom: 0.75rem !important;
    gap: 0.6rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book,
  .mobile-hero-buttons .btn-primary {
    min-height: 42px !important;
    padding: 0.66rem 0.45rem !important;
    font-size: 0.74rem !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  /* Completely remove hero buttons on mobile */
  .mobile-hero-buttons,
  .hero .btn,
  .hero a[class*="btn"],
  .hero button {
    display: none !important;
  }

  /* Clean spacing after removal */
  .mobile-hero-inner {
    padding-bottom: 1.5rem !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  /* Force remove ANY text blocks below main heading */
  .hero > *:not(.banner):not(h1):not(h2),
  .mobile-hero-inner > *:not(h1):not(h2):not(.banner) {
    display: none !important;
  }

  /* Extra safety: hide any paragraph or list inside hero */
  .hero p,
  .hero ul,
  .hero li,
  .hero div {
    display: none !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  /* Correct mobile hero image only for the active mobile hero */
  .hero.ecn-hero {
    background:
      linear-gradient(180deg, rgba(255,255,255,0.70) 0%, rgba(252,228,236,0.58) 46%, rgba(248,244,252,0.62) 100%),
      url('mobile_hero.webp') center center / cover no-repeat !important;
    background-attachment: scroll !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  .hero > .mobile-hero-opt1,
  .hero > .mobile-hero-mini,
  .hero > .mobile-hero-rebuild {
    display: none !important;
  }

  .hero > .mobile-hero-final {
    display: block !important;
    position: relative !important;
    z-index: 3 !important;
    margin: 0 !important;
    width: 100% !important;
  }

  .mobile-hero-final__media {
    position: relative !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    min-height: 30.5rem !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
    background: #ece2dd !important;
  }

  .mobile-hero-final__media > img {
    display: block !important;
    width: 100% !important;
    height: 30.5rem !important;
    object-fit: cover !important;
    object-position: right center !important;
    border-radius: 0 !important;
    filter: saturate(1.02) brightness(1.02) !important;
  }

  .mobile-hero-final__overlay {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 0.95rem 1rem 1.25rem !important;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0.10) 0%,
      rgba(255,252,251,0.20) 22%,
      rgba(250,244,243,0.52) 52%,
      rgba(247,240,239,0.88) 76%,
      rgba(246,238,237,0.96) 100%
    ) !important;
    backdrop-filter: blur(3px) !important;
    -webkit-backdrop-filter: blur(3px) !important;
    text-align: center !important;
  }

  .mobile-hero-final__logo {
    margin: 0.35rem auto 0.95rem !important;
    width: min(88%, 31rem) !important;
  }

  .mobile-hero-final__actions {
    display: none !important;
  }

  .mobile-hero-final__overlay ul,
  .mobile-hero-final__overlay li,
  .mobile-hero-final__trust,
  .clinic-trust-strip {
    display: none !important;
  }
}

@media (max-width: 420px) {
  .mobile-hero-final__media {
    min-height: 28.8rem !important;
  }

  .mobile-hero-final__media > img {
    height: 28.8rem !important;
    object-position: 74% center !important;
  }

  .mobile-hero-final__overlay {
    padding: 0.9rem 0.9rem 1.1rem !important;
  }

  .mobile-hero-final__logo {
    width: min(90%, 30rem) !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  .mobile-book-now-wrap {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 auto 1.1rem !important;
    padding: 0 1rem !important;
  }

  .mobile-book-now-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 34rem !important;
    min-height: 62px !important;
    padding: 0.95rem 1.4rem !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    color: #6a1b9a !important;
    background: linear-gradient(145deg, rgba(255,255,255,0.82) 0%, rgba(245,236,251,0.70) 100%) !important;
    backdrop-filter: blur(16px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
    border: 1px solid rgba(255,255,255,0.92) !important;
    box-shadow:
      0 14px 32px rgba(31,38,135,0.10),
      0 6px 16px rgba(106,27,154,0.08),
      inset 0 1px 0 rgba(255,255,255,0.96),
      inset 0 -1px 0 rgba(255,255,255,0.24) !important;
  }

  .mobile-book-now-btn:hover,
  .mobile-book-now-btn:active {
    transform: translateY(-1px) !important;
  }
}

@media (min-width: 769px) {
  .mobile-book-now-wrap {
    display: none !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.waveform-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
  margin-top:1rem;
}

.waveform-card{
  appearance:none;
  border:1px solid rgba(255,255,255,0.88);
  background:linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.42) 100%);
  backdrop-filter:blur(18px) saturate(175%);
  -webkit-backdrop-filter:blur(18px) saturate(175%);
  border-radius:20px;
  min-height:138px;
  padding:1rem 0.9rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0.7rem;
  color:#6a1b9a;
  box-shadow:
    0 12px 30px rgba(31,38,135,0.08),
    0 4px 12px rgba(106,27,154,0.06),
    inset 0 1px 0 rgba(255,255,255,0.96),
    inset 0 -1px 0 rgba(255,255,255,0.24);
  cursor:pointer;
  transition:transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}

.waveform-card:hover{
  transform:translateY(-2px);
  box-shadow:
    0 16px 36px rgba(31,38,135,0.10),
    0 6px 16px rgba(106,27,154,0.08),
    inset 0 1px 0 rgba(255,255,255,0.98);
}

.waveform-card.is-active{
  background:linear-gradient(145deg, rgba(255,255,255,0.82) 0%, rgba(246,236,255,0.72) 100%);
  border-color:rgba(205,176,255,0.95);
  box-shadow:
    0 18px 38px rgba(106,27,154,0.14),
    0 0 0 1px rgba(212,186,255,0.55),
    inset 0 1px 0 rgba(255,255,255,0.98);
}

.waveform-card svg{
  width:118px;
  height:42px;
  overflow:visible;
}

.waveform-card span{
  font-family:'Outfit', sans-serif;
  font-size:1rem;
  font-weight:700;
  color:#4b5563;
}

.waveform-helper{
  grid-column:1 / -1;
  margin:0.15rem 0 0;
  text-align:center;
  color:#6b7280;
  font-size:0.95rem;
  line-height:1.55;
}

@media (max-width: 768px){
  .waveform-grid{
    gap:0.8rem;
  }
  .waveform-card{
    min-height:112px;
    border-radius:16px;
    padding:0.85rem 0.7rem;
  }
  .waveform-card svg{
    width:92px;
    height:34px;
  }
  .waveform-card span{
    font-size:0.9rem;
  }
  .waveform-helper{
    font-size:0.9rem;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  .hero.ecn-hero {
    background:
      linear-gradient(180deg, rgba(255,255,255,0.70) 0%, rgba(252,228,236,0.58) 46%, rgba(248,244,252,0.62) 100%) !important;
    min-height: auto !important;
  }

  .ecn-banner-shell img {
    content: url('mobile_hero.webp');
    width: 100%;
    height: auto;
    display: block;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  .hero,
  .hero.ecn-hero,
  .mobile-hero-final__media,
  .mobile-hero-bg,
  .mobile-hero-rebuild,
  .mobile-hero-final,
  .mobile-hero-final-match {
    background-image: none !important;
    background-size: auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-attachment: scroll !important;
    min-height: auto !important;
  }

  .mobile-hero-final__media > img,
  .mobile-hero-bg img,
  .mobile-hero-final img,
  .mobile-hero-final-match img,
  .mobile-hero-rebuild img {
    opacity: 1 !important;
    visibility: visible !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  .hero.ecn-hero {
    background: none !important;
    padding: 5rem 0 0 !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  .hero.ecn-hero::before,
  .hero.ecn-hero::after,
  .ecn-banner-shell::before,
  .ecn-banner-shell::after {
    content: none !important;
    display: none !important;
  }

  .hero.ecn-hero .ecn-hero-wrap,
  .hero.ecn-hero .ecn-banner-shell,
  .hero.ecn-hero .ecn-banner-shell picture,
  .hero.ecn-hero .ecn-banner-shell source,
  .hero.ecn-hero .ecn-banner-shell img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .hero.ecn-hero .ecn-hero-wrap {
    position: relative !important;
    z-index: 5 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .hero.ecn-hero .ecn-banner-shell {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .hero.ecn-hero .ecn-banner-shell img {
    content: url('mobile_hero.webp') !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center top !important;
  }

  .hero.ecn-hero .ecn-hero-lower,
  .hero.ecn-hero .ecn-hero-copy,
  .hero.ecn-hero .ecn-hero-buttons,
  .hero.ecn-hero .mobile-hero-rebuild,
  .hero.ecn-hero .mobile-hero-final,
  .hero.ecn-hero .mobile-hero-opt1,
  .hero.ecn-hero .mobile-hero-mini,
  .hero.ecn-hero .mobile-book-now-wrap {
    display: none !important;
  }

  #more-info {
    display: none !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px){
  .hero.ecn-hero{
    padding-top: 5.2rem !important;
    padding-bottom: 0.95rem !important;
  }

  .hero.ecn-hero .ecn-hero-wrap{
    max-width: 100% !important;
  }

  .hero.ecn-hero .ecn-banner-shell{
    margin-bottom: 0.72rem !important;
    padding: 8px !important;
    border-radius: 24px !important;
    background: linear-gradient(145deg, rgba(255,255,255,0.58) 0%, rgba(255,248,252,0.34) 100%) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    box-shadow:
      0 16px 36px rgba(31,38,135,0.10),
      0 6px 18px rgba(106,27,154,0.08),
      inset 0 1px 0 rgba(255,255,255,0.96) !important;
    backdrop-filter: blur(14px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
  }

  .hero.ecn-hero .ecn-banner-shell img{
    border-radius: 17px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04) !important;
  }

  .hero.ecn-hero .mobile-book-now-wrap{
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 0.15rem 0 0.55rem !important;
    margin: 0 auto !important;
  }

  .hero.ecn-hero .mobile-book-now-btn{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 210px !important;
    min-height: 52px !important;
    padding: 0.92rem 1.8rem !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    letter-spacing: 0.01em !important;
    color: #5f1f87 !important;
    background: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(248,239,248,0.48) 100%) !important;
    border: 1px solid rgba(255,255,255,0.92) !important;
    box-shadow:
      0 14px 30px rgba(106,27,154,0.12),
      0 4px 12px rgba(0,0,0,0.05),
      inset 0 1px 0 rgba(255,255,255,0.98) !important;
    backdrop-filter: blur(15px) saturate(170%) !important;
    -webkit-backdrop-filter: blur(15px) saturate(170%) !important;
  }

  .hero.ecn-hero .mobile-book-now-btn:hover,
  .hero.ecn-hero .mobile-book-now-btn:active{
    transform: translateY(-1px) !important;
    box-shadow:
      0 18px 34px rgba(106,27,154,0.14),
      0 6px 16px rgba(0,0,0,0.06),
      inset 0 1px 0 rgba(255,255,255,0.98) !important;
  }

  .hero.ecn-hero .ecn-hero-lower,
  .hero.ecn-hero .ecn-hero-copy,
  .hero.ecn-hero .ecn-hero-buttons{
    display: none !important;
  }

  .faq-section{
    display: none !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px){
  .hero.ecn-hero .mobile-book-now-wrap{
    padding: 0.12rem 0 0.46rem !important;
  }

  .hero.ecn-hero .mobile-book-now-btn{
    position: relative !important;
    overflow: hidden !important;
    min-width: 224px !important;
    min-height: 54px !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease !important;
    box-shadow:
      0 16px 32px rgba(106,27,154,0.13),
      0 5px 14px rgba(0,0,0,0.05),
      inset 0 1px 0 rgba(255,255,255,0.98) !important;
  }

  .hero.ecn-hero .mobile-book-now-btn::before{
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.10) 45%, rgba(255,255,255,0) 100%);
    pointer-events: none;
  }

  .hero.ecn-hero .mobile-book-now-btn::after{
    content: "";
    position: absolute;
    top: -140%;
    left: -42%;
    width: 46%;
    height: 320%;
    transform: rotate(24deg);
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.72) 50%, rgba(255,255,255,0) 100%);
    opacity: 0.48;
    pointer-events: none;
    animation: mobileBookShimmer 4.8s ease-in-out infinite;
  }

  .hero.ecn-hero .mobile-book-now-btn:hover,
  .hero.ecn-hero .mobile-book-now-btn:active,
  .hero.ecn-hero .mobile-book-now-btn:focus-visible{
    transform: translateY(-1px) scale(1.01) !important;
    box-shadow:
      0 18px 36px rgba(106,27,154,0.16),
      0 7px 18px rgba(0,0,0,0.06),
      inset 0 1px 0 rgba(255,255,255,0.98) !important;
    outline: none !important;
  }

  #testimonials.hero-testimonials{
    padding-top: 0.45rem !important;
    padding-bottom: 0.9rem !important;
  }

  #testimonials.hero-testimonials .section-heading{
    margin-bottom: 0.8rem !important;
  }

  #testimonials.hero-testimonials .testimonial-container{
    min-height: 0 !important;
    padding: 1rem 0.9rem 0.9rem !important;
    border-radius: 22px !important;
  }

  #testimonials.hero-testimonials .testimonial-content{
    min-height: 0 !important;
    padding: 0 1rem !important;
  }

  #testimonials.hero-testimonials .testimonial-quote{
    min-height: 0 !important;
    font-size: 0.97rem !important;
    line-height: 1.4 !important;
    margin-bottom: 0.7rem !important;
  }

  #testimonials.hero-testimonials .stars{
    margin-bottom: 0.55rem !important;
  }

  #testimonials.hero-testimonials .testimonial-dots{
    margin-top: 0.65rem !important;
  }

  .clinic-trust-strip{
    padding: 0 14px 0.8rem !important;
    margin-top: -0.1rem !important;
  }

  .clinic-trust-strip__inner{
    gap: 0.7rem !important;
  }

  .mobile-premium-stack{
    padding-top: 0.2rem !important;
    padding-bottom: 1rem !important;
  }

  .mobile-premium-stack .section-container{
    gap: 0.95rem !important;
  }

  #welcome{
    padding-top: 1.15rem !important;
    padding-bottom: 1.7rem !important;
  }

  #welcome .welcome-content{
    padding: 1.45rem 1.1rem !important;
  }

  #services{
    padding-top: 1.45rem !important;
  }

  .appointment-flow-intro{
    margin-bottom: 1rem !important;
  }
}

@keyframes mobileBookShimmer{
  0%, 72%, 100% { transform: translateX(0) rotate(24deg); opacity: 0; }
  78% { opacity: 0.22; }
  86% { transform: translateX(255%) rotate(24deg); opacity: 0.52; }
  92% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce){
  .hero.ecn-hero .mobile-book-now-btn,
  .hero.ecn-hero .mobile-book-now-btn::after{
    animation: none !important;
    transition: none !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

#additional-treatments .skin-contact-btn-wrap{
  display:flex;
  justify-content:center;
  margin-top:0.7rem;
}
#additional-treatments .skin-contact-btn-small{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.45rem;
  padding:0.72rem 1.12rem;
  min-height:44px;
  border-radius:999px;
  text-decoration:none;
  font-size:0.92rem;
  font-weight:700;
  color:#5a3a6b;
  background:rgba(255,255,255,0.76);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(160,120,200,0.28);
  box-shadow:0 8px 20px rgba(0,0,0,0.08);
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
#additional-treatments .skin-contact-btn-small:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(0,0,0,0.12);
  background:rgba(255,255,255,0.84);
}

/* Make sure Facebook CTA is clearly visible on mobile */
@media (max-width: 768px){
  .contact-hub-card .contact-chat-btn--facebook{
    display:inline-flex !important;
    width:100% !important;
    min-height:54px !important;
    opacity:1 !important;
    visibility:visible !important;
    background:linear-gradient(135deg, #2f80ed 0%, #1664dd 100%) !important;
    color:#ffffff !important;
    border:1px solid rgba(255,255,255,0.28);
    box-shadow:0 10px 24px rgba(47,128,237,0.22), inset 0 1px 0 rgba(255,255,255,0.26) !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px) {
  html, body {
    background: linear-gradient(180deg, #f2f0f5 0%, #f6f3f8 45%, #fcfbfd 100%) !important;
  }

  body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background:
      radial-gradient(circle at 22% 12%, rgba(206, 184, 255, 0.28) 0%, transparent 28%),
      radial-gradient(circle at 82% 22%, rgba(255, 212, 230, 0.24) 0%, transparent 30%),
      radial-gradient(circle at 50% 100%, rgba(255,255,255,0.55) 0%, transparent 35%);
  }

  nav {
    background: rgba(245, 242, 247, 0.82) !important;
    border-bottom: 1px solid rgba(255,255,255,0.9) !important;
    box-shadow:
      0 8px 24px rgba(120, 105, 145, 0.10),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
    backdrop-filter: blur(24px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(135%) !important;
  }

  .nav-links,
  .nav-links.active {
    background: rgba(243, 240, 246, 0.92) !important;
    box-shadow:
      -10px 0 28px rgba(120, 105, 145, 0.12),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
  }

  .nav-links a {
    background: linear-gradient(180deg, rgba(252,251,253,0.95), rgba(238,234,242,0.94)) !important;
    border: 1px solid rgba(255,255,255,0.95) !important;
    color: #5c4a73 !important;
    box-shadow:
      8px 8px 18px rgba(172, 164, 184, 0.22),
      -8px -8px 18px rgba(255,255,255,0.88),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .hero {
    padding-top: 5.15rem !important;
  }

  .hero-banner {
    background: linear-gradient(180deg, rgba(248,246,250,0.88), rgba(238,234,243,0.84)) !important;
    border: 1px solid rgba(255,255,255,0.9) !important;
    border-radius: 34px !important;
    box-shadow:
      14px 14px 30px rgba(180, 172, 191, 0.24),
      -10px -10px 24px rgba(255,255,255,0.86),
      inset 0 1px 0 rgba(255,255,255,0.95) !important;
    padding: 14px !important;
    max-width: calc(100% - 32px) !important;
  }

  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .service-card,
  .booking-direct-card,
  .contact-card,
  .credential-card,
  .feature-card,
  .faq-item,
  .news-box,
  .testimonial-container,
  .about-content,
  .image-overlay-card,
  .booking-support-panel,
  .follow-us-card {
    background: linear-gradient(180deg, rgba(248,246,250,0.92), rgba(237,233,242,0.90)) !important;
    border: 1px solid rgba(255,255,255,0.92) !important;
    border-radius: 26px !important;
    box-shadow:
      14px 14px 28px rgba(183, 175, 193, 0.22),
      -10px -10px 22px rgba(255,255,255,0.88),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
    backdrop-filter: blur(18px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(120%) !important;
  }

  .service-card-media,
  .about-image .image-wrapper,
  .home-visits-image .image-wrapper,
  .map-container,
  .gallery-item,
  .partner-logo {
    border-radius: 22px !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.86),
      8px 8px 18px rgba(185, 176, 197, 0.16),
      -6px -6px 14px rgba(255,255,255,0.85) !important;
    overflow: hidden !important;
  }

  .btn-primary,
  .btn-outline,
  .btn-book-service,
  .mobile-service-book-btn,
  .contact-chat-btn,
  .btn-whatsapp {
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,0.9) !important;
    box-shadow:
      10px 10px 22px rgba(177, 169, 190, 0.22),
      -8px -8px 18px rgba(255,255,255,0.86),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
    transform: none !important;
  }

  .btn-primary {
    background: linear-gradient(135deg, #7b67c7 0%, #d55f9c 100%) !important;
    color: #fff !important;
  }

  .btn-outline,
  .btn-book-service {
    background: linear-gradient(180deg, rgba(251,250,253,0.95), rgba(237,232,243,0.94)) !important;
    color: #5d4f74 !important;
  }

  section {
    padding-top: 1.8rem !important;
    padding-bottom: 1.8rem !important;
  }

  .section-container {
    width: calc(100% - 24px) !important;
    max-width: 100% !important;
  }

  .section-heading,
  .hero h1.hero-tagline,
  .booking-card-top h4,
  .service-header h4,
  .news-box h2 {
    letter-spacing: -0.03em !important;
    color: #5a4677 !important;
  }

  .service-card,
  .booking-direct-card,
  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.2rem !important;
  }

  .section-divider,
  hr {
    opacity: 0.35 !important;
  }

  footer {
    background: linear-gradient(180deg, rgba(244,241,247,0.92), rgba(235,231,241,0.94)) !important;
    box-shadow:
      0 -12px 28px rgba(184, 175, 193, 0.18),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px){
  .hero.ecn-hero{
    position: relative !important;
    overflow: visible !important;
    padding-top: 4.9rem !important;
    padding-bottom: 1.25rem !important;
    background:
      radial-gradient(circle at 20% 10%, rgba(130, 98, 220, 0.14) 0%, transparent 34%),
      radial-gradient(circle at 82% 16%, rgba(239, 158, 205, 0.16) 0%, transparent 38%),
      linear-gradient(180deg, #efebf6 0%, #f5f1f8 52%, #f8f5fb 100%) !important;
  }

  .hero.ecn-hero::before{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    top: 96px !important;
    bottom: 14px !important;
    z-index: 0 !important;
    border-radius: 34px !important;
    background:
      linear-gradient(180deg, rgba(250,248,252,0.96), rgba(237,232,244,0.90)) !important;
    box-shadow:
      18px 18px 34px rgba(187, 179, 198, 0.22),
      -12px -12px 26px rgba(255,255,255,0.90),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
    opacity: 1 !important;
  }

  .hero.ecn-hero .ecn-hero-wrap{
    position: relative !important;
    z-index: 2 !important;
    width: calc(100% - 28px) !important;
    margin: 0 auto !important;
    padding: 1.1rem 0 1.6rem !important;
  }

  .hero.ecn-hero .ecn-hero-wrap::before{
    content: "✓  Qualified Nurse";
    position: absolute;
    top: 0.2rem;
    right: 0.2rem;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    font-size: 0.73rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #65527f;
    background: linear-gradient(180deg, rgba(252,251,253,0.96), rgba(240,235,246,0.96));
    border: 1px solid rgba(255,255,255,0.9);
    box-shadow:
      10px 10px 20px rgba(183, 174, 194, 0.18),
      -7px -7px 16px rgba(255,255,255,0.88),
      inset 0 1px 0 rgba(255,255,255,0.94);
  }

  .hero.ecn-hero .ecn-banner-shell{
    position: relative !important;
    z-index: 3 !important;
    border-radius: 34px !important;
    padding: 14px !important;
    background: linear-gradient(180deg, rgba(249,247,251,0.96), rgba(237,232,243,0.92)) !important;
    border: 1px solid rgba(255,255,255,0.92) !important;
    box-shadow:
      18px 20px 34px rgba(180, 171, 192, 0.24),
      -12px -12px 24px rgba(255,255,255,0.88),
      inset 0 1px 0 rgba(255,255,255,0.95) !important;
    overflow: visible !important;
  }

  .hero.ecn-hero .ecn-banner-shell::before{
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 26px;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.02));
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.32);
  }

  .hero.ecn-hero .ecn-banner-shell::after{
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: -14px;
    height: 28px;
    border-radius: 999px;
    background: radial-gradient(ellipse at center, rgba(133, 111, 172, 0.18) 0%, rgba(133, 111, 172, 0.08) 38%, transparent 75%);
    filter: blur(8px);
    pointer-events: none;
    z-index: -1;
  }

  .hero.ecn-hero .ecn-banner-shell img{
    display: block !important;
    width: 100% !important;
    border-radius: 26px !important;
    box-shadow:
      0 12px 24px rgba(138, 125, 157, 0.08),
      inset 0 1px 0 rgba(255,255,255,0.22) !important;
  }

  .hero.ecn-hero .mobile-book-now-wrap{
    position: relative !important;
    z-index: 4 !important;
    width: 100% !important;
    margin-top: -0.65rem !important;
    display: flex !important;
    justify-content: center !important;
  }

  .hero.ecn-hero .mobile-book-now-wrap::before{
    content: "";
    position: absolute;
    width: 72%;
    max-width: 290px;
    height: 68px;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(244,240,248,0.94), rgba(235,229,242,0.92));
    border: 1px solid rgba(255,255,255,0.90);
    box-shadow:
      14px 14px 28px rgba(184, 176, 195, 0.20),
      -10px -10px 22px rgba(255,255,255,0.88),
      inset 0 1px 0 rgba(255,255,255,0.94);
    z-index: -1;
  }

  .hero.ecn-hero .mobile-book-now-btn{
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 220px !important;
    min-height: 60px !important;
    padding: 0.95rem 2rem !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    font-size: 0.98rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em !important;
    color: #68459b !important;
    background: linear-gradient(180deg, rgba(251,250,253,0.98), rgba(237,232,243,0.96)) !important;
    border: 1px solid rgba(255,255,255,0.94) !important;
    box-shadow:
      16px 16px 30px rgba(184, 175, 196, 0.22),
      -10px -10px 22px rgba(255,255,255,0.90),
      inset 0 1px 0 rgba(255,255,255,0.96) !important;
    transform: translateZ(0);
  }

  .hero.ecn-hero .mobile-book-now-btn::after{
    content: "Quick booking";
    position: absolute;
    bottom: -1.45rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.7rem;
    font-weight: 700;
    color: #8b7aa3;
    letter-spacing: 0.02em;
    white-space: nowrap;
  }

  .hero.ecn-hero .ecn-hero-lower,
  .hero.ecn-hero .ecn-hero-copy,
  .hero.ecn-hero .ecn-hero-buttons{
    display: none !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width:768px){

  .hero.ecn-hero{
    padding-top: 4.4rem !important;
    padding-bottom: 0.6rem !important;
  }

  .hero.ecn-hero .ecn-hero-wrap{
    padding-bottom: 0.8rem !important;
  }

  .hero.ecn-hero .mobile-book-now-wrap{
    margin-top: -0.3rem !important;
  }

  .hero.ecn-hero .mobile-book-now-wrap::before{
    height: 52px !important;
    width: 64% !important;
    max-width: 240px !important;
  }

  .hero.ecn-hero .mobile-book-now-btn{
    min-width: 170px !important;
    min-height: 46px !important;
    padding: 0.6rem 1.2rem !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
  }

  .hero.ecn-hero .mobile-book-now-btn::after{
    display:none !important;
  }

}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width:768px){
  .hero.ecn-hero .mobile-book-now-wrap{
    display:flex !important;
    gap:10px !important;
    justify-content:center !important;
    align-items:center !important;
  }
  .hero.ecn-hero .mobile-book-now-btn{
    min-width: 140px !important;
    min-height: 42px !important;
    padding: 0.5rem 0.9rem !important;
    font-size: 0.82rem !important;
    border-radius: 999px !important;
  }
  .hero .mobile-call-btn{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-width: 140px;
    min-height: 42px;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight:700;
    text-decoration:none;
    color:#5d4f74;
    background: linear-gradient(180deg, rgba(251,250,253,0.98), rgba(237,232,243,0.96));
    border:1px solid rgba(255,255,255,0.94);
    box-shadow:
      10px 10px 20px rgba(184,175,196,0.18),
      -8px -8px 18px rgba(255,255,255,0.88),
      inset 0 1px 0 rgba(255,255,255,0.95);
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width:768px){

  .hero.ecn-hero .mobile-book-now-wrap{
    position: relative !important;
    margin-top: -1.6rem !important;
    gap:14px !important;
  }

  .hero.ecn-hero .mobile-book-now-btn,
  .hero.ecn-hero .mobile-call-btn{
    min-width:120px !important;
    min-height:38px !important;
    font-size:0.8rem !important;
    padding:0.45rem 0.7rem !important;
  }

  /* pull buttons slightly under image edges */
  .hero.ecn-hero .mobile-book-now-wrap{
    transform: translateY(-8px) !important;
  }

}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width:768px){
  .hero.ecn-hero .mobile-book-now-wrap{
    margin-top:-1.2rem !important;
    transform:none !important;
    display:grid !important;
    grid-template-columns:auto auto !important;
    gap:12px !important;
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
  }
  .hero.ecn-hero .mobile-book-now-wrap::before{
    display:none !important;
  }
  .hero.ecn-hero .mobile-book-now-btn,
  .hero.ecn-hero .mobile-call-btn{
    min-width:122px !important;
    height:38px !important;
    min-height:38px !important;
    padding:0.42rem 0.78rem !important;
    font-size:0.8rem !important;
    line-height:1 !important;
    border-radius:999px !important;
    white-space:nowrap !important;
    position:relative !important;
    z-index:3 !important;
  }
  .hero.ecn-hero .mobile-call-btn{
    display:inline-flex !important;
  }
  .hero.ecn-hero .mobile-book-now-btn::after{
    display:none !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width:768px){
  .hero.ecn-hero{
    padding-top: 0.55rem !important;
    padding-bottom: 0.35rem !important;
    min-height: auto !important;
    background: linear-gradient(180deg, #eef1f4 0%, #f5f6f8 100%) !important;
  }

  .hero.ecn-hero::before{
    display:none !important;
  }

  .hero.ecn-hero .ecn-hero-wrap{
    width: calc(100% - 18px) !important;
    padding: 0.35rem 0 0.15rem !important;
  }

  .hero.ecn-hero .ecn-hero-wrap::before,
  .hero.ecn-hero .mobile-book-now-wrap,
  .hero.ecn-hero .ecn-hero-lower,
  .hero.ecn-hero .ecn-hero-copy,
  .hero.ecn-hero .ecn-hero-buttons{
    display:none !important;
  }

  .hero.ecn-hero .ecn-banner-shell{
    padding: 0 !important;
    border-radius: 34px !important;
    background: #ffffff !important;
    border: 1px solid rgba(255,255,255,0.96) !important;
    box-shadow:
      0 18px 44px rgba(66, 76, 92, 0.12),
      0 4px 12px rgba(66, 76, 92, 0.08) !important;
    overflow: hidden !important;
    max-width: 100% !important;
    margin-bottom: 0 !important;
  }

  .hero.ecn-hero .ecn-banner-shell::before,
  .hero.ecn-hero .ecn-banner-shell::after{
    display:none !important;
  }

  .hero.ecn-hero .ecn-banner-shell img{
    border-radius: 0 !important;
    width: 100% !important;
    aspect-ratio: 0.79 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
    box-shadow:none !important;
    display:block !important;
  }

  .hero.ecn-hero .mobile-hero-app-card{
    display:block !important;
    background:#ffffff !important;
    padding: 1.2rem 1.1rem 1.2rem !important;
    text-align:center !important;
    border-bottom-left-radius: 34px !important;
    border-bottom-right-radius: 34px !important;
    margin-top: 0 !important;
    position: relative !important;
    z-index: 2 !important;
    box-shadow: 0 14px 30px rgba(66, 76, 92, 0.06) !important;
  }

  .hero.ecn-hero .mobile-hero-app-title{
    margin: 0 0 0.55rem !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 1.55rem !important;
    line-height: 1.15 !important;
    letter-spacing: -0.03em !important;
    font-weight: 700 !important;
    color: #1f2430 !important;
  }

  .hero.ecn-hero .mobile-hero-app-text{
    margin: 0 auto 0.9rem !important;
    max-width: 18rem !important;
    font-size: 0.9rem !important;
    line-height: 1.55 !important;
    color: #667085 !important;
    font-weight: 500 !important;
  }

  .hero.ecn-hero .mobile-hero-app-dots{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap: 0.38rem !important;
    margin: 0 0 1rem !important;
  }

  .hero.ecn-hero .mobile-hero-app-dots span{
    width: 8px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: #d9dfe8 !important;
    display:block !important;
  }

  .hero.ecn-hero .mobile-hero-app-dots span.is-active{
    width: 22px !important;
    background: linear-gradient(135deg, #2f7cff 0%, #2567e8 100%) !important;
  }

  .hero.ecn-hero .mobile-hero-app-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height: 48px !important;
    width: 100% !important;
    border-radius: 999px !important;
    text-decoration:none !important;
    font-size: 0.98rem !important;
    font-weight: 700 !important;
    color:#ffffff !important;
    background: linear-gradient(135deg, #2f7cff 0%, #2567e8 100%) !important;
    box-shadow:
      0 10px 24px rgba(47,124,255,0.24),
      inset 0 1px 0 rgba(255,255,255,0.22) !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width:768px){
  .hero.ecn-hero{
    margin-bottom: 0.8rem !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width:768px){
  /* Give the hero card a proper contained lower panel and more space below */
  .hero.ecn-hero{
    padding-bottom: 1.2rem !important;
    margin-bottom: 1.35rem !important;
  }

  .hero.ecn-hero .ecn-banner-shell{
    overflow: visible !important;
  }

  .hero.ecn-hero .mobile-hero-app-card{
    margin-top: 0 !important;
    border-bottom-left-radius: 34px !important;
    border-bottom-right-radius: 34px !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    padding: 1.05rem 1rem 1.15rem !important;
  }

  .hero.ecn-hero .mobile-hero-app-title{
    font-size: 1.18rem !important;
    line-height: 1.16 !important;
    max-width: 16rem !important;
    margin: 0 auto 0.45rem !important;
  }

  .hero.ecn-hero .mobile-hero-app-text{
    font-size: 0.82rem !important;
    line-height: 1.45 !important;
    max-width: 15.5rem !important;
    margin: 0 auto 0.75rem !important;
  }

  .hero.ecn-hero .mobile-hero-app-dots{
    margin: 0 0 0.8rem !important;
  }

  .hero.ecn-hero .mobile-hero-app-btn{
    min-height: 44px !important;
    max-width: 88% !important;
    margin: 0 auto !important;
    font-size: 0.92rem !important;
  }

  /* Push following content down a touch so nothing visually collides */
  .hero.ecn-hero + *{
    margin-top: 0.95rem !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width:768px){
  .hero.ecn-hero .mobile-hero-app-card{
    padding: 1rem 1rem 0.9rem !important;
  }

  .hero.ecn-hero .mobile-hero-app-title{
    font-size: 1.18rem !important;
    line-height: 1.14 !important;
    max-width: 15.5rem !important;
    margin: 0 auto 0.45rem !important;
  }

  .hero.ecn-hero .mobile-hero-app-text{
    font-size: 0.84rem !important;
    line-height: 1.45 !important;
    max-width: 15rem !important;
    margin: 0 auto 0.7rem !important;
  }

  .hero.ecn-hero .mobile-hero-app-dots{
    margin: 0 !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.mobile-hero-app-card{
  display:none !important;
}
@media (max-width:768px){
  .mobile-hero-app-card{
    display:block !important;
  }
}

@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* visual baseline */
.hero-buttons a,
.hero-buttons button,
.mobile-hero-buttons a,
.mobile-hero-buttons button {
  transition: none !important;
}

/* strongest possible CSS override first */
.hero-buttons a:hover,
.hero-buttons button:hover,
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover,
.hero-buttons a:focus,
.hero-buttons button:focus,
.mobile-hero-buttons a:focus,
.mobile-hero-buttons button:focus,
.hero-buttons a:active,
.hero-buttons button:active,
.mobile-hero-buttons a:active,
.mobile-hero-buttons button:active {
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  transform: none !important;
  background-image: none !important;
}

/* remove any lingering Welcome slot spacing and keep one-row nav feel */
.nav-links{
  justify-content:center !important;
}
@media (min-width: 769px){
  .nav-links{
    gap: 0.75rem !important;
  }
}

/* DESKTOP hero Book Appointment: no hover effects */
.hero-buttons a[href="#booking"],
.hero-buttons .btn-primary[href="#booking"]{
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  transform: none !important;
  transition: none !important;
}
.hero-buttons a[href="#booking"]:hover,
.hero-buttons .btn-primary[href="#booking"]:hover,
.hero-buttons a[href="#booking"]:focus,
.hero-buttons .btn-primary[href="#booking"]:focus,
.hero-buttons a[href="#booking"]:active,
.hero-buttons .btn-primary[href="#booking"]:active{
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  transform: none !important;
  transition: none !important;
}

/* MOBILE hero Book Appointment: target the ACTUAL source of the white glow */
.mobile-hero-block__btn--primary,
.mobile-hero-block__btn--primary:hover,
.mobile-hero-block__btn--primary:focus,
.mobile-hero-block__btn--primary:active{
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  transform: none !important;
  transition: none !important;
}

/* kill broader mobile hero hover rule specifically */
.mobile-hero-block__btn:hover,
.mobile-hero-block__btn:active{
  box-shadow: none !important;
  transform: none !important;
}

/* remove pseudo effects if any */
.mobile-hero-block__btn--primary::before,
.mobile-hero-block__btn--primary::after,
.hero-buttons a[href="#booking"]::before,
.hero-buttons a[href="#booking"]::after{
  content: none !important;
  display: none !important;
}

@media (max-width: 768px) {
  #tinnitus-ear-wax {
    display: none !important;
  }
}

/* Subtle premium motion polish */
@media (prefers-reduced-motion: no-preference) {
  .service-card,
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .booking-direct-card,
  .contact-card,
  .credential-card,
  .feature-card,
  .faq-item,
  .btn-primary,
  .btn-outline,
  .btn-book-service,
  .footer-social-btn,
  .social-link {
    transition:
      transform 0.26s ease,
      box-shadow 0.26s ease,
      background-color 0.26s ease,
      border-color 0.26s ease,
      opacity 0.26s ease;
    will-change: transform;
  }

  .service-card:hover,
  .glass-card:hover,
  .booking-direct-card:hover,
  .contact-card:hover,
  .credential-card:hover,
  .feature-card:hover,
  .faq-item.open {
    transform: translateY(-2px);
  }

  .btn-primary:hover,
  .btn-outline:hover,
  .btn-book-service:hover {
    transform: translateY(-2px) scale(1.01);
  }

  .footer-social-btn:hover,
  .social-link:hover {
    transform: translateY(-2px) scale(1.04);
  }

  .faq-answer {
    transition: max-height 0.28s ease, opacity 0.24s ease, margin-top 0.24s ease;
  }

  .faq-question h4::after,
  .faq-question::after {
    transition: transform 0.24s ease, color 0.24s ease;
  }

  .mobile-hero-banner img,
  .hero-banner img {
    transition: transform 0.8s ease, filter 0.35s ease;
  }

  .mobile-hero-banner:hover img,
  .hero-banner:hover img {
    transform: scale(1.01);
  }
}

.faq-item.open,
.faq-item.is-open,
.faq-item.active {
  box-shadow:
    0 12px 28px rgba(106,27,154,0.08),
    0 4px 12px rgba(216,27,96,0.06),
    inset 0 1px 0 rgba(255,255,255,0.92);
}

/* Best-practice location/booking separation */
.location-card::before,
.location-card::after,
.location-card-image::before,
.location-card-image::after,
.location-card-media::before,
.location-card-media::after {
  content: none !important;
  display: none !important;
}

.location-card img,
.location-card-image img,
.location-card-media img {
  filter: none !important;
  opacity: 1 !important;
}

.location-card-lead {
  color: #6a1b9a !important;
  font-weight: 700 !important;
}

.location-card-actions,
.location-card-btn {
  display: none !important;
}

.location-card-copy--strong {
  color: #5e6475 !important;
  font-weight: 600 !important;
}

.location-section-note {
  max-width: 860px;
  margin: -1.25rem auto 1.5rem;
  text-align: center;
  color: #6b647a;
  line-height: 1.75;
  font-weight: 500;
}

.booking-location-note {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: #6b647a;
  line-height: 1.75;
  font-weight: 500;
}

.location-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.location-card-content,
.location-card-body{
  display:flex;
  flex-direction:column;
  height:100%;
}
.location-card-title{
  margin-bottom:0.7rem !important;
}
.location-card-lead{
  margin-bottom:1rem !important;
  line-height:1.28 !important;
}
.location-card-copy--support{
  color:#6b7280 !important;
  line-height:1.62 !important;
  margin:0 0 1rem !important;
  font-weight:500 !important;
}
.location-card-copy{
  margin-bottom:0.9rem !important;
}
.location-card-meta{
  margin-top:auto !important;
}

.location-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.location-card-title{
  margin-bottom:0.5rem !important;
  line-height:1.08 !important;
}
.location-card-lead{
  min-height:4.2em;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  text-align:center;
  margin:0 0 1rem !important;
  line-height:1.28 !important;
}
.location-card-copy{
  margin:0 0 0.9rem !important;
  line-height:1.52 !important;
}
.location-card-copy--support{
  color:#6b7280 !important;
  font-weight:500 !important;
  min-height:5.2em;
}
.location-card-meta{
  margin-top:auto !important;
  line-height:1.38 !important;
}
@media (max-width: 1100px){
  .location-card-lead,
  .location-card-copy--support{
    min-height:auto;
  }
}

.location-card,
.location-card-content,
.location-card-body{
  display:flex;
  flex-direction:column;
  height:100%;
}
.location-card-title{
  margin-bottom:0.55rem !important;
  line-height:1.08 !important;
}
.location-card-lead{
  min-height:3.2em !important;
  margin:0 0 1rem !important;
  line-height:1.24 !important;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  text-align:center;
  font-weight:700 !important;
}
.location-card-copy{
  margin:0 0 0.9rem !important;
  line-height:1.48 !important;
  color:#6b7280 !important;
  min-height:3.7em;
}
.location-card-meta{
  margin-top:auto !important;
  line-height:1.38 !important;
  font-weight:700 !important;
}
.location-card-copy--support,
.location-card-copy--strong{
  display:none !important;
}
@media (max-width: 1100px){
  .location-card-lead,
  .location-card-copy{
    min-height:auto !important;
  }
}

.location-card,
.location-card-content,
.location-card-body{
  display:flex;
  flex-direction:column;
  height:100%;
}
.location-card-title{
  margin-bottom:0.55rem !important;
  line-height:1.08 !important;
}
.location-card-lead{
  min-height:3.05em !important;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  text-align:center;
  margin:0 0 0.95rem !important;
  line-height:1.24 !important;
  font-weight:700 !important;
}
.location-card-copy{
  min-height:3.45em !important;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin:0 0 0.95rem !important;
  line-height:1.5 !important;
  color:#6b7280 !important;
}
.location-card-copy strong{
  font-weight:700;
  color:#5f6778;
}
.location-card-meta{
  margin-top:auto !important;
  text-align:center;
  line-height:1.38 !important;
  font-weight:700 !important;
}
@media (max-width: 1100px){
  .location-card-lead,
  .location-card-copy{
    min-height:auto !important;
  }
}

.location-card-copy--home-range,
.location-card-copy.location-card-copy--home-range,
.location-card-copy--home,
.location-card-copy.location-card-copy--home {
  display: block !important;
  max-width: 15ch !important;
  min-height: auto !important;
  margin: 0 auto 0.95rem !important;
  text-align: center !important;
  line-height: 1.42 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.location-card-copy--home-range strong,
.location-card-copy--home strong {
  white-space: normal !important;
}

.location-card-copy {
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.location-card-meta {
  margin-top: 0.7rem !important;
}

/* Proper fix for Home Visit location card text flow */
.location-card-title + .location-card-lead + .location-card-copy,
.location-card h4 + p + p {
  word-break: normal;
}

.location-card-copy--home-range,
.location-card-copy--home,
.location-card-copy.location-card-copy--home-range,
.location-card-copy.location-card-copy--home {
  display: block !important;
  max-width: 18rem !important;
  width: auto !important;
  min-height: auto !important;
  margin: 0.35rem auto 0.9rem !important;
  text-align: center !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  letter-spacing: normal !important;
}

/* Fallback targeting for the Home Visit card's middle line */
.location-card .location-card-copy {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.location-card-copy strong,
.location-card-copy span {
  font-weight: inherit !important;
  white-space: normal !important;
}

.location-card-meta {
  margin-top: 0.85rem !important;
}

/* Slightly tighten the Home Visit card rhythm to match the others */
.location-card-title {
  margin-bottom: 0.45rem !important;
}
.location-card-lead {
  margin-bottom: 0.8rem !important;
  line-height: 1.18 !important;
}

.mobile-hero-block{display:none;}
@media (max-width: 768px){
  .hero.ecn-hero, .hero.ecn-hero::before, .hero.ecn-hero::after{background:none !important; background-image:none !important;}
  .hero.ecn-hero{min-height:auto !important; padding-top:4.35rem !important; padding-bottom:0 !important; overflow:visible !important;}
  .ecn-banner-shell, .mobile-hero-app-card, .mobile-book-now-wrap, .ecn-hero-lower, .ecn-hero-copy, .ecn-hero-buttons, .hero > .hero-banner, .hero > .hero-content{display:none !important;}
  .mobile-hero-block{display:block !important; width:100% !important; margin:0 !important; padding:0 !important; position:relative !important; z-index:5 !important; visibility:visible !important; opacity:1 !important;}
  .mobile-hero-block__banner{display:block !important; width:100% !important; height:auto !important; margin:0 !important; line-height:0 !important; position:relative !important; z-index:3 !important;}
  .mobile-hero-block__photo-wrap{position:relative !important; width:100% !important; margin:0 !important; padding-top:0.4rem !important; overflow:hidden !important; background:transparent !important;}
  .mobile-hero-block__photo{display:block !important; width:100% !important; height:auto !important; max-width:none !important; opacity:1 !important; visibility:visible !important; position:relative !important; z-index:1 !important; background:transparent !important;}
  .mobile-hero-block__cta{position:absolute !important; left:1rem !important; right:1rem !important; bottom:1.15rem !important; z-index:2 !important; display:flex !important; flex-direction:column !important; gap:0.8rem !important;}
  .mobile-hero-block__btn{display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important; min-height:56px !important; border-radius:14px !important; text-decoration:none !important; font-weight:700 !important;}
  .mobile-hero-block__btn--primary{background:#e0b548 !important; color:#000 !important;}
  .mobile-hero-block__btn--secondary{background:rgba(255,255,255,0.86) !important; color:#6f4f5a !important; border:1px solid rgba(255,255,255,0.78) !important;}
}
@media (min-width: 769px){
  .mobile-hero-block{display:none !important;}
}

/* Step 3 performance trim: preserve look, reduce paint/compositing cost */

.hero {
  background-attachment: scroll !important;
}
nav {
  backdrop-filter: blur(18px) saturate(165%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(165%) !important;
}
.glass-panel,
.glass-panel-strong,
.glass-card,
.services-category,
footer {
  backdrop-filter: blur(18px) saturate(155%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(155%) !important;
}
.hero-banner,
.mobile-hero-banner,
.service-card .btn-outline {
  backdrop-filter: blur(12px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(145%) !important;
}
@media (hover: none) and (pointer: coarse) {
  .glass-card:hover,
  .btn-primary:hover,
  .btn-outline:hover,
  .nav-links a:hover,
  .social-link:hover,
  .footer-social-btn:hover,
  .area-tag:hover,
  .testimonial-nav:hover,
  .service-card .btn-outline:hover,
  .service-card:hover .service-card-media img,
  .service-card:focus-within .service-card-media img {
    transform: none !important;
    box-shadow: inherit !important;
    filter: none !important;
  }
}
@media (max-width: 768px) {
  nav {
    backdrop-filter: blur(12px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(150%) !important;
  }
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .services-category,
  footer {
    backdrop-filter: blur(12px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(145%) !important;
  }
  .hero-banner,
  .mobile-hero-banner,
  .service-card .btn-outline {
    backdrop-filter: blur(8px) saturate(138%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(138%) !important;
  }
}

html, body{
  background: linear-gradient(135deg, #f5f5f7 0%, #ebecef 38%, #e1e2e8 68%, #f6f6f8 100%) !important;
  background-attachment: fixed !important;
  background-image: none !important;
}
body::before,
body::after{
  content: none !important;
  display: none !important;
}

/* Consolidated desktop refinements: replaces layered patch blocks without changing the intended desktop look. */
@media (min-width: 769px) {
  html{scroll-padding-top:112px;}
  section{scroll-margin-top:112px;padding-top:3.25rem !important;padding-bottom:3.25rem !important;}

  /* Hero */
  .hero{padding-top:6.6rem !important;}
  .hero-content{max-width:1120px !important;margin:0 auto !important;padding-left:1.25rem !important;padding-right:1.25rem !important;padding-bottom:4.25rem !important;}
  .hero-banner{margin-bottom:1.25rem !important;}
  .hero h1.hero-tagline{max-width:760px !important;margin:0 auto 1.15rem !important;}
  .hero p{max-width:700px !important;margin-left:auto !important;margin-right:auto !important;margin-bottom:1.5rem !important;}
  .hero-buttons{margin-bottom:1.7rem !important;gap:.9rem !important;}
  .hero-contact-bar{margin-top:.75rem !important;}

  /* Shared desktop rhythm */
  .section-heading{margin-bottom:2.15rem !important;}
  .features-grid,.services-grid,.faq-grid,.credentials-grid{align-items:stretch !important;}
  .services-grid{gap:1.35rem !important;}
  .feature-card,.service-card,.faq-item,.credential-card,.contact-card{height:100% !important;}
  .feature-card,.credential-card,.contact-card,.faq-item{padding:1.35rem !important;}
  .service-card p{line-height:1.62 !important;}
  .service-features{margin-bottom:1.2rem !important;}
  .testimonial-container{padding:2.5rem 2.25rem !important;}

  /* FAQ: click/toggle on desktop, no hover-open */
  #more-info .faq-question{cursor:pointer;user-select:none;}
  #more-info 
  #more-info 
  #more-info .faq-item.open .faq-answer{max-height:420px !important;opacity:1 !important;margin-top:.75rem !important;}
  #more-info .faq-item.open .faq-question h4::after{color:#ec4899 !important;transform:translateY(-50%) rotate(180deg) !important;}
  #more-info .faq-answer{transition:max-height .32s ease,opacity .22s ease,margin-top .22s ease !important;}

  /* About section */
  #about .about-grid{grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr) !important;align-items:stretch !important;gap:2rem !important;}
  #about .about-content,#about .about-image{height:100% !important;}
  #about .about-content{padding:2rem !important;}
  #about .about-content h3{margin-bottom:.9rem !important;}
  #about .about-content p:last-child{margin-bottom:0 !important;}
  #about .about-image{padding:.85rem !important;max-width:460px !important;justify-self:end !important;overflow:hidden !important;box-sizing:border-box !important;}
  #about .about-image .about-image-stack-v92{display:grid !important;grid-template-rows:minmax(0,1fr) minmax(0,1fr) !important;gap:1rem !important;width:100% !important;height:100% !important;}
  #about .about-image .about-image-stack-v92 .image-wrapper{width:100% !important;min-height:235px !important;height:100% !important;border-radius:18px !important;overflow:hidden !important;display:block !important;}
  #about .about-image .about-image-stack-v92 .about-image-placeholder-v92{margin:0 !important;width:100% !important;}
  #about .about-image .about-image-stack-v92 .about-image-placeholder-inner-v92{padding:0 !important;width:100% !important;}
  #about .about-image img{width:100% !important;height:100% !important;display:block !important;object-fit:cover !important;object-position:center center !important;}

  /* Contact */
  #contact .contact-grid{grid-template-columns:minmax(300px,.95fr) minmax(0,2.05fr) !important;align-items:start !important;gap:2rem !important;}

  /* Booking: preserve current non-sticky layout */
  #booking{scroll-margin-top:120px !important;padding-top:4.2rem !important;}
  #booking .section-container{display:block !important;}
  #booking .section-heading,#booking .booking-location-note,#booking .booking-reassurance-note,#booking .section-container > p{grid-column:auto !important;}
  #booking .booking-location-note,#booking .booking-reassurance-note{max-width:760px !important;margin-left:auto !important;margin-right:auto !important;}
  #booking .booking-direct-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:1.5rem !important;margin-top:2rem !important;align-items:stretch !important;}
  #booking .booking-direct-card{display:flex !important;flex-direction:column !important;gap:1rem !important;min-height:100% !important;}
  #booking .booking-card-actions{margin-top:auto !important;}
  #booking .booking-support-panel{position:static !important;top:auto !important;grid-column:auto !important;width:auto !important;margin-top:1.5rem !important;padding:1.5rem 1.75rem !important;border-radius:24px !important;display:flex !important;flex-wrap:wrap !important;align-items:center !important;justify-content:space-between !important;gap:1rem !important;align-self:auto !important;}
  #booking .booking-support-copy{max-width:44rem !important;}
  #booking .booking-support-copy h3{margin:0 0 .35rem !important;font-size:1.2rem !important;}
  #booking .booking-support-copy p{margin:0 !important;line-height:1.65 !important;}
  #booking .booking-support-actions{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;gap:.75rem !important;margin-top:0 !important;}
  #booking .booking-support-actions a{width:auto !important;min-width:0 !important;justify-content:center !important;}

  /* Footer */
  footer{padding-top:3.4rem !important;}
  .footer-top{grid-template-columns:1.5fr 1fr 1fr 1fr !important;gap:2.4rem !important;padding-bottom:2.4rem !important;}
  .footer-brand{max-width:360px !important;}
  .footer-brand p{margin-bottom:1.2rem !important;}
  .footer-column h4{margin-bottom:1rem !important;}
  .footer-contact{margin-bottom:.8rem !important;}
  .footer-bottom{padding-top:1.2rem !important;padding-bottom:1.6rem !important;}

  /* Performance / consistency */
  .glass-card,.glass-panel,.glass-panel-strong,.service-card,.faq-item,.contact-card,.credential-card,.gallery-item{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease !important;}
  @supports (content-visibility: auto) {
    #services,#home-visits,#testimonials,#more-info,#about,#contact,#booking{content-visibility:auto;contain-intrinsic-size:1px 900px;}
  }
}



.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px){
  /* Mobile-only cleanup: preserve desktop, simplify phone UX */
  html{
    -webkit-text-size-adjust: 100%;
    scroll-padding-top: 92px;
  }

  body{
    text-rendering: optimizeLegibility;
  }

  /* Keep premium look, but lighter/faster on phones */
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .feature-card,
  .service-card,
  .contact-card,
  .faq-item,
  .credential-card,
  .partner-logo,
  .booking-form,
  .footer-cta-strip,
  .map-container,
  .footer-inner,
  .nav-links,
  .mobile-menu-btn{
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .glass-card::before,
  .glass-panel::before,
  .glass-panel-strong::before,
  .feature-card::before,
  .service-card::before,
  .contact-card::before,
  .faq-item::before,
  .credential-card::before,
  .partner-logo::before,
  .booking-form::before,
  .footer-cta-strip::before,
  .map-container::before{
    opacity: 0.22 !important;
    filter: blur(8px) !important;
    inset: -4px !important;
  }

  .service-card,
  .contact-card,
  .faq-item,
  .feature-card,
  .booking-form,
  .map-container,
  .footer-inner,
  .nav-links{
    box-shadow: 0 10px 26px rgba(17,24,39,.08) !important;
  }

  .hero{
    padding-top: 96px !important;
    padding-bottom: 14px !important;
    background-attachment: scroll !important;
  }

  .hero::before{
    background:
      linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(252,228,236,0.82) 42%, rgba(248,244,252,0.88) 72%, rgba(255,255,255,0.94) 100%) !important;
  }

  .hero-content{
    padding-bottom: 1rem !important;
  }

  .section-heading{
    margin-bottom: 1.15rem !important;
  }

  .hero-buttons a,
  .btn-primary,
  .btn-outline,
  .booking-form .btn,
  .service-card .btn,
  .footer-cta-btn,
  .nav-links a{
    min-height: 52px !important;
  }

  .nav-links{
    inset: 84px 12px 14px 12px !important;
    padding: 12px !important;
    gap: 9px !important;
  }

  .nav-links a{
    box-shadow: 0 4px 14px rgba(17,24,39,.04) !important;
  }

  .booking-form input,
  .booking-form select,
  .booking-form textarea{
    font-size: 16px !important; /* avoids iOS zoom */
  }

  /* FAQ: mobile must be tap-based, not hover-based */
  

  

  .faq-question{
    cursor: pointer !important;
    user-select: none !important;
    -webkit-tap-highlight-color: transparent;
  }

  .faq-question h4::after{
    transition: transform .25s ease, color .25s ease !important;
  }

  .faq-item.open .faq-question h4::after{
    color: #ec4899 !important;
    transform: translateY(-50%) rotate(180deg) !important;
  }

  .faq-item.open .faq-answer{
    max-height: 420px !important;
    opacity: 1 !important;
    margin-top: .5rem !important;
  }

  .faq-answer{
    transition: max-height .28s ease, opacity .2s ease, margin-top .2s ease !important;
  }

  /* Lower-page performance and smoother scrolling */
  .gallery-grid .gallery-item,
  .service-card,
  .contact-card,
  .faq-item,
  .feature-card{
    transition-duration: .18s !important;
  }

  iframe{
    content-visibility: auto;
  }
}



@media (max-width: 768px) {
  html, body {
    overflow-x: clip;
  }

  section {
    padding: 2.1rem 0.9rem !important;
  }

  .section-heading {
    font-size: 1.62rem !important;
    line-height: 1.15 !important;
    margin-bottom: 1.35rem !important;
  }

  .section-subheading {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  /* Simplified mobile nav */
  nav {
    padding: 0.52rem 0 !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }

  .nav-container {
    padding: 0 0.9rem !important;
  }

  .mobile-menu-btn {
    width: 42px !important;
    height: 42px !important;
  }

  .nav-links {
    width: min(84vw, 320px) !important;
    padding: 4.7rem 1rem 1.2rem !important;
    gap: 0.45rem !important;
  }

  .nav-links a {
    min-height: 46px !important;
    font-size: 0.98rem !important;
    padding: 0.82rem 0.95rem !important;
  }

  /* Rebuilt mobile hero refinement */
  .hero {
    min-height: 24.5rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 24.5rem !important;
    padding: 0.75rem 0.85rem 0.9rem !important;
  }

  .mobile-hero-glass {
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.76) 0%,
        rgba(255,248,251,0.78) 34%,
        rgba(248,244,252,0.80) 68%,
        rgba(255,255,255,0.83) 100%
      ) !important;
    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  }

  .mobile-hero-banner {
    margin-bottom: 0.82rem !important;
    box-shadow:
      0 10px 24px rgba(31,38,135,0.08),
      inset 0 1px 0 rgba(255,255,255,0.88) !important;
  }

  .mobile-hero-copy h1 {
    font-size: 1rem !important;
    line-height: 1.18 !important;
    margin-bottom: 0.7rem !important;
    max-width: 20.5rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.7rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book {
    min-width: 120px !important;
    min-height: 48px !important;
    padding: 0.76rem 0.95rem !important;
    font-size: 0.95rem !important;
  }

  /* Safer service card and image handling */
  .mobile-service-stack .service-card,
  .services-grid .service-card {
    padding: 1.1rem !important;
    border-radius: 18px !important;
  }

  .mobile-service-stack .service-card .service-card-media,
  .services-grid .service-card .service-card-media {
    height: 170px !important;
    margin: -0.2rem -0.2rem 0.9rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .mobile-service-stack .service-card .service-card-media img,
  .services-grid .service-card .service-card-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4 {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .mobile-service-stack .service-card p,
  .services-grid .service-card p {
    font-size: 0.95rem !important;
    line-height: 1.58 !important;
  }

  .mobile-service-book-btn {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 0.96rem !important;
  }

  /* Cleaner hero-to-content transition */
  .hero + section,
  .hero + div + section {
    margin-top: 0 !important;
  }

  /* Booking and contact clarity */
  .booking-form {
    padding: 1.35rem 0.95rem !important;
  }

  .contact-card,
  .credential-card,
  .feature-card {
    padding: 1.05rem !important;
  }

  /* Footer rhythm */
  .footer-top {
    gap: 1.4rem !important;
    padding-bottom: 2rem !important;
  }

  /* Back-to-top button */
  .mobile-return-top {
    right: 14px !important;
    bottom: 16px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 480px) {
  .section-heading {
    font-size: 1.5rem !important;
  }

  .mobile-hero-rebuild,
  .hero {
    min-height: 23.8rem !important;
  }

  .mobile-hero-banner {
    padding: 6px !important;
    border-radius: 20px !important;
  }

  .mobile-hero-banner img {
    border-radius: 14px !important;
  }

  .mobile-hero-copy h1 {
    font-size: 0.97rem !important;
  }

  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 160px !important;
  }
}


/* Mobile hero embedded image layer + frosted glass overlay */
@media (max-width: 768px) {
  .hero {
    background: none !important;
  }

  .mobile-hero-rebuild {
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
    display: block !important;
    filter: saturate(0.92) brightness(1.02) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.74) 0%,
      rgba(255,248,251,0.76) 34%,
      rgba(248,244,252,0.79) 68%,
      rgba(255,255,255,0.82) 100%
    ) !important;
    backdrop-filter: blur(16px) saturate(128%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(128%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }
}


/* Mobile hero visibility + top gap fix */
@media (max-width: 768px) {
  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 25.2rem !important;
  }

  .mobile-hero-rebuild {
    min-height: 25.2rem !important;
    padding-top: 0.55rem !important;
  }

  /* Remove the white gap by making the image layer reach the very top */
  .mobile-hero-bg,
  .mobile-hero-glass {
    top: 0 !important;
  }

  /* Make the woman's face more visible */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(0.96) brightness(1.01) !important;
    transform: scale(1.05);
}

  /* Reduce the frosted fade slightly so the image shows through more */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.62) 0%,
      rgba(255,248,251,0.66) 34%,
      rgba(248,244,252,0.70) 68%,
      rgba(255,255,255,0.74) 100%
    ) !important;
    backdrop-filter: blur(14px) saturate(124%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(124%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.6rem !important;
  }

  .mobile-hero-rebuild {
    padding-top: 0.45rem !important;
  }

  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero stronger image visibility tweak */
@media (max-width: 768px) {

  /* Show more of the face in frame */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.0) brightness(1.02) contrast(1.02) !important;
    transform: scale(1.05);
}

  /* Reduce frosted overlay strength so the image is clearer */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.48) 0%,
      rgba(255,248,251,0.52) 34%,
      rgba(248,244,252,0.58) 68%,
      rgba(255,255,255,0.62) 100%
    ) !important;

    backdrop-filter: blur(12px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}
}


/* Mobile hero fine-tuning: face position, glass strength, brightness */
@media (max-width: 768px) {
  .mobile-hero-bg img {
    /* bring face slightly further into view */
    object-position: top center;
    /* brighten and define the face a little more under glass */
    filter: saturate(1.03) brightness(1.05) contrast(1.05) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    /* slightly lighter glass so image reads better, still frosted */
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.42) 0%,
      rgba(255,248,251,0.46) 34%,
      rgba(248,244,252,0.52) 68%,
      rgba(255,255,255,0.57) 100%
    ) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(115%) !important;
  }

  .mobile-hero-banner {
    /* keep banner crisp and premium against the lighter glass */
    box-shadow:
      0 10px 28px rgba(31,38,135,0.09),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 480px) {
  .mobile-hero-bg img {
    object-position: top center;
    transform: scale(1.05);
}

  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.40) 0%,
      rgba(255,248,251,0.44) 34%,
      rgba(248,244,252,0.50) 68%,
      rgba(255,255,255,0.55) 100%
    ) !important;
  }
}


/* Mobile hero final visibility + soft section transition */
@media (max-width: 768px) {

  /* Make the hero image much clearer */
  .mobile-hero-bg img {
    object-position: top center;
    filter: saturate(1.06) brightness(1.08) contrast(1.08) !important;
    transform: scale(1.05);
}

  /* Much lighter glass so image shows clearly */
  .mobile-hero-glass {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.32) 0%,
      rgba(255,248,251,0.36) 35%,
      rgba(248,244,252,0.42) 70%,
      rgba(255,255,255,0.50) 100%
    ) !important;

    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
  }

  /* Soft shadow fade into next section */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 90px;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.15) 0%,
      rgba(0,0,0,0.08) 35%,
      rgba(0,0,0,0.03) 65%,
      rgba(0,0,0,0) 100%
    );
    z-index: 2;
  }

  /* Lift hero content slightly so shadow feels natural */
  .mobile-hero-inner {
    padding-bottom: 1rem !important;
  }
}


/* Refined hero lift shadow (shorter + elevated look) */
@media (max-width: 768px) {

  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 34px; /* much shorter */
    pointer-events: none;
    z-index: 2;

    /* soft lift shadow instead of tall fade */
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.04) 70%,
      rgba(0,0,0,0) 100%
    );
  }

  /* add subtle inner highlight so hero looks raised */
  .mobile-hero-rebuild {
    box-shadow:
      0 10px 24px rgba(0,0,0,0.10),
      0 2px 6px rgba(0,0,0,0.06);
  }

}


/* Mobile hero text spacing + refined shadow */
@media (max-width: 768px) {
  .mobile-hero-rebuild {
    min-height: 25.1rem !important;
    padding-top: 0.95rem !important;
  }

  .mobile-hero-inner {
    padding-top: 0.15rem !important;
    padding-bottom: 0.55rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1.15rem !important;
  }

  .mobile-hero-copy {
    padding-top: 0.2rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 23rem !important;
    line-height: 1.16 !important;
    margin: 0 auto 1rem !important;
  }

  .mobile-hero-copy h1 br {
    display: none !important;
  }

  .mobile-hero-copy h1 span {
    display: block !important;
    margin-top: 0.22rem !important;
  }

  .mobile-hero-buttons {
    margin-top: 0.1rem !important;
    gap: 0.9rem !important;
  }

  /* More natural elevated edge instead of a dark strip */
  .mobile-hero-rebuild::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0) 0%,
      rgba(164,140,150,0.14) 42%,
      rgba(110,95,105,0.12) 68%,
      rgba(80,70,78,0.08) 82%,
      rgba(255,255,255,0) 100%
    );
  }

  .mobile-hero-rebuild {
    box-shadow:
      0 14px 26px rgba(62,46,56,0.10),
      0 4px 10px rgba(62,46,56,0.06);
  }
}

@media (max-width: 480px) {
  .mobile-hero-rebuild {
    min-height: 24.7rem !important;
    padding-top: 0.82rem !important;
  }

  .mobile-hero-banner {
    margin-bottom: 1rem !important;
  }

  .mobile-hero-copy h1 {
    max-width: 21.5rem !important;
    margin-bottom: 0.92rem !important;
  }

  .mobile-hero-buttons {
    gap: 0.78rem !important;
  }
}


/* Move CTA buttons lower and match main-site hero button style */
@media (max-width: 768px) {

  /* Push buttons down so face is visible */
  .mobile-hero-buttons{
    margin-top: 2.2rem !important;
  }

  /* Match main hero button style */
  .mobile-hero-buttons a,
  .mobile-hero-buttons button{
    padding: 14px 28px !important;
    border-radius: 32px !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background: rgba(255,255,255,0.85) !important;
    backdrop-filter: blur(6px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(110%) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
      0 10px 22px rgba(40,20,40,0.15),
      inset 0 1px 0 rgba(255,255,255,0.65);
  }

  .mobile-hero-buttons a:hover,
  .mobile-hero-buttons button:hover{
    transform: translateY(-1px);
    box-shadow:
      0 14px 26px rgba(40,20,40,0.18),
      inset 0 1px 0 rgba(255,255,255,0.7);
  }
}


/* Match full-site hero button shape + hover */
@media (max-width:768px){

.mobile-hero-buttons a,
.mobile-hero-buttons button{
  border-radius:40px !important;
  padding:16px 32px !important;
  font-weight:600 !important;
  background:rgba(255,255,255,0.9) !important;
  border:1px solid rgba(255,255,255,0.7) !important;
  box-shadow:0 12px 28px rgba(40,20,40,0.16),
             inset 0 1px 0 rgba(255,255,255,0.7);
  transition:all .25s ease !important;
}

/* Same hover feel as main site */
.mobile-hero-buttons a:hover,
.mobile-hero-buttons button:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 34px rgba(40,20,40,0.22),
             inset 0 1px 0 rgba(255,255,255,0.85);
}

}


/* Global glass effect for white cards/sections on mobile */
@media (max-width:768px){

/* Generic cards */
.card,
.service-card,
.review-card,
.faq-card,
.info-card,
.mobile-card{
    background: rgba(255,255,255,0.55) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    border:1px solid rgba(255,255,255,0.6) !important;
    box-shadow:
        0 12px 30px rgba(40,20,40,0.12),
        inset 0 1px 0 rgba(255,255,255,0.7);
}

/* Any obvious white panels */
section[style*="background:#fff"],
section[style*="background: #fff"],
.white-panel,
.white-section{
    background: rgba(255,255,255,0.5) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
}

/* soften edges so glass feels premium */
.card,
.service-card,
.review-card,
.faq-card{
    border-radius:18px !important;
}

}


/* Mobile premium glass polish: edge highlights, section depth, page gradient */
@media (max-width:768px){

  /* Subtle premium page backdrop */
  body{
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 30%),
      radial-gradient(circle at top right, rgba(252,228,236,0.35) 0%, rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f8f3f8 0%, #f4eef5 45%, #f7f2f8 100%) !important;
    background-attachment: fixed !important;
  }

  /* Stronger glass edge highlights */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    position: relative;
    overflow: hidden;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      linear-gradient(
        135deg,
        rgba(255,255,255,0.34) 0%,
        rgba(255,255,255,0.12) 22%,
        rgba(255,255,255,0.00) 45%,
        rgba(255,255,255,0.10) 78%,
        rgba(255,255,255,0.22) 100%
      );
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.60),
      inset 0 -1px 0 rgba(255,255,255,0.18);
  }

  /* Add subtle depth between sections */
  section{
    position:relative;
  }

  section + section{
    margin-top: 0.4rem !important;
  }

  section + section::before{
    content:"";
    position:absolute;
    left: 1rem;
    right: 1rem;
    top: -0.35rem;
    height: 1px;
    background: linear-gradient(
      90deg,
      rgba(255,255,255,0) 0%,
      rgba(214,184,220,0.18) 15%,
      rgba(255,255,255,0.35) 50%,
      rgba(214,184,220,0.18) 85%,
      rgba(255,255,255,0) 100%
    );
    pointer-events:none;
  }

  section + section::after{
    content:"";
    position:absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: -0.05rem;
    height: 14px;
    background: linear-gradient(
      to bottom,
      rgba(86,64,96,0.06) 0%,
      rgba(86,64,96,0.02) 45%,
      rgba(86,64,96,0.00) 100%
    );
    pointer-events:none;
  }

  /* Slightly richer card depth */
  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card{
    box-shadow:
      0 14px 32px rgba(40,20,40,0.10),
      0 4px 10px rgba(40,20,40,0.05),
      inset 0 1px 0 rgba(255,255,255,0.72) !important;
  }
}


/* Mobile-wide glass morphism + neumorphism pass */
@media (max-width:768px){
  :root{
    --mobile-glass-bg: linear-gradient(145deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 52%, rgba(255,255,255,0.58) 100%);
    --mobile-glass-border: rgba(255,255,255,0.72);
    --mobile-glass-shadow:
      16px 16px 34px rgba(164, 142, 173, 0.18),
      -10px -10px 24px rgba(255,255,255,0.72),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.18);
    --mobile-glass-shadow-soft:
      10px 10px 24px rgba(164, 142, 173, 0.14),
      -8px -8px 18px rgba(255,255,255,0.7),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  body{
    background:
      radial-gradient(circle at 0% 0%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.0) 32%),
      radial-gradient(circle at 100% 0%, rgba(247,225,236,0.48) 0%, rgba(247,225,236,0.0) 28%),
      radial-gradient(circle at 50% 100%, rgba(232,222,246,0.35) 0%, rgba(232,222,246,0.0) 34%),
      linear-gradient(180deg, #f8f4fa 0%, #f3edf6 45%, #f7f2f8 100%) !important;
  }

  section,
  footer{
    position: relative;
  }

  section::after,
  footer::after{
    content: "";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.6), rgba(208,180,219,0.35), rgba(255,255,255,0));
    pointer-events: none;
  }

  .card,
  .service-card,
  .review-card,
  .faq-card,
  .info-card,
  .mobile-card,
  .glass-panel,
  .glass-panel-strong,
  .glass-card,
  .faq-item,
  .contact-card,
  .pricing-card,
  .feature-card,
  .booking-card,
  .testimonial-card,
  .clinic-card,
  .home-visit-card,
  .service-box,
  .stat-card,
  .benefit-card,
  [class*="card"],
  [class*="panel"]{
    background: var(--mobile-glass-bg) !important;
    backdrop-filter: blur(18px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(145%) !important;
    border: 1px solid var(--mobile-glass-border) !important;
    box-shadow: var(--mobile-glass-shadow) !important;
    border-radius: 22px !important;
  }

  .card::before,
  .service-card::before,
  .review-card::before,
  .faq-card::before,
  .info-card::before,
  .mobile-card::before,
  .faq-item::before,
  .contact-card::before,
  .pricing-card::before,
  .feature-card::before,
  .booking-card::before,
  .testimonial-card::before,
  .clinic-card::before,
  .home-visit-card::before,
  .service-box::before,
  .stat-card::before,
  .benefit-card::before,
  [class*="card"]::before,
  [class*="panel"]::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
      linear-gradient(135deg,
        rgba(255,255,255,0.52) 0%,
        rgba(255,255,255,0.18) 18%,
        rgba(255,255,255,0.02) 46%,
        rgba(255,255,255,0.10) 75%,
        rgba(255,255,255,0.30) 100%);
    opacity: 0.95;
  }

  .btn-primary,
  .btn-outline,
  .mobile-hero-buttons a,
  .mobile-hero-buttons button,
  button,
  .button,
  [type="submit"],
  [role="button"]{
    border: 1px solid rgba(255,255,255,0.78) !important;
    backdrop-filter: blur(16px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
    box-shadow: var(--mobile-glass-shadow-soft) !important;
  }

  .btn-outline,
  button:not(.btn-primary),
  .button:not(.btn-primary),
  input,
  textarea,
  select{
    background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,241,251,0.72)) !important;
  }

  .mobile-hero,
  .hero-mobile,
  .mobile-hero-overlay,
  .hero-banner,
  .mobile-hero-banner,
  .hero-content{
    position: relative;
  }

  .mobile-hero::before,
  .hero-mobile::before,
  .mobile-hero-overlay::before,
  .hero-banner::before,
  .mobile-hero-banner::before,
  .hero-content::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 40%, rgba(255,255,255,0.16) 100%);
    pointer-events: none;
  }

  .icon-bubble,
  .icon-wrap,
  .service-icon,
  .feature-icon,
  .benefit-icon,
  .contact-icon,
  [class*="icon"]{
    box-shadow:
      8px 8px 18px rgba(168,146,177,0.15),
      -6px -6px 14px rgba(255,255,255,0.82),
      inset 0 1px 0 rgba(255,255,255,0.9) !important;
    border: 1px solid rgba(255,255,255,0.62);
  }

  .faq-question,
  .review-card blockquote,
  .card p,
  .service-card p,
  .review-card p,
  .faq-card p,
  .info-card p{
    position: relative;
    z-index: 1;
  }
}



/* Mobile readability + layout polish pass */
@media (max-width: 768px) {
  html {
    font-size: 15px !important;
  }

  body {
    overflow-x: hidden !important;
  }

  section {
    padding: 2rem 0.85rem !important;
  }

  .section-container,
  .nav-container,
  .footer-inner,
  .footer-bottom,
  .booking-form,
  .welcome-content,
  .news-box,
  .testimonial-container,
  .about-content,
  .contact-grid,
  .contact-info-stack,
  .values-grid,
  .credentials-grid,
  .features-grid,
  .features-grid-2,
  .services-grid,
  .home-visits-grid,
  .other-services-content,
  .faq-grid,
  .gallery-grid,
  .booking-direct-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .service-card,
  .feature-card,
  .contact-card,
  .credential-card,
  .faq-item,
  .booking-direct-card,
  .about-content,
  .testimonial-container,
  .news-box,
  .welcome-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .features-grid,
  .features-grid-2,
  .credentials-grid,
  .values-grid,
  .faq-grid,
  .gallery-grid,
  .booking-direct-grid,
  .services-grid,
  .home-visits-grid,
  .other-services-content,
  .contact-photo-grid,
  .benefits-list {
    grid-template-columns: 1fr !important;
    gap: 0.9rem !important;
  }

  .service-card,
  .feature-card,
  .contact-card,
  .credential-card,
  .faq-item,
  .booking-direct-card {
    border-radius: 18px !important;
  }

  .service-header {
    gap: 0.6rem !important;
    align-items: flex-start !important;
  }

  .service-header h4,
  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4,
  .booking-card-top h4,
  .contact-card h4,
  .credential-card h4,
  .feature-card h3,
  .faq-question h4 {
    font-size: 1rem !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    padding-right: 0.85rem !important;
  }

  .service-price,
  .booking-card-price {
    font-size: 1.45rem !important;
    line-height: 1 !important;
    margin-left: 0.35rem !important;
    flex-shrink: 0 !important;
  }

  .service-card p,
  .mobile-service-stack .service-card p,
  .services-grid .service-card p,
  .faq-answer p,
  .credential-card p,
  .feature-card p,
  .contact-card p,
  .contact-card a,
  .about-content p,
  .welcome-content p,
  .news-box p,
  .booking-direct-card p,
  .hero-local-seo,
  .booking-location-note,
  .booking-reassurance-note,
  .booking-trust-note,
  .booking-availability-note,
  .value-item,
  .benefit-item,
  .service-list-item,
  .service-features li {
    font-size: 0.94rem !important;
    line-height: 1.62 !important;
    overflow-wrap: anywhere !important;
  }

  .service-duration,
  .booking-card-duration,
  .section-subheading,
  .testimonial-date,
  .form-note,
  .form-alt,
  .contact-card small {
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
  }

  .service-card .btn,
  .service-card .btn-primary,
  .service-card .btn-outline,
  .btn-primary,
  .btn-outline,
  .btn-book-service,
  .mobile-service-book-btn,
  .whatsapp-cta .btn-whatsapp {
    min-height: 52px !important;
    padding: 0.9rem 1rem !important;
    font-size: 0.98rem !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  .service-card .service-card-media,
  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 185px !important;
    margin-left: -0.25rem !important;
    margin-right: -0.25rem !important;
  }

  .hero-contact-bar,
  .service-list-item,
  .booking-card-top,
  .contact-card-inner {
    gap: 0.75rem !important;
  }

  .booking-card-top,
  .service-list-item {
    align-items: flex-start !important;
  }

  .testimonial-quote {
    font-size: 1.12rem !important;
    line-height: 1.55 !important;
  }

  .hero h1,
  .hero h1.hero-tagline,
  .mobile-hero-copy h1 {
    font-size: 1.08rem !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
  }

  .hero p,
  .mobile-hero-copy p {
    font-size: 0.96rem !important;
    line-height: 1.6 !important;
  }

  .section-heading,
  .welcome-content h2,
  .news-box h2,
  .about-content h3,
  .category-header h3 {
    font-size: 1.55rem !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 480px) {
  section {
    padding-left: 0.72rem !important;
    padding-right: 0.72rem !important;
  }

  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .service-card,
  .feature-card,
  .contact-card,
  .credential-card,
  .faq-item,
  .booking-direct-card,
  .about-content,
  .testimonial-container,
  .news-box,
  .welcome-content {
    padding-left: 0.9rem !important;
    padding-right: 0.9rem !important;
  }

  .service-header h4,
  .mobile-service-stack .service-card .service-header h4,
  .services-grid .service-card .service-header h4,
  .booking-card-top h4,
  .faq-question h4 {
    font-size: 0.97rem !important;
  }

  .service-card p,
  .mobile-service-stack .service-card p,
  .services-grid .service-card p,
  .faq-answer p,
  .credential-card p,
  .feature-card p,
  .contact-card p,
  .contact-card a,
  .about-content p,
  .welcome-content p,
  .news-box p,
  .booking-direct-card p,
  .hero p,
  .mobile-hero-copy p,
  .hero-local-seo,
  .booking-location-note,
  .booking-reassurance-note,
  .booking-trust-note,
  .booking-availability-note,
  .value-item,
  .benefit-item,
  .service-list-item,
  .service-features li {
    font-size: 0.91rem !important;
  }

  .service-price,
  .booking-card-price {
    font-size: 1.32rem !important;
  }

  .service-card .service-card-media,
  .services-grid .service-card .service-card-media,
  .mobile-service-stack .service-card .service-card-media {
    height: 172px !important;
  }
}



.mobile-hero-mini{display:none;}
@media (max-width: 768px){
  .hero{
    position:relative !important;
    display:block !important;
    min-height:auto !important;
    padding:5.25rem 1rem 1.25rem !important;
    background-image:url('hero.webp') !important;
    background-size:cover !important;
    background-position:center 78% !important;
    background-repeat:no-repeat !important;
    background-attachment:scroll !important;
    overflow:hidden !important;
  }
  .hero::before{
    content:'' !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.10) 22%, rgba(255,255,255,0.14) 52%, rgba(255,255,255,0.78) 100%) !important;
    z-index:0 !important;
  }
  .hero > .mobile-hero-rebuild,
  .hero > .hero-banner,
  .hero > .hero-content{
    display:none !important;
  }
  .hero > .mobile-hero-mini{
    display:block !important;
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    margin:0 !important;
  }
  .mobile-hero-mini__sheet{
    padding:1rem 1rem 1.15rem !important;
    border-radius:26px !important;
    background:linear-gradient(180deg, rgba(255,255,255,0.34) 0%, rgba(255,255,255,0.22) 45%, rgba(255,255,255,0.40) 100%) !important;
    border:1px solid rgba(255,255,255,0.68) !important;
    box-shadow:0 18px 48px rgba(106,27,154,0.14), inset 0 1px 0 rgba(255,255,255,0.65) !important;
    backdrop-filter:blur(14px) saturate(145%) !important;
    -webkit-backdrop-filter:blur(14px) saturate(145%) !important;
  }
  .mobile-hero-mini__banner{
    margin:0 0 1rem !important;
    padding:0.35rem !important;
    border-radius:22px !important;
    background:rgba(255,255,255,0.42) !important;
    border:1px solid rgba(255,255,255,0.76) !important;
    box-shadow:0 8px 22px rgba(80,40,100,0.12) !important;
  }
  .mobile-hero-mini__banner img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    border-radius:18px !important;
  }
  .mobile-hero-mini__copy{
    text-align:center !important;
    padding:0.15rem 0.35rem 0 !important;
  }
  .mobile-hero-mini__copy h1{
    margin:0 0 0.5rem !important;
    font-family:'Playfair Display', serif !important;
    font-size:clamp(2rem, 7vw, 2.55rem) !important;
    line-height:1.08 !important;
    color:#5b2085 !important;
    text-shadow:0 2px 12px rgba(255,255,255,0.38) !important;
  }
  .mobile-hero-mini__subtitle{
    margin:0 0 0.55rem !important;
    font-family:'Outfit', sans-serif !important;
    font-size:clamp(1.3rem, 5.6vw, 1.75rem) !important;
    line-height:1.12 !important;
    font-weight:800 !important;
    background:linear-gradient(135deg, #7b2cbf 0%, #d81b60 100%) !important;
    -webkit-background-clip:text !important;
    -webkit-text-fill-color:transparent !important;
    background-clip:text !important;
  }
  .mobile-hero-mini__trust{
    margin:0 !important;
    font-size:0.98rem !important;
    line-height:1.45 !important;
    color:#4f5565 !important;
    font-weight:600 !important;
  }
  .mobile-hero-mini__actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:0.85rem !important;
    margin-top:1rem !important;
  }
  .mobile-hero-mini__actions a{
    min-height:56px !important;
    width:100% !important;
    padding:0.95rem 1rem !important;
    border-radius:999px !important;
    font-size:1.05rem !important;
    font-weight:800 !important;
    text-align:center !important;
    justify-content:center !important;
    box-shadow:0 10px 28px rgba(106,27,154,0.20) !important;
  }
  .mobile-hero-mini__actions .btn-outline{
    background:rgba(255,255,255,0.86) !important;
    color:#5a1a8a !important;
    border:2px solid rgba(106,27,154,0.25) !important;
    box-shadow:0 8px 22px rgba(60,40,90,0.10) !important;
  }
}
@media (max-width: 420px){
  .mobile-hero-mini__sheet{padding:0.9rem 0.9rem 1rem !important;}
  .mobile-hero-mini__actions{grid-template-columns:1fr !important;}
}



.mobile-hero-final{display:none;}
@media (min-width: 769px){
  .mobile-hero-final{display:none !important;}
}
@media (max-width: 768px){
  .hero{
    background:none !important;
    background-image:none !important;
    min-height:auto !important;
    padding:0 !important;
    margin:0 !important;
    display:block !important;
    position:relative !important;
  }
  .hero::before,
  .hero::after{
    display:none !important;
    content:none !important;
    background:none !important;
  }
  .hero > .hero-banner,
  .hero > .hero-content,
  .hero > .mobile-hero-opt1,
  .hero > .mobile-hero-mini,
  .hero > .mobile-hero-rebuild{
    display:none !important;
  }
  .hero > .mobile-hero-final{
    display:block !important;
    position:relative !important;
    z-index:3 !important;
    margin:0 !important;
    width:100% !important;
  }
  .mobile-hero-final__media{
    position:relative !important;
    width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    border-radius:0 !important;
    overflow:hidden !important;
    min-height:26rem !important;
    box-shadow:none !important;
    background:#efe7e7 !important;
  }
  .mobile-hero-final__media > img{
    width:100% !important;
    height:26rem !important;
    object-fit:cover !important;
    object-position:center 22% !important;
    display:block !important;
  }
  .mobile-hero-final__overlay{
    position:absolute !important;
    inset:auto 0 0 0 !important;
    padding:1rem 1.1rem 1rem !important;
    background:linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,250,249,0.45) 22%, rgba(249,240,238,0.88) 55%, rgba(246,238,237,0.97) 100%) !important;
    backdrop-filter:blur(4px) !important;
    -webkit-backdrop-filter:blur(4px) !important;
    text-align:center !important;
  }
  .mobile-hero-final__logo{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:58px !important;
    padding:0.95rem 1.5rem !important;
    margin:0 auto 1rem !important;
    border-radius:999px !important;
    background:rgba(255,255,255,0.68) !important;
    border:1px solid rgba(255,255,255,0.85) !important;
    box-shadow:0 8px 24px rgba(72,54,97,0.10), inset 0 1px 0 rgba(255,255,255,0.9) !important;
    font-family:'Outfit', sans-serif !important;
    letter-spacing:0.18em !important;
    font-weight:700 !important;
    font-size:0.9rem !important;
    color:#56486d !important;
  }
  .mobile-hero-final__overlay h1{
    margin:0 0 0.65rem !important;
    font-family:'Playfair Display', serif !important;
    font-size:2.15rem !important;
    line-height:1.02 !important;
    color:#48506b !important;
    text-shadow:0 1px 0 rgba(255,255,255,0.6) !important;
  }
  .mobile-hero-final__overlay p{
    margin:0 auto !important;
    max-width:18rem !important;
    font-family:'Outfit', sans-serif !important;
    font-size:1rem !important;
    line-height:1.45 !important;
    color:#55607b !important;
  }
}
@media (max-width: 420px){
  .mobile-hero-final__media{
    min-height:25rem !important;
  }
  .mobile-hero-final__media > img{
    height:25rem !important;
    object-position:center 20% !important;
  }
  .mobile-hero-final__overlay h1{
    font-size:2rem !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (max-width: 768px){
  .mobile-sticky-bar{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    grid-template-columns:none !important;
  }

  .mobile-sticky-bar__call{
    width:100% !important;
    max-width:320px !important;
  }

  #mobileReturnTop{
    position:fixed !important;
    right:14px !important;
    bottom:86px !important;
    width:46px !important;
    height:46px !important;
    border-radius:999px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-decoration:none !important;
    background:linear-gradient(135deg,#6a1b9a 0%, #d81b60 100%) !important;
    color:#ffffff !important;
    font-size:24px !important;
    font-weight:700 !important;
    line-height:1 !important;
    box-shadow:0 10px 24px rgba(106,27,154,0.24), 0 4px 10px rgba(216,27,96,0.12) !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(12px) !important;
    transition:opacity 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease !important;
    z-index:10040 !important;
  }

  #mobileReturnTop.show{
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
  }

  #mobileReturnTop:hover,
  #mobileReturnTop:active{
    box-shadow:0 14px 28px rgba(106,27,154,0.30), 0 6px 14px rgba(216,27,96,0.16) !important;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (min-width: 769px){
  .hero::before{
    background:
      linear-gradient(180deg, rgba(36,16,57,0.10) 0%, rgba(61,28,89,0.18) 22%, rgba(255,255,255,0.36) 54%, rgba(255,255,255,0.72) 100%) !important;
  }

  .hero-content{
    width: min(1080px, calc(100% - 2rem)) !important;
    margin: 1rem auto 2.4rem !important;
    padding: 1.2rem 1.35rem 1.45rem !important;
    border-radius: 34px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.10) 16%, rgba(255,255,255,0.42) 55%, rgba(255,255,255,0.68) 100%) !important;
    backdrop-filter: blur(18px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(135%) !important;
    border: 1px solid rgba(255,255,255,0.38) !important;
    box-shadow:
      0 28px 72px rgba(34,16,53,0.18),
      0 10px 28px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.55) !important;
  }

  .hero-banner.hero-banner--hero{
    max-width: 940px !important;
    margin: 0 auto 1.3rem !important;
    box-shadow:
      0 16px 44px rgba(22,8,35,0.20),
      0 6px 18px rgba(216,27,96,0.12),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.36) !important;
  }

  .hero h1.hero-tagline{
    max-width: 760px !important;
    margin: 0 auto 0.8rem !important;
    color: #fffdfd !important;
    text-shadow:
      0 16px 36px rgba(26,8,41,0.42),
      0 6px 14px rgba(26,8,41,0.28),
      0 1px 1px rgba(255,255,255,0.16) !important;
  }

  .hero h1.hero-tagline br{ display:none !important; }

  .hero h1.hero-tagline span{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-top: 0.8rem !important;
    padding: 0.64rem 1.15rem !important;
    border-radius: 999px !important;
    color: #4b2272 !important;
    -webkit-text-fill-color: #4b2272 !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.96) 0%, rgba(250,242,255,0.92) 100%) !important;
    border: 1px solid rgba(255,255,255,0.92) !important;
    box-shadow:
      0 10px 26px rgba(31,13,49,0.18),
      inset 0 1px 0 rgba(255,255,255,0.96) !important;
    text-shadow: none !important;
  }

  .hero-local-seo{
    max-width: 780px !important;
    margin: 0.95rem auto 1.55rem !important;
    padding: 0.9rem 1.2rem !important;
    color: #fffdfd !important;
    font-weight: 550 !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, rgba(78,38,112,0.42) 0%, rgba(106,27,154,0.30) 100%) !important;
    border: 1px solid rgba(255,255,255,0.26) !important;
    box-shadow: 0 14px 30px rgba(31,13,49,0.16) !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.18) !important;
  }

  .hero-buttons{
    gap: 1rem !important;
    margin-bottom: 1.35rem !important;
  }

  .hero-cta-stack{
    min-width: 250px;
  }

  .hero-cta-note{
    color: #fffdfd !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.22) !important;
  }

  .hero-reassurance-strip{
    max-width: 980px !important;
    margin: 0.35rem auto 0 !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.74) 0%, rgba(255,255,255,0.58) 100%) !important;
    box-shadow:
      0 18px 42px rgba(31,13,49,0.12),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }
}

@media (max-width: 768px){
  .hero{
    padding: 5rem 0.8rem 1.05rem !important;
    background-position: center 74% !important;
  }

  .hero > .mobile-hero-final{
    display: block !important;
    margin: 0 auto 0.95rem !important;
    width: min(100%, 430px) !important;
  }

  .mobile-hero-final__media{
    min-height: 30rem !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    box-shadow:
      0 24px 54px rgba(26,8,41,0.20),
      0 8px 24px rgba(106,27,154,0.14) !important;
  }

  .mobile-hero-final__media > img{
    object-position: center 42% !important;
    transform: scale(1.03);
    filter: saturate(1.02) brightness(0.98) contrast(1.03) !important;
  }

  .mobile-hero-final__overlay{
    inset: auto 0 0 0 !important;
    padding: 1.15rem 1rem 1.1rem !important;
    background:
      linear-gradient(180deg, rgba(33,12,49,0.05) 0%, rgba(33,12,49,0.32) 18%, rgba(33,12,49,0.72) 100%) !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    min-height: 53% !important;
  }

  .mobile-hero-final__logo{
    margin-bottom: 0.65rem !important;
    padding: 0.44rem 0.82rem !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.16) !important;
    border: 1px solid rgba(255,255,255,0.22) !important;
    color: #fff !important;
    letter-spacing: 0.12em !important;
    box-shadow: 0 10px 28px rgba(0,0,0,0.18) !important;
  }

  .mobile-hero-final__overlay h1{
    max-width: 15.5rem !important;
    margin: 0 auto 0.55rem !important;
    color: #ffffff !important;
    font-size: 2.02rem !important;
    line-height: 1.02 !important;
    letter-spacing: -0.03em !important;
    text-shadow:
      0 10px 28px rgba(0,0,0,0.32),
      0 3px 8px rgba(0,0,0,0.18) !important;
  }

  .mobile-hero-final__overlay p{
    max-width: 16.8rem !important;
    margin: 0 auto !important;
    padding: 0.78rem 0.9rem !important;
    color: #fff !important;
    font-size: 0.97rem !important;
    line-height: 1.42 !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.10) 100%) !important;
    border: 1px solid rgba(255,255,255,0.22) !important;
    backdrop-filter: blur(10px) saturate(125%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(125%) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,0.16) !important;
  }

  .hero-content{
    padding: 0.95rem 0.85rem 1rem !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.62) 0%, rgba(255,255,255,0.78) 100%) !important;
    box-shadow: 0 16px 38px rgba(31,13,49,0.10) !important;
  }

  .hero-banner.hero-banner--hero{
    max-width: 100% !important;
    margin: 0 auto 0.9rem !important;
    padding: 6px !important;
    border-radius: 22px !important;
  }

  .hero h1.hero-tagline{
    max-width: 15.4rem !important;
    margin: 0 auto 0.68rem !important;
    color: #4a245f !important;
    font-size: 1.54rem !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em !important;
    text-wrap: balance;
  }

  .hero h1.hero-tagline span{
    display: inline-flex !important;
    margin-top: 0.58rem !important;
    padding: 0.5rem 0.88rem !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%) !important;
    box-shadow: 0 12px 30px rgba(106,27,154,0.20) !important;
  }

  .hero-local-seo{
    max-width: 20rem !important;
    margin: 0.72rem auto 1rem !important;
    padding: 0 !important;
    color: #5b5568 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  .hero-buttons{
    flex-direction: column !important;
    gap: 0.82rem !important;
    margin-bottom: 0.8rem !important;
  }

  .hero-cta-stack{ width: 100% !important; }

  .hero-cta-stack a{
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
  }

  .hero-cta-note{
    color: #645f72 !important;
  }

  .hero-reassurance-strip{
    padding: 0.95rem 0.9rem !important;
    gap: 0.55rem !important;
  }

  .mobile-hero-trustline{ display:none !important; }
}

@media (max-width: 420px){
  .mobile-hero-final__media{ min-height: 28.8rem !important; }
  .mobile-hero-final__overlay h1{ font-size: 1.86rem !important; max-width: 14.4rem !important; }
  .hero h1.hero-tagline{ font-size: 1.42rem !important; max-width: 14.8rem !important; }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

@media (min-width: 769px){
  .hero-content{
    width: min(1080px, calc(100% - 2rem)) !important;
    margin: 1rem auto 2.4rem !important;
    padding: 1.35rem 1.35rem 1.55rem !important;
  }

  .hero h1.hero-tagline{
    max-width: 860px !important;
    margin: 0 auto 0.95rem !important;
    font-size: clamp(2.6rem, 4.15vw, 3.95rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.035em !important;
    color: #fffdfd !important;
    text-shadow:
      0 18px 36px rgba(26,8,41,0.30),
      0 8px 18px rgba(26,8,41,0.18),
      0 1px 0 rgba(255,255,255,0.18) !important;
  }

  .hero h1.hero-tagline span{
    display: block !important;
    margin-top: 0.38rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fffdfd !important;
    -webkit-text-fill-color: #fffdfd !important;
    font-family: 'Playfair Display', serif !important;
    font-size: clamp(2rem, 3.2vw, 2.8rem) !important;
    font-weight: 700 !important;
    line-height: 1.02 !important;
    letter-spacing: -0.03em !important;
    text-shadow:
      0 18px 36px rgba(26,8,41,0.30),
      0 8px 18px rgba(26,8,41,0.18),
      0 1px 0 rgba(255,255,255,0.18) !important;
  }

  .hero-local-seo{
    max-width: 820px !important;
    margin: 1rem auto 1.55rem !important;
    padding: 1rem 1.35rem !important;
    color: #433b52 !important;
    font-weight: 600 !important;
    border-radius: 24px !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.70) 0%, rgba(255,255,255,0.42) 100%) !important;
    backdrop-filter: blur(18px) saturate(155%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(155%) !important;
    border: 1px solid rgba(255,255,255,0.78) !important;
    box-shadow:
      0 20px 46px rgba(31,13,49,0.12),
      0 6px 16px rgba(106,27,154,0.08),
      inset 0 1px 0 rgba(255,255,255,0.92),
      inset 0 -1px 0 rgba(255,255,255,0.28) !important;
    text-shadow: none !important;
  }
}

@media (max-width: 768px){
  .hero-content{
    padding: 1rem 0.9rem 1.05rem !important;
  }

  .hero h1.hero-tagline{
    max-width: 16.2rem !important;
    margin: 0 auto 0.75rem !important;
    color: #4a245f !important;
    font-size: 1.54rem !important;
    line-height: 1.04 !important;
    letter-spacing: -0.03em !important;
  }

  .hero h1.hero-tagline span{
    display: block !important;
    margin-top: 0.34rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #4a245f !important;
    -webkit-text-fill-color: #4a245f !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 1.34rem !important;
    font-weight: 700 !important;
    line-height: 1.04 !important;
    letter-spacing: -0.028em !important;
    text-shadow: 0 10px 24px rgba(255,255,255,0.34) !important;
  }

  .hero-local-seo{
    max-width: 21.6rem !important;
    margin: 0.78rem auto 1rem !important;
    padding: 0.85rem 0.95rem !important;
    color: #4b4358 !important;
    font-size: 0.97rem !important;
    line-height: 1.55 !important;
    font-weight: 600 !important;
    border-radius: 20px !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.76) 0%, rgba(255,255,255,0.56) 100%) !important;
    backdrop-filter: blur(14px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
    border: 1px solid rgba(255,255,255,0.82) !important;
    box-shadow:
      0 14px 34px rgba(31,13,49,0.10),
      0 4px 12px rgba(106,27,154,0.06),
      inset 0 1px 0 rgba(255,255,255,0.94) !important;
    text-shadow: none !important;
  }
}

@media (max-width: 420px){
  .hero h1.hero-tagline{ max-width: 15.2rem !important; font-size: 1.45rem !important; }
  .hero h1.hero-tagline span{ font-size: 1.26rem !important; }
  .hero-local-seo{ max-width: 20.4rem !important; }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.hero-cta-secondary:hover,
.hero-cta-secondary:hover span,
.hero-buttons .hero-cta-secondary:hover,
.hero-buttons .hero-cta-secondary:hover span,
a.hero-cta-secondary:hover,
a.hero-cta-secondary:hover span{
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
}
.hero-cta-secondary:hover{
  background: linear-gradient(145deg, rgba(255,255,255,0.98) 0%, rgba(255,245,250,0.92) 100%) !important;
  border-color: rgba(255,255,255,1) !important;
  box-shadow: 0 18px 40px rgba(31,38,135,0.15), inset 0 1px 0 rgba(255,255,255,0.98) !important;
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.appointment-flow-intro{
  max-width: 760px;
  margin: -1.8rem auto 2.2rem;
  text-align: center;
  color: #5f6474;
  line-height: 1.75;
}

.appointment-info-panel{
  max-width: 980px;
  margin: 0 auto 2rem;
  padding: 1.35rem 1.5rem;
  text-align: center;
}

.appointment-info-panel h3{
  font-size: 1.35rem;
  color: #6a1b9a;
  margin-bottom: 0.5rem;
}

.appointment-info-panel h3 span{
  color: #d81b60;
}

.appointment-info-panel p{
  color: #4b5563;
  max-width: 820px;
  margin: 0 auto;
  line-height: 1.75;
}

.appointment-flow-block{
  margin-top: 2rem;
}

.flow-heading-wrap{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}

.flow-step-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  height: 36px;
  padding: 0 1rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(106,27,154,0.12), rgba(216,27,96,0.12));
  color: #6a1b9a;
  font-weight: 700;
  border: 1px solid rgba(255,255,255,0.84);
}

.flow-heading{
  font-size: 1.6rem;
  color: #6a1b9a;
  margin: 0;
}

.location-choice-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}

.location-choice-card{
  padding: 1.35rem;
  text-align: center;
  min-height: 100%;
}

.location-choice-icon{
  width: 58px;
  height: 58px;
  border-radius: 50%;
  margin: 0 auto 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f3e5f5 0%, #fce4ec 100%);
}

.location-choice-icon svg{
  width: 28px;
  height: 28px;
  color: #6a1b9a;
}

.location-choice-card h4{
  font-size: 1.15rem;
  color: #6a1b9a;
  margin-bottom: 0.45rem;
}

.location-choice-card p{
  color: #4b5563;
  font-size: 0.94rem;
  line-height: 1.6;
  margin-bottom: 0.6rem;
}

.location-choice-note{
  display: inline-block;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.75);
  color: #6b7280;
  font-size: 0.82rem;
  font-weight: 700;
}

.simplified-services-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.simplified-service-card{
  padding: 1.35rem;
  display: flex;
  flex-direction: column;
}

.simplified-service-media{
  border-radius: 16px;
  overflow: hidden;
  height: 180px;
  margin: -0.35rem -0.35rem 1rem;
  background: linear-gradient(135deg, rgba(243,229,245,0.9) 0%, rgba(252,228,236,0.9) 100%);
}

.simplified-service-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.simplified-service-top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
  margin-bottom: 0.7rem;
}

.simplified-service-top h4{
  font-size: 1.3rem;
  color: #6a1b9a;
  line-height: 1.2;
  margin: 0;
}

.simplified-price-stack{
  text-align: right;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.simplified-price-stack span{
  color: #6b7280;
  font-size: 0.88rem;
  font-weight: 700;
}

.simplified-price-stack strong{
  color: #7b1fa2;
  font-size: 1.05rem;
}

.simplified-service-card p{
  color: #4b5563;
  line-height: 1.72;
  margin-bottom: 0.95rem;
}

.simplified-service-list{
  list-style: none;
  margin: 0 0 1.2rem;
  padding: 0;
}

.simplified-service-list li{
  display: flex;
  gap: 0.55rem;
  color: #374151;
  margin-bottom: 0.35rem;
}

.simplified-service-list li::before{
  content: "✓";
  color: #ec4899;
  font-weight: 700;
}

.simplified-service-card .btn-book-service{
  margin-top: auto;
}

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

@media (max-width: 768px){
  .appointment-flow-intro{
    margin: -1.2rem auto 1.6rem;
    font-size: 0.98rem;
  }

  .appointment-info-panel{
    padding: 1.1rem 1rem;
  }

  .appointment-info-panel h3{
    font-size: 1.15rem;
  }

  .flow-heading{
    font-size: 1.28rem;
    text-align: center;
  }

  .location-choice-grid{
    grid-template-columns: 1fr;
  }

  .location-choice-card{
    padding: 1.1rem;
  }

  .simplified-service-card{
    padding: 1.05rem;
  }

  .simplified-service-media{
    height: 165px;
  }

  .simplified-service-top{
    flex-direction: column;
    align-items: flex-start;
  }

  .simplified-price-stack{
    text-align: left;
    flex-direction: row;
    gap: 0.9rem;
    flex-wrap: wrap;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.appointment-info-panel h3{
  font-size: 1.3rem;
}

.appointment-info-panel p{
  max-width: 860px;
}

.simplified-service-card .btn-book-service{
  background: linear-gradient(145deg, rgba(255,255,255,0.96) 0%, rgba(247,241,252,0.92) 100%);
  color: #6a1b9a;
  border: 1px solid rgba(255,255,255,0.92);
  box-shadow:
    0 12px 28px rgba(75,52,110,0.10),
    inset 0 1px 0 rgba(255,255,255,0.96);
  transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.simplified-service-card .btn-book-service:hover,
.simplified-service-card .btn-book-service:focus{
  color: #000000 !important;
  background: linear-gradient(145deg, rgba(255,255,255,1) 0%, rgba(255,245,250,0.95) 100%);
  box-shadow:
    0 16px 34px rgba(75,52,110,0.14),
    inset 0 1px 0 rgba(255,255,255,0.98);
  transform: translateY(-1px);
}

#booking-ear-wax,
#booking-ear-health,
#booking-advice{
  position: relative;
  top: -100px;
  visibility: hidden;
  pointer-events: none;
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.featured-service{
  position: relative;
  border: 2px solid rgba(216,27,96,0.35);
  box-shadow:
    0 18px 40px rgba(216,27,96,0.12),
    inset 0 1px 0 rgba(255,255,255,0.9);
  transform: translateY(-4px);
}

.featured-badge{
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #ec4899, #a855f7);
  color: white;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.15);
  letter-spacing: 0.3px;
}

.featured-service h4{
  color: #d81b60;
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.booking-direct-grid--clarity{
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem;
  margin-top: 2rem;
}

.booking-direct-card--healthcheck{
  position: relative;
  border: 2px solid rgba(216,27,96,0.22);
  box-shadow:
    0 18px 42px rgba(216,27,96,0.10),
    inset 0 1px 0 rgba(255,255,255,0.88);
}

.booking-card-eyebrow{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  color: #d81b60;
  background: rgba(216,27,96,0.08);
  margin-bottom: 0.65rem;
}

.booking-clarity-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.booking-clarity-list li{
  display: flex;
  gap: 0.55rem;
  color: #4b5563;
  line-height: 1.55;
}

.booking-clarity-list li::before{
  content: "✓";
  color: #ec4899;
  font-weight: 700;
}

.btn-book-healthcheck{
  background: linear-gradient(180deg, rgba(255,255,255,1), rgba(255,242,248,0.96)) !important;
  color: #c2185b !important;
  border-color: rgba(236,72,153,0.18) !important;
  box-shadow: 0 14px 30px rgba(216,27,96,0.14), inset 0 1px 0 rgba(255,255,255,0.95) !important;
}

.btn-book-healthcheck:hover{
  color: #000 !important;
}

@media (max-width: 980px){
  .booking-direct-grid--clarity{
    grid-template-columns: 1fr;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.booking-direct-grid--four{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.booking-direct-card--homevisit{
  position: relative;
  border: 2px solid rgba(106,27,154,0.16);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,245,252,0.94));
  box-shadow:
    0 22px 46px rgba(106,27,154,0.12),
    0 8px 20px rgba(216,27,96,0.06),
    inset 0 1px 0 rgba(255,255,255,0.95);
  transform: translateY(-4px);
}

.booking-card-eyebrow--home{
  color: #6a1b9a;
  background: rgba(106,27,154,0.08);
}

.btn-book-homevisit{
  background: linear-gradient(180deg, rgba(255,255,255,1), rgba(245,239,251,0.96)) !important;
  color: #6a1b9a !important;
  border-color: rgba(106,27,154,0.14) !important;
  box-shadow: 0 14px 30px rgba(106,27,154,0.12), inset 0 1px 0 rgba(255,255,255,0.95) !important;
}

.btn-book-homevisit:hover{
  color: #000 !important;
}

@media (max-width: 980px){
  .booking-direct-grid--four{
    grid-template-columns: 1fr;
  }
  .booking-direct-card--homevisit{
    transform: none;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.home-visit-panel--booking{
  margin-top: 1.75rem;
  padding: 2rem;
  border-radius: 28px;
}

.home-visit-panel__heading{
  text-align: center;
  margin-bottom: 1.35rem;
}

.home-visit-panel__heading h3{
  font-size: 2rem;
  color: #6a1b9a;
  margin: 0;
  position: relative;
}

.home-visit-panel__heading h3::after{
  content: "";
  display: block;
  width: 62px;
  height: 2px;
  margin: 0.6rem auto 0;
  background: linear-gradient(90deg, transparent, rgba(216,181,106,0.95), transparent);
}

.home-visit-panel__grid{
  display: grid;
  grid-template-columns: 1.02fr 1fr;
  gap: 1.25rem;
  align-items: stretch;
}

.home-visit-panel__image{
  padding: 0.8rem;
  min-height: 100%;
}

.home-visit-panel__image img{
  width: 100%;
  height: 100%;
  min-height: 680px;
  object-fit: cover;
  border-radius: 18px;
  display: block;
}

.home-visit-panel__content{
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.home-visit-card{
  padding: 1.2rem 1.2rem 1.1rem;
  border-radius: 22px;
}

.home-visit-card h4{
  color: #6a1b9a;
  font-size: 1.35rem;
  margin: 0 0 0.9rem;
}

.home-visit-benefits{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1rem;
}

.home-visit-benefits li{
  color: #4b5563;
  line-height: 1.45;
  position: relative;
  padding-left: 1rem;
}

.home-visit-benefits li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #ec4899;
  font-weight: 700;
}

.home-visit-service-list{
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.home-visit-service-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 1rem;
  border-radius: 16px;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(255,255,255,0.88);
  box-shadow: 0 8px 20px rgba(106,27,154,0.06);
}

.home-visit-service-item strong{
  display: block;
  color: #374151;
  font-size: 1.05rem;
}

.home-visit-service-item span{
  display: block;
  color: #9ca3af;
  font-size: 0.88rem;
  margin-top: 0.1rem;
}

.home-visit-service-item b{
  color: #7b1fa2;
  font-size: 1.45rem;
  white-space: nowrap;
}

.home-visit-areas-copy{
  color: #5f6474;
  line-height: 1.7;
  text-align: center;
  margin: 0 0 1rem;
}

.home-visit-area-tags{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

.home-visit-area-tags span{
  padding: 0.85rem 1.4rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #2d79e7 0%, #1d62cf 100%);
  color: #fff;
  font-weight: 700;
  font-size: 0.98rem;
  box-shadow:
    0 10px 24px rgba(29,98,207,0.22),
    inset 0 1px 0 rgba(255,255,255,0.24);
}

.home-visit-actions{
  padding: 1rem 1.1rem;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.home-visit-phone{
  color: #374151;
  font-weight: 800;
  text-decoration: none;
  padding-left: 1.4rem;
  position: relative;
  white-space: nowrap;
}

.home-visit-phone::before{
  content: "◔";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-52%);
  color: #ec4899;
  font-size: 1rem;
}

.home-visit-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0.95rem 1.6rem;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,1), rgba(245,239,251,0.96));
  color: #6a1b9a;
  text-decoration: none;
  font-weight: 700;
  border: 1px solid rgba(216,181,106,0.55);
  box-shadow: 0 12px 24px rgba(106,27,154,0.08), inset 0 1px 0 rgba(255,255,255,0.95);
}

.home-visit-cta:hover{
  color: #000 !important;
}

@media (max-width: 1100px){
  .home-visit-panel__grid{
    grid-template-columns: 1fr;
  }
  .home-visit-panel__image img{
    min-height: 460px;
  }
}

@media (max-width: 768px){
  .home-visit-panel--booking{
    padding: 1.2rem;
  }
  .home-visit-panel__heading h3{
    font-size: 1.55rem;
  }
  .home-visit-benefits{
    grid-template-columns: 1fr;
  }
  .home-visit-actions{
    flex-direction: column;
    align-items: stretch;
  }
  .home-visit-phone,
  .home-visit-cta{
    text-align: center;
    justify-content: center;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.bridge-section{
  padding-top: 1.5rem;
  padding-bottom: 1.75rem;
}
.bridge-card{
  padding: 2.2rem 2rem;
  display: grid;
  grid-template-columns: 1.35fr auto;
  gap: 1.5rem;
  align-items: center;
  border-radius: 28px;
  position: relative;
  overflow: hidden;
}
.bridge-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0) 24%),
    radial-gradient(circle at 85% 30%, rgba(216,27,96,0.06) 0%, rgba(216,27,96,0) 18%),
    linear-gradient(135deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0) 100%);
  pointer-events:none;
}
.bridge-copy,
.bridge-actions{
  position:relative;
  z-index:1;
}
.bridge-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0.35rem 0.85rem;
  border-radius:999px;
  background:rgba(255,255,255,0.72);
  border:1px solid rgba(255,255,255,0.9);
  color:#6a1b9a;
  font-size:0.8rem;
  font-weight:700;
  letter-spacing:0.02em;
  margin-bottom:0.8rem;
  box-shadow:0 8px 20px rgba(106,27,154,0.06), inset 0 1px 0 rgba(255,255,255,0.96);
}
.bridge-title{
  font-size: clamp(1.9rem, 3.2vw, 2.6rem);
  color:#6a1b9a;
  line-height:1.08;
  margin:0 0 0.8rem;
}
.bridge-text{
  max-width: 680px;
  color:#5f6474;
  font-size:1.02rem;
  line-height:1.8;
  margin:0;
}
.bridge-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:0.7rem;
}
.bridge-link-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 210px;
  min-height:56px;
  padding:0.95rem 1.4rem;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  color:#6a1b9a;
  background:linear-gradient(145deg, rgba(255,255,255,0.98) 0%, rgba(247,240,251,0.94) 100%);
  border:1px solid rgba(255,255,255,0.94);
  box-shadow:0 14px 30px rgba(106,27,154,0.10), inset 0 1px 0 rgba(255,255,255,0.96);
  transition: transform 0.22s ease, box-shadow 0.22s ease, color 0.22s ease;
}
.bridge-link-primary:hover{
  transform:translateY(-1px);
  color:#000 !important;
  box-shadow:0 18px 36px rgba(106,27,154,0.14), inset 0 1px 0 rgba(255,255,255,0.98);
}
.bridge-note{
  color:#7b8090;
  font-size:0.88rem;
  font-weight:600;
  text-align:right;
}
@media (max-width: 860px){
  .bridge-card{
    grid-template-columns:1fr;
    text-align:center;
    padding:1.5rem 1.2rem;
  }
  .bridge-text{
    margin:0 auto;
  }
  .bridge-actions{
    align-items:center;
  }
  .bridge-note{
    text-align:center;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.home-visit-cta:hover{
  background: #c72c62 !important;
  border-color: #c72c62 !important;
  color: #ffffff !important;
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.home-visit-panel__image-grid{
  padding: 0.9rem;
  border-radius: 24px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-self: stretch;
}
.home-visit-panel__thumb{
  border-radius: 18px;
  overflow: hidden;
  min-height: 190px;
  background: linear-gradient(135deg, rgba(243,229,245,0.9) 0%, rgba(252,228,236,0.9) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72);
}
.home-visit-panel__thumb img{
  width: 100%;
  height: 100%;
  min-height: 190px;
  object-fit: cover;
  display: block;
}
@media (max-width: 1100px){
  .home-visit-panel__image-grid{
    grid-template-columns: repeat(3, 1fr);
  }
  .home-visit-panel__thumb,
  .home-visit-panel__thumb img{
    min-height: 180px;
  }
}
@media (max-width: 768px){
  .home-visit-panel__image-grid{
    grid-template-columns: 1fr;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.skin-tag-bridge-wrap{
  padding: 2rem;
  border-radius: 30px;
}

.skin-tag-bridge-grid{
  display:grid;
  grid-template-columns: 0.95fr 1.15fr;
  gap: 1.5rem;
  align-items: center;
}

.skin-tag-logos{
  display:flex;
  flex-direction:column;
  gap: 1rem;
}

.skin-tag-logo-card{
  padding: 1rem;
  border-radius: 24px;
  overflow: hidden;
  box-shadow:
    0 18px 40px rgba(106,27,154,0.10),
    0 6px 18px rgba(216,27,96,0.06),
    inset 0 1px 0 rgba(255,255,255,0.92);
}

.skin-tag-logo-card img{
  width:100%;
  height:auto;
  display:block;
  border-radius: 16px;
  background: rgba(255,255,255,0.72);
}

.skin-tag-bridge-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.skin-tag-bridge-heading{
  text-align:left;
  margin-bottom: 1.1rem;
}

.skin-tag-bridge-text{
  color:#5f6474;
  font-size:1.02rem;
  line-height:1.8;
  max-width: 680px;
  margin:0 0 1.15rem;
}

.skin-tag-feature-pills{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
  margin-bottom: 1.15rem;
}

.skin-tag-feature-pills span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 42px;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  background: linear-gradient(145deg, rgba(255,255,255,0.94) 0%, rgba(246,240,251,0.90) 100%);
  border: 1px solid rgba(255,255,255,0.92);
  color:#6a1b9a;
  font-weight:700;
  font-size:0.92rem;
  box-shadow:
    0 10px 24px rgba(106,27,154,0.08),
    inset 0 1px 0 rgba(255,255,255,0.95);
}

.skin-tag-bridge-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0.7rem;
}

.bridge-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0.35rem 0.85rem;
  border-radius:999px;
  background:rgba(255,255,255,0.72);
  border:1px solid rgba(255,255,255,0.9);
  color:#6a1b9a;
  font-size:0.8rem;
  font-weight:700;
  letter-spacing:0.02em;
  margin-bottom:0.8rem;
  box-shadow:0 8px 20px rgba(106,27,154,0.06), inset 0 1px 0 rgba(255,255,255,0.96);
}

.bridge-link-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 210px;
  min-height:56px;
  padding:0.95rem 1.4rem;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  color:#6a1b9a;
  background:linear-gradient(145deg, rgba(255,255,255,0.98) 0%, rgba(247,240,251,0.94) 100%);
  border:1px solid rgba(255,255,255,0.94);
  box-shadow:0 14px 30px rgba(106,27,154,0.10), inset 0 1px 0 rgba(255,255,255,0.96);
  transition: transform 0.22s ease, box-shadow 0.22s ease, color 0.22s ease;
}
.bridge-link-primary:hover{
  transform:translateY(-1px);
  color:#000 !important;
  box-shadow:0 18px 36px rgba(106,27,154,0.14), inset 0 1px 0 rgba(255,255,255,0.98);
}
.bridge-note{
  color:#7b8090;
  font-size:0.88rem;
  font-weight:600;
}

@media (max-width: 960px){
  .skin-tag-bridge-grid{
    grid-template-columns: 1fr;
  }
  .skin-tag-bridge-copy{
    align-items:center;
    text-align:center;
  }
  .skin-tag-bridge-heading{
    text-align:center;
  }
  .skin-tag-bridge-actions{
    align-items:center;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

.skin-service-card{
  display:grid;
  grid-template-columns: 0.95fr 1.15fr;
  gap: 1.4rem;
  padding: 1.2rem;
  border-radius: 28px;
  align-items: stretch;
}

.skin-service-media{
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(243,229,245,0.9) 0%, rgba(252,228,236,0.9) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.82);
  min-height: 320px;
}

.skin-service-media img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: #fff;
}

.skin-service-content{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.35rem 0.2rem;
}

.skin-service-header{
  display:flex;
  justify-content: space-between;
  align-items:flex-start;
  gap: 1rem;
  margin-bottom: 0.85rem;
}

.skin-service-header h3{
  font-size: clamp(1.6rem, 2.3vw, 2.1rem);
  color: #6a1b9a;
  line-height: 1.08;
  margin: 0;
}

.skin-service-price{
  font-size: 1.35rem;
  font-weight: 800;
  background: linear-gradient(135deg, #6a1b9a 0%, #d81b60 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  white-space: nowrap;
}

.skin-service-text{
  color:#5f6474;
  font-size: 1rem;
  line-height: 1.75;
  margin: 0 0 1rem;
}

.skin-service-features{
  list-style:none;
  margin: 0 0 1.3rem;
  padding: 0;
}

.skin-service-features li{
  display:flex;
  align-items:flex-start;
  gap: 0.55rem;
  color:#374151;
  margin-bottom: 0.45rem;
  font-size: 0.95rem;
}

.skin-service-features li::before{
  content:"✓";
  color:#ec4899;
  font-weight:700;
}

.skin-service-actions{
  margin-top: auto;
}

.skin-service-actions .btn-whatsapp{
  width: auto;
  min-width: 220px;
  padding: 0.95rem 1.65rem;
  border-radius: 999px;
  font-size: 1rem;
  box-shadow: 0 8px 24px rgba(34,197,94,0.22), 0 2px 8px rgba(0,0,0,0.06);
}

.skin-service-actions .btn-whatsapp:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(34,197,94,0.28), 0 4px 12px rgba(0,0,0,0.08);
}

@media (max-width: 900px){
  .skin-service-card{
    grid-template-columns: 1fr;
    padding: 1rem;
  }

  .skin-service-media{
    min-height: 250px;
  }
}

@media (max-width: 640px){
  .skin-service-header{
    flex-direction: column;
    gap: 0.4rem;
  }

  .skin-service-actions .btn-whatsapp{
    width: 100%;
    min-width: 0;
  }
}


.skin-new-card{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:1.5rem;
}

.skin-new-image{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.skin-new-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.skin-new-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}

.skin-new-header h3{
  font-size:2.2rem;
  margin:0;
}

.skin-new-price{
  font-weight:700;
  font-size:1.4rem;
}

.skin-new-text{
  font-size:0.95rem;
  margin-bottom:1rem;
  color:#555;
}

.skin-new-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 20px;
  list-style:none;
  padding:0;
  margin-bottom:1rem;
}

.skin-new-points li::before{
  content:"✓ ";
  color:#ec4899;
  font-weight:700;
}

@media(max-width:768px){
  .skin-new-card{
    grid-template-columns:1fr;
  }
  .skin-new-points{
    grid-template-columns:1fr;
  }
}



.skin-new-card--frosted {
  position: relative;
  overflow: hidden;
}

.skin-new-card--frosted::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, #f5f5f7 0%, #e9e9ee 40%, #dcdce3 70%, #f5f5f7 100%);
  background-size:cover;
  background-repeat:no-repeat;
  opacity:0.5;
  z-index:0;
}

.skin-new-card--frosted > * {
  position:relative;
  z-index:1;
}


@media (max-width: 768px){
  .mobile-hero-bg{
    padding:12px;
  }
  .mobile-hero-bg img{
    border-radius:22px;
    box-shadow:
      0 20px 50px rgba(31,38,135,0.18),
      0 8px 20px rgba(106,27,154,0.12),
      inset 0 1px 0 rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.6);
    background:linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
    transform: scale(1.05);
}
}


@media (max-width: 768px){
  /* Final polish: make the mobile hero feel like one premium composition */
  .mobile-hero-rebuild{
    min-height: 25.4rem !important;
  }

  .mobile-hero-bg{
    padding: 14px !important;
  }

  .mobile-hero-bg img{
    border-radius: 24px !important;
    box-shadow:
      0 24px 60px rgba(24, 20, 56, 0.22),
      0 10px 28px rgba(106,27,154,0.14),
      inset 0 1px 0 rgba(255,255,255,0.62) !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    transform: scale(1.05);
}

  .mobile-hero-glass{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.24) 0%,
      rgba(255,248,251,0.28) 35%,
      rgba(248,244,252,0.34) 70%,
      rgba(255,255,255,0.42) 100%
    ) !important;
    backdrop-filter: blur(7px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(7px) saturate(110%) !important;
  }

  .mobile-hero-inner{
    padding: 0 0.15rem 1.15rem !important;
  }

  .mobile-hero-banner{
    margin-bottom: 0.95rem !important;
    padding: 7px !important;
    border-radius: 22px !important;
    box-shadow:
      0 12px 30px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.92) !important;
  }

  .mobile-hero-copy h1{
    font-size: 1.02rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.95rem !important;
    color: #4a245f !important;
    text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  }

  .mobile-hero-buttons{
    gap: 0.75rem !important;
    margin-top: 0.15rem !important;
  }

  .mobile-hero-buttons a,
  .mobile-hero-buttons .btn-outline,
  .mobile-hero-buttons .nav-book{
    min-height: 50px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 999px !important;
    box-shadow:
      0 12px 26px rgba(24, 20, 56, 0.16),
      inset 0 1px 0 rgba(255,255,255,0.45) !important;
  }

  .mobile-hero-buttons .btn-primary{
    background: linear-gradient(135deg, #7a2ca8 0%, #de5b95 100%) !important;
  }

  .mobile-hero-buttons .btn-outline{
    background: linear-gradient(
      145deg,
      rgba(255,255,255,0.86) 0%,
      rgba(247,239,251,0.78) 100%
    ) !important;
    border: 1px solid rgba(255,255,255,0.90) !important;
    color: #643184 !important;
  }

  .mobile-hero-rebuild::after{
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 8px !important;
    height: 20px !important;
    border-radius: 999px !important;
    background: radial-gradient(
      ellipse at center,
      rgba(27, 21, 54, 0.18) 0%,
      rgba(27, 21, 54, 0.08) 45%,
      rgba(27, 21, 54, 0) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    filter: blur(8px) !important;
  }
}

@media (max-width: 480px){
  .mobile-hero-rebuild{
    min-height: 24.8rem !important;
  }

  .mobile-hero-bg{
    padding: 12px !important;
  }

  .mobile-hero-bg img{
    border-radius: 22px !important;
    transform: scale(1.05);
}

  .mobile-hero-copy h1{
    font-size: 0.98rem !important;
  }
}

/* Local SEO location links */
.location-links-section{
  padding-top: 1rem;
  padding-bottom: 2rem;
}
.location-links-intro{
  text-align:center;
  color:#6b7280;
  max-width:780px;
  margin:-2rem auto 2.4rem;
}
.location-links-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.35rem;
}
.location-link-card{
  padding:1.35rem;
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
  gap:0.6rem;
  min-height:100%;
}
.location-link-card:hover{
  transform:translateY(-3px);
}
.location-link-card h3{
  color:#111 !important;
  position:relative;
  z-index:2;
}
.location-link-card p{
  color:#222 !important;
  position:relative;
  z-index:2;
}
.location-link-card .location-link-cta{
  margin-top:auto;
  color:#d81b60;
  font-weight:700;
}
.home-visit-area-tags a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.78rem 1.55rem;
  background:linear-gradient(180deg, #2d79e7 0%, #1d62cf 100%);
  color:#ffffff;
  font-size:0.98rem;
  font-weight:700;
  border-radius:9999px;
  border:1px solid rgba(255,255,255,0.38);
  box-shadow:
    0 10px 26px rgba(29,98,207,0.22),
    0 3px 10px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.30),
    inset 0 -1px 0 rgba(0,0,0,0.08);
  text-shadow:0 1px 0 rgba(0,0,0,0.08);
  transition:all 0.3s ease;
  text-decoration:none;
}
.home-visit-area-tags a:hover{
  transform:translateY(-2px);
  box-shadow:
    0 14px 32px rgba(29,98,207,0.28),
    0 5px 14px rgba(0,0,0,0.08),
    inset 0 1px 0 rgba(255,255,255,0.34),
    inset 0 -1px 0 rgba(0,0,0,0.10);
}
@media (max-width: 900px){
  .location-links-grid{
    grid-template-columns:1fr;
  }
}


/* Refined landmark-backed area cards */
.location-links-section{
  padding-top: 0.35rem !important;
  padding-bottom: 1.8rem !important;
}
.location-links-section .section-heading{
  margin-bottom: 1.1rem !important;
}
.location-links-intro{
  max-width: 860px !important;
  margin: 0 auto 1.65rem !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
  text-align:center !important;
  color:#6b7280 !important;
}
.location-links-grid{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 1rem !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}
.location-link-card{
  position: relative !important;
  overflow: hidden !important;
  min-height: 245px !important;
  justify-content: flex-end !important;
  padding: 1.15rem 1.2rem !important;
  border-radius: 22px !important;
  background-size: cover !important;
  background-position: center center !important;
  box-shadow:
    0 18px 42px rgba(31,38,135,0.10),
    0 8px 22px rgba(44,36,50,0.06),
    inset 0 1px 0 rgba(255,255,255,0.82) !important;
}
.location-link-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.28) 40%, rgba(255,255,255,0.45) 100%),
    rgba(255,255,255,0.08);
  backdrop-filter: blur(6px) saturate(120%);
  -webkit-backdrop-filter: blur(6px) saturate(120%);
  z-index:0;
}
.location-link-card > *{
  position:relative !important;
  z-index:1 !important;
}
.location-link-card h3{
  color:#111 !important;
  position:relative;
  z-index:2;
}
.location-link-card p{
  color:#222 !important;
  position:relative;
  z-index:2;
}
.location-link-card .location-link-cta{
  display:inline-flex !important;
  align-self:flex-start !important;
  margin-top:0.8rem !important;
  padding:0.52rem 0.9rem !important;
  border-radius:999px !important;
  background:rgba(255,255,255,0.72) !important;
  border:1px solid rgba(255,255,255,0.88) !important;
  box-shadow:0 8px 18px rgba(216,27,96,0.08) !important;
  color:#d81b60 !important;
  font-weight:700 !important;
  font-size:0.92rem !important;
}
.location-link-card.cleveleys{
  background-image:url('Cleveleys_Clinic.webp') !important;
  background-position:center center;
}
.location-link-card.blackpool{
  background-image:url('Blackpool.webp') !important;
  background-position:center center;
}
.location-link-card.thornton{
  background-image:url('Thornton.webp') !important;
  background-position:center center;
}
.location-link-card.fleetwood{
  background-image:url('Fleetwood.webp') !important;
  background-position:center center;
}
.location-link-card.knott-end{
  background-image:url('Knott_end.webp') !important;
  background-position:center center;
}
.location-link-card.hambleton{
  background-image:url('Hambleton.webp') !important;
  background-position:center center;
}
@media (max-width: 900px){
  .location-links-grid{
    grid-template-columns: 1fr !important;
  }
  .location-link-card{
    min-height:220px !important;
  }
}


/* Refined area cards: image header + clean content panel */
.location-links-grid{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 1rem !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}
.location-link-card{
  position: relative !important;
  overflow: hidden !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 24px !important;
  background: linear-gradient(145deg, rgba(255,255,255,0.82) 0%, rgba(255,255,255,0.68) 100%) !important;
  border: 1px solid rgba(255,255,255,0.84) !important;
  box-shadow:
    0 18px 42px rgba(31,38,135,0.10),
    0 8px 22px rgba(44,36,50,0.06),
    inset 0 1px 0 rgba(255,255,255,0.88) !important;
  display:flex !important;
  flex-direction:column !important;
}
.location-link-card::before{ display:none !important; }
.location-link-card > *{ position:relative !important; z-index:1 !important; }

.location-card-media{
  height: 148px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
}
.location-card-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.04) 42%, rgba(255,255,255,0.78) 100%),
    linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(216,27,96,0.04) 100%);
}
.location-link-card.cleveleys .location-card-media{ background-image:url('Cleveleys_Clinic.webp'); }
.location-link-card.blackpool .location-card-media{ background-image:url('Blackpool.webp'); }
.location-link-card.thornton .location-card-media{ background-image:url('Thornton.webp'); }
.location-link-card.fleetwood .location-card-media{ background-image:url('Fleetwood.webp'); }
.location-link-card.knott-end .location-card-media{ background-image:url('Knott_end.webp'); }
.location-link-card.hambleton .location-card-media{ background-image:url('Hambleton.webp'); }

.location-card-body{
  padding: 1rem 1.1rem 1.15rem;
  display:flex;
  flex-direction:column;
  gap: 0.55rem;
  background: linear-gradient(180deg, rgba(255,255,255,0.64) 0%, rgba(255,255,255,0.88) 22%, rgba(255,255,255,0.96) 100%);
}
.location-link-card h3{
  color:#222 !important;
  font-size:1.12rem !important;
  margin:0 !important;
  text-shadow:none !important;
}
.location-link-card p{
  margin:0 !important;
  color:#5f6773 !important;
  font-size:0.95rem !important;
  line-height:1.55 !important;
  max-width:none !important;
}
.location-link-card .location-link-cta{
  display:inline-flex !important;
  align-self:flex-start !important;
  margin-top:0.3rem !important;
  padding:0.58rem 0.95rem !important;
  border-radius:999px !important;
  background:rgba(255,255,255,0.96) !important;
  border:1px solid rgba(233,233,240,1) !important;
  box-shadow:0 8px 18px rgba(216,27,96,0.08) !important;
  color:#d81b60 !important;
  font-weight:700 !important;
  font-size:0.92rem !important;
}
@media (max-width: 900px){
  .location-links-grid{ grid-template-columns: 1fr !important; }
  .location-card-media{ height: 140px; }
}


/* Linked clinic cards */
.location-card-link{
  display:block;
  text-decoration:none;
  color:inherit;
}
.location-card-link:hover,
.location-card-link:focus-visible{
  text-decoration:none;
  color:inherit;
}


/* Booking guide mini cards */
.booking-mini-guide{
  margin: 1.25rem auto 1.75rem;
  max-width: 1040px;
}
.booking-mini-guide-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1rem;
}
.booking-mini-guide-card{
  padding: 1.15rem 1.1rem;
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.62) 100%);
  border: 1px solid rgba(255,255,255,0.86);
  box-shadow:
    0 14px 34px rgba(31,38,135,0.08),
    0 6px 18px rgba(44,36,50,0.05),
    inset 0 1px 0 rgba(255,255,255,0.88);
}
.booking-mini-guide-card h3{
  font-size: 1.08rem;
  color: #6a1b9a;
  margin: 0 0 0.45rem;
}
.booking-mini-guide-card p{
  margin: 0;
  color: #5f6773;
  font-size: 0.95rem;
  line-height: 1.58;
}
.booking-mini-guide-note{
  margin: 1rem auto 0;
  text-align: center;
  color: #6b7280;
  font-weight: 600;
  line-height: 1.6;
  max-width: 760px;
}
@media (max-width: 900px){
  .booking-mini-guide-grid{
    grid-template-columns: 1fr;
  }
}




@media (max-width: 768px) {
  .hero {
    background: none !important;
    min-height: 24.8rem !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
    overflow: hidden !important;
  }

  .hero > .hero-banner,
  .hero > .hero-content {
    display: none !important;
  }

  .mobile-hero-rebuild {
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
    min-height: 24.8rem !important;
    padding: 0.65rem 0.85rem 0.95rem !important;
    isolation: isolate !important;
  }

  .mobile-hero-bg,
  .mobile-hero-glass {
    position: absolute !important;
    inset: 0 !important;
  }

  .mobile-hero-bg {
    z-index: 0 !important;
  }

  .mobile-hero-bg img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: top center !important;
    transform: scale(1.03) !important;
    filter: saturate(1.02) brightness(1.04) contrast(1.03) !important;
  }

  .mobile-hero-glass {
    z-index: 1 !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0.34) 0%,
      rgba(255,248,251,0.39) 35%,
      rgba(248,244,252,0.46) 70%,
      rgba(255,255,255,0.54) 100%
    ) !important;
    backdrop-filter: blur(8px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.52),
      inset 0 -1px 0 rgba(255,255,255,0.20) !important;
  }

  .mobile-hero-inner {
    position: relative !important;
    z-index: 2 !important;
  }

  .faq-item.is-open .faq-answer,
  .faq-item.is-open .faq-question h4::after {
    max-height: 0 !important;
    opacity: 0 !important;
    margin-top: 0 !important;
    transform: translateY(-50%) !important;
  }
}

@media (max-width: 480px) {
  .hero,
  .mobile-hero-rebuild {
    min-height: 24.1rem !important;
  }
}




@media (min-width: 769px){
  .mobile-hero-block,
  .mobile-premium-stack,
  .mobile-overlay{
    display: none !important;
  }

  .hero.ecn-hero{
    padding-top: 6.2rem !important;
    padding-bottom: 2.8rem !important;
  }

  .ecn-banner-shell,
  .ecn-hero-lower,
  .clinic-trust-strip__inner{
    max-width: 1180px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 768px){
  .ecn-banner-shell,
  .ecn-hero-lower,
  .hero-testimonials{
    display: none !important;
  }

  .mobile-hero-block,
  .mobile-premium-stack{
    display: block !important;
  }

  .hero.ecn-hero{
    min-height: auto !important;
    padding: 4.9rem 0.75rem 0.55rem !important;
    background: none !important;
    overflow: visible !important;
  }

  .hero.ecn-hero::before,
  .hero.ecn-hero::after{
    content: none !important;
    display: none !important;
  }

  nav{
    padding: 0.52rem 0 !important;
  }

  .nav-container{
    min-height: 56px !important;
    padding: 0 0.9rem !important;
    justify-content: flex-end !important;
  }

  .mobile-menu-btn{
    display: flex !important;
    width: 42px !important;
    height: 42px !important;
    margin-left: auto !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,0.78) !important;
    box-shadow: 0 6px 18px rgba(106,27,154,0.10) !important;
    position: relative !important;
    z-index: 10001 !important;
  }

  .nav-links{
    position: fixed !important;
    top: 0 !important;
    right: -100% !important;
    width: min(84vw, 320px) !important;
    max-width: 320px !important;
    height: 100vh !important;
    padding: 4.9rem 1rem 1.2rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.45rem !important;
    background: rgba(255,255,255,0.97) !important;
    backdrop-filter: blur(18px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
    box-shadow: -8px 0 28px rgba(106,27,154,0.16) !important;
    overflow-y: auto !important;
    z-index: 9998 !important;
    transition: right 0.3s ease !important;
  }

  .nav-links.active{
    right: 0 !important;
  }

  .nav-links a{
    width: 100% !important;
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0.82rem 0.95rem !important;
    font-size: 0.98rem !important;
    border-radius: 14px !important;
  }

  .mobile-overlay.active{
    display: block !important;
  }
}


/* Google-style reviews section */
.google-reviews-section .section-heading{
  margin-bottom: 1.15rem;
}
.google-reviews-shell{
  padding: 1.45rem;
}
.google-reviews-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:1rem 1.25rem;
  margin-bottom:1rem;
}
.google-reviews-brand{
  display:flex;
  align-items:center;
  gap:0.9rem;
  min-width:0;
}
.google-g-badge{
  font-family: 'Poppins', sans-serif;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  padding-top: 0.05rem;
  flex-shrink:0;
}
.google-g-badge__g1{color:#4285F4;}
.google-g-badge__g2{color:#EA4335;}
.google-g-badge__g3{color:#FBBC05;}
.google-g-badge__g4{color:#4285F4;}
.google-g-badge__g5{color:#34A853;}
.google-g-badge__g6{color:#EA4335;}
.google-reviews-kicker{
  margin:0 0 0.16rem;
  font-size:0.76rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#6b7280;
}
.google-reviews-header h3{
  margin:0;
  font-size:1.02rem;
  line-height:1.35;
  color:#3f2a63;
  font-family:'Poppins', sans-serif;
  font-weight:600;
}
.google-reviews-subcopy{
  margin:0.14rem 0 0;
  color:#6b7280;
  line-height:1.5;
  font-size:0.93rem;
}
.google-reviews-view-all{
  flex-shrink:0;
  min-height:46px;
  padding:0.85rem 1.35rem;
}
.google-reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0.9rem;
  align-items:stretch;
}
.google-review-card{
  padding:1rem 1rem 0.95rem;
  border-radius:18px;
  min-height:100%;
}
.google-review-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:0.7rem;
  margin-bottom:0.6rem;
}
.google-review-card__top h4{
  margin:0 0 0.08rem;
  font-size:0.98rem;
  color:#3f2a63;
}
.google-review-card__top p{
  margin:0;
  font-size:0.8rem;
  color:#7b8190;
}
.google-review-stars{
  color:#fbbc05;
  font-size:0.96rem;
  letter-spacing:0.04em;
  white-space:nowrap;
}
.google-review-card blockquote{
  margin:0;
  color:#414855;
  font-size:0.94rem;
  line-height:1.58;
  display:-webkit-box;
  -webkit-line-clamp:8;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.google-review-card__more{
  display:inline-flex;
  margin-top:0.7rem;
  font-size:0.84rem;
  font-weight:700;
  color:#6a1b9a;
  text-decoration:none;
}
.google-review-card__more:hover{
  color:#d81b60;
}
.google-reviews-footnote{
  margin:0.85rem 0 0;
  text-align:center;
  color:#7b8190;
  font-size:0.86rem;
}
@media (max-width: 980px){
  .google-reviews-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 768px){
  .google-reviews-shell{
    padding:1rem;
  }
  .google-reviews-header{
    grid-template-columns:1fr;
    align-items:flex-start;
    gap:0.85rem;
    margin-bottom:0.9rem;
  }
  .google-reviews-brand{
    align-items:flex-start;
    gap:0.7rem;
  }
  .google-g-badge{
    font-size:1.45rem;
  }
  .google-reviews-header h3{
    font-size:0.98rem;
  }
  .google-reviews-subcopy{
    font-size:0.88rem;
  }
  .google-reviews-view-all{
    width:auto;
    min-height:44px;
  }
  .google-reviews-grid{
    display:flex;
    gap:0.8rem;
    overflow-x:auto;
    padding-bottom:0.2rem;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .google-reviews-grid::-webkit-scrollbar{
    height:6px;
  }
  .google-reviews-grid::-webkit-scrollbar-thumb{
    background:rgba(106,27,154,0.24);
    border-radius:999px;
  }
  .google-review-card{
    flex:0 0 84%;
    scroll-snap-align:start;
    padding:0.95rem;
  }
  .google-review-card blockquote{
    -webkit-line-clamp:7;
    font-size:0.92rem;
    line-height:1.52;
  }
  .google-reviews-footnote{
    font-size:0.82rem;
  }
}




@media (max-width: 768px) {
  .location-links-section {
    display: none !important;
  }
}



/* Phase 4.1 premium feel polish — low-risk visual refinement only */
:root{
  --premium-shadow-soft: 0 14px 34px rgba(31,38,135,0.10), 0 6px 16px rgba(106,27,154,0.08);
  --premium-shadow-lift: 0 20px 44px rgba(31,38,135,0.14), 0 10px 24px rgba(106,27,154,0.10);
  --premium-border-soft: rgba(255,255,255,0.88);
}

@media (prefers-reduced-motion: no-preference){
  .glass-card,
  .glass-panel,
  .glass-panel-strong,
  .service-card,
  .booking-direct-card,
  .contact-card,
  .credential-card,
  .feature-card,
  .faq-item,
  .partner-logo,
  .contact-photo-item,
  .footer-social-btn,
  .social-link,
  .btn-primary,
  .btn-outline,
  .btn-book-service{
    transition:
      transform 0.22s ease,
      box-shadow 0.22s ease,
      background 0.22s ease,
      border-color 0.22s ease,
      color 0.22s ease;
  }
}

.glass-card,
.glass-panel,
.glass-panel-strong,
.service-card,
.booking-direct-card,
.contact-card,
.credential-card,
.feature-card,
.faq-item{
  border-color: var(--premium-border-soft) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.98) inset,
    0 -1px 0 rgba(255,255,255,0.20) inset,
    0 14px 34px rgba(31,38,135,0.10),
    0 6px 16px rgba(106,27,154,0.08) !important;
}

@media (hover: hover){
  .glass-card:hover,
  .service-card:hover,
  .booking-direct-card:hover,
  .contact-card:hover,
  .credential-card:hover,
  .feature-card:hover,
  .faq-item:hover{
    transform: translateY(-3px);
    box-shadow:
      0 1px 0 rgba(255,255,255,0.98) inset,
      0 -1px 0 rgba(255,255,255,0.20) inset,
      0 20px 44px rgba(31,38,135,0.14),
      0 10px 24px rgba(106,27,154,0.10) !important;
  }

  .nav-links a:hover,
  .btn-primary:hover,
  .btn-outline:hover,
  .btn-book-service:hover,
  .footer-social-btn:hover{
    transform: translateY(-2px);
  }
}

.btn-primary,
.btn-book-service{
  box-shadow:
    0 10px 24px rgba(106,27,154,0.22),
    0 4px 10px rgba(216,27,96,0.12),
    inset 0 1px 0 rgba(255,255,255,0.22) !important;
}

.btn-primary:hover,
.btn-book-service:hover{
  box-shadow:
    0 14px 30px rgba(106,27,154,0.28),
    0 6px 14px rgba(216,27,96,0.14),
    inset 0 1px 0 rgba(255,255,255,0.24) !important;
}

.btn-outline{
  box-shadow:
    0 8px 20px rgba(106,27,154,0.10),
    0 3px 8px rgba(0,0,0,0.05),
    inset 0 1px 0 rgba(255,255,255,0.96) !important;
}

.section-container > .glass-panel,
.section-container > .glass-panel-strong{
  overflow: hidden;
}

.section-heading{
  margin-bottom: 2.6rem;
}

.section-subheading{
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}

.hero-buttons,
.booking-card-actions,
.booking-support-actions{
  gap: 0.9rem;
}

.footer-social-btn{
  border-radius: 14px;
}

@media (max-width: 768px){
  .section-heading{
    margin-bottom: 1.45rem !important;
  }

  .service-card,
  .booking-direct-card,
  .contact-card,
  .credential-card,
  .feature-card,
  .faq-item{
    box-shadow:
      0 1px 0 rgba(255,255,255,0.96) inset,
      0 -1px 0 rgba(255,255,255,0.16) inset,
      0 12px 26px rgba(31,38,135,0.08),
      0 4px 12px rgba(106,27,154,0.06) !important;
  }

  .hero-buttons,
  .booking-card-actions,
  .booking-support-actions{
    gap: 0.75rem;
  }
}