/* Bonica Healthcare theme stylesheet — homepage CSS verbatim (shared design system) + page-specific additions. */

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

/* ── Brand webfonts (self-hosted; upload licensed files to the Fonts folder in File Manager) ── */
@font-face { font-family:'Kontora'; src:url('https://148733292.fs1.hubspotusercontent-eu1.net/hubfs/148733292/HAEL%20Clinics/Fonts/Kontora-Medium.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Kontora'; src:url('https://148733292.fs1.hubspotusercontent-eu1.net/hubfs/148733292/HAEL%20Clinics/Fonts/Kontora-Bold.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Prasto Typeface'; src:url('https://148733292.fs1.hubspotusercontent-eu1.net/hubfs/148733292/Bonica%20brand/Fonts/PrastoTypeface-Regular.woff') format('woff'), url('https://148733292.fs1.hubspotusercontent-eu1.net/hubfs/148733292/Bonica%20brand/Fonts/PrastoTypeface-Regular.otf') format('opentype'); font-weight:400; font-style:normal; font-display:swap; }

    :root {
      /* Brand palette - Candidate 03 */
      --hael-saffron: #E4692B;      /* action orange, darkened from the logo tone for AA contrast */
      --hael-saffron-light: #F38143; /* logo orange, decorative and hover */
      --hael-slate: #1B3D50;
      --hael-stone: #F2EDE4;
      --hael-ink: #0D2E41;          /* Navy, from the logo */
      --hael-moss: #3D6B4F;
      --hael-clay: #B5522A;
      --hael-mist: #E2EEEA;
      --hael-white: #ffffff;

      /* Brand tokens. The --hael-* names above are kept because 2,000+ rules and
         inline module styles reference them; only their values changed. Use these going forward. */
      --stature-navy: #0D2E41;
      --stature-navy-deep: #082F41;
      --stature-orange: #F38143;
      --stature-orange-action: #E4692B;
      --stature-stone: #F2EDE4;
      --stature-mist: #E2EEEA;
      /* Teal - added to palette */
      --hael-teal: #17697A;          /* Accent teal - AA on white, Stone, Mist */
      --hael-teal-deep: #155C6B;     /* Deep teal - CTA band, AAA on white */
      --hael-teal-light: #1e8599;    /* Teal hover state */
      /* Semantic mappings */
      --hael-deep: #0D2E41;        /* was deep, now Ink */
      --hael-forest: #1B3D50;      /* was forest, now Slate */
      --hael-sage: #3D6B4F;        /* was sage, now Moss */
      --hael-cream: #F2EDE4;       /* was cream, now Stone */
      --hael-amber: #E4692B;       /* was amber, now Saffron */
      --hael-amber-light: #F38143; /* was amber-light, Saffron light */
      --hael-text: #0D2E41;        /* Ink */
      --hael-text-muted: #4a5568;
      --hael-border: #d8e4e0;
      --font-display: 'Kontora', 'Poppins', 'Playfair Display', Georgia, serif;
      --font-script: 'Prasto Typeface', 'Pacifico', 'Playfair Display', cursive;
      --font-body: 'Kontora', 'Poppins', 'DM Sans', system-ui, sans-serif;
      --radius: 12px;
      --radius-sm: 8px;
      --transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    }

    html { scroll-behavior: smooth; }

    body {
      font-family: var(--font-body);
      color: var(--hael-text);
      background: white;
      line-height: 1.6;
      overflow-x: hidden;
      padding-top: 68px;
    }


    /* ─── HERO VIDEO BACKGROUND ─── */
    .hero-video-wrap {
      position: absolute; inset: 0; overflow: hidden; z-index: 0;
      background: var(--hael-ink); /* fallback colour while video loads */
    }
    .hero-video-wrap video {
      position: absolute; top: 50%; left: 50%;
      transform: translate(-50%, -50%);
      min-width: 100%; min-height: 100%;
      width: auto; height: auto;
      object-fit: cover; display: block;
      /* No crossorigin attribute; let browser handle CORS naturally */
    }
    .hero-bg {
      position: absolute; inset: 0;
      background: rgba(74,74,74,0.60);
      z-index: 1; pointer-events: none;
    }
    .hero-grid-overlay { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
    .hero-inner { position: relative; z-index: 3; }
    @media (prefers-reduced-motion: reduce) {
      .hero-video-wrap video { display: none; }
    }

    /* ─── HEADER ─── */
    .site-header {
      position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
      background: #082f41;
      backdrop-filter: blur(12px);
      border-bottom: 1px solid rgba(200,216,212,0.15);
      transition: var(--transition);
    }
    .site-header.scrolled { background: #082f41; box-shadow: 0 4px 20px rgba(0,0,0,0.3); }

    .header-inner {
      max-width: 1280px; margin: 0 auto; padding: 0 2rem;
      display: flex; align-items: center; justify-content: space-between;
      height: 72px;
    }

    .logo-img {
      height: 44px; width: auto; display: block;
    }
    .logo {
      display: flex; align-items: center; gap: 0.5rem;
      text-decoration: none; flex-shrink: 0;
    }
    .logo-mark {
      width: 40px; height: 40px;
      background: var(--hael-amber);
      border-radius: 10px;
      display: flex; align-items: center; justify-content: center;
    }
    .logo-mark svg { width: 22px; height: 22px; fill: white; }
    .logo-text { font-family: var(--font-body); font-weight: 700; font-size: 1.35rem; letter-spacing: 0.08em; color: white; }
    .logo-text span { color: var(--hael-amber); }

    .nav-links {
      display: flex; align-items: center; gap: 0.25rem; list-style: none;
    }
    .nav-links > li { position: relative; }
    .nav-links a {
      color: rgba(255,255,255,0.8); text-decoration: none; font-size: 0.9rem;
      font-weight: 500; padding: 0.5rem 0.85rem; border-radius: var(--radius-sm);
      transition: var(--transition); white-space: nowrap;
    }
    .nav-links a:hover { color: white; background: rgba(255,255,255,0.08); }

    .header-cta {
      display: flex; align-items: center; gap: 1rem;
    }
    .btn-cta {
      background: #17697A; color: #fff; border: none;
      font-family: var(--font-body); font-weight: 700; font-size: 0.875rem;
      padding: 0.65rem 1.5rem; border-radius: var(--radius-sm); cursor: pointer;
      transition: var(--transition); white-space: nowrap; text-decoration: none;
      display: inline-flex; align-items: center; gap: 0.4rem;
    }
    .btn-cta:hover { background: #155C6B; }
    .btn-outline {
      background: #17697A; color: #fff;
      border: none;
      font-family: var(--font-body); font-weight: 700; font-size: 0.875rem;
      padding: 0.75rem 1.75rem; border-radius: 8px; cursor: pointer;
      text-decoration: none; display: inline-flex; align-items: center;
      gap: 0.4rem; transition: all 0.2s;
    }
    .btn-outline:hover { background: #17697A; color: white; }
    .btn-outline-white {
      border: 1.5px solid rgba(255,255,255,0.35); color: white;
      background: transparent; font-family: var(--font-body); font-weight: 500;
      font-size: 0.875rem; padding: 0.6rem 1.25rem; border-radius: var(--radius-sm);
      cursor: pointer; transition: var(--transition); white-space: nowrap; text-decoration: none;
      display: inline-flex; align-items: center;
    }
    .btn-outline-white:hover { border-color: white; background: rgba(255,255,255,0.08); }
    .btn-primary {
      background: var(--hael-amber); color: white; border: none;
      font-family: var(--font-body); font-weight: 700; font-size: 0.875rem;
      padding: 0.65rem 1.5rem; border-radius: var(--radius-sm); cursor: pointer;
      transition: var(--transition); white-space: nowrap; text-decoration: none;
      display: inline-flex; align-items: center; gap: 0.4rem;
    }
    .btn-primary:hover { background: var(--hael-saffron-light); transform: translateY(-1px); }
    .btn-primary-large {
      padding: 0.9rem 2.25rem; font-size: 1rem; border-radius: var(--radius);
    }

    /* ─── HERO ─── */
    .hero {
      min-height: 60vh; background: var(--hael-ink);
      position: relative; overflow: hidden;
      display: flex; align-items: center;
    }
    .hero-grid-overlay {
      position: absolute; inset: 0; opacity: 0.04;
      background-image: linear-gradient(rgba(200,216,212,1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(200,216,212,1) 1px, transparent 1px);
      background-size: 60px 60px;
    }
    .hero-inner {
      max-width: 1280px; margin: 0 auto; padding: 3.5rem 2rem 2.75rem;
      position: relative; z-index: 2; width: 100%;
      display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center;
    }
    .hero-badge {
      display: inline-flex; align-items: center; gap: 0.5rem;
      background: #17697A; border: none;
      color: #ffffff; font-size: 0.8rem; font-weight: 700;
      letter-spacing: 0.08em; text-transform: uppercase;
      padding: 0.4rem 1rem; border-radius: 100px; margin-bottom: 1.5rem;
    }
    .hero-badge::before { content: ''; width: 6px; height: 6px; background: #ffffff; border-radius: 50%; }

    .hero-headline {
      font-family: var(--font-display); font-size: clamp(2.5rem, 5vw, 4rem);
      font-weight: 700; line-height: 1.1; color: white; margin-bottom: 1.5rem;
    }
    .hero-headline em { font-family: var(--font-script); font-style: normal; line-height: 1; color: var(--hael-saffron-light); }

    .hero-subhead {
      font-size: 1.1rem; color: rgba(255,255,255,0.7); line-height: 1.7;
      max-width: 480px; margin-bottom: 2.5rem; font-weight: 300;
    }
    .hero-actions { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }

    .hero-trust {
      display: flex; align-items: center; gap: 0.75rem; margin-top: 3rem;
      padding-top: 2rem; border-top: 1px solid rgba(255,255,255,0.1);
    }
    .trust-stars { color: var(--hael-amber); font-size: 1rem; letter-spacing: 0.05em; }
    .trust-text { color: rgba(255,255,255,0.6); font-size: 0.875rem; }
    .trust-text strong { color: white; }

    /* Hero right: clinic finder card */
    .hero-finder-card {
      background: rgba(255,255,255,0.12);
      border: 1px solid rgba(200,216,212,0.15);
      border-radius: 20px; padding: 2rem;
      backdrop-filter: blur(10px);
    }
    .finder-card-title {
      font-size: 1rem; font-weight: 700; color: white; margin-bottom: 0.35rem;
    }
    .finder-card-sub { font-size: 0.875rem; color: rgba(255,255,255,0.5); margin-bottom: 1.5rem; }

    .finder-search {
      display: flex; gap: 0.5rem; margin-bottom: 1.25rem;
    }
    .finder-search input {
      flex: 1; background: rgba(255,255,255,0.08); border: 1.5px solid rgba(200,216,212,0.2);
      border-radius: var(--radius-sm); padding: 0.75rem 1rem; color: white;
      font-family: var(--font-body); font-size: 0.9rem; outline: none;
    }
    .finder-search input::placeholder { color: rgba(255,255,255,0.35); }
    .finder-search input:focus { border-color: #17697A; background: rgba(255,255,255,0.1); }
    .finder-search button {
      background: #17697A; border: none; color: white; padding: 0.75rem 1.25rem;
      border-radius: var(--radius-sm); cursor: pointer; font-family: var(--font-body);
      font-weight: 700; font-size: 0.875rem; transition: var(--transition); white-space: nowrap;
    }
    .finder-search button:hover { background: #155C6B; }

    .clinic-previews { display: flex; flex-direction: column; gap: 0.6rem; }
    .clinic-preview-item {
      display: flex; align-items: center; justify-content: space-between;
      background: rgba(255,255,255,0.05); border: 1px solid rgba(200,216,212,0.1);
      border-radius: var(--radius-sm); padding: 0.85rem 1rem; cursor: pointer;
      transition: var(--transition);
    }
    .clinic-preview-item:hover { background: rgba(255,255,255,0.1); border-color: rgba(200,134,74,0.3); }
    .clinic-preview-name { font-size: 0.875rem; font-weight: 600; color: white; }
    .clinic-preview-loc { font-size: 0.8rem; color: rgba(255,255,255,0.5); margin-top: 0.1rem; }
    .clinic-preview-dist { font-size: 0.72rem; color: #ffffff; font-weight: 700; background: #17697A; padding: 0.28rem 0.7rem; border-radius: 100px; white-space: nowrap; }

    /* ─── TRUST BAR ─── */
    .trust-bar { background: var(--hael-teal); padding: 1.5rem 0; }
    .trust-bar-inner {
      max-width: 1280px; margin: 0 auto; padding: 0 2rem;
      display: flex; align-items: center; justify-content: space-between; gap: 2rem;
      flex-wrap: wrap;
    }
    .trust-item {
      display: flex; align-items: center; gap: 0.75rem;
    }
    .trust-icon {
      width: 40px; height: 40px; background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.2);
      border-radius: 10px; display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .trust-icon svg { width: 20px; height: 20px; stroke: #F2EDE4; fill: none; stroke-width: 2; }
    .trust-label { font-size: 0.8rem; color: rgba(255,255,255,0.6); font-weight: 500; }
    .trust-value { font-size: 1rem; font-weight: 700; color: #F2EDE4; }

    /* ─── SECTIONS ─── */
    section { padding: 6rem 0; }
    .section-inner { max-width: 1280px; margin: 0 auto; padding: 0 2rem; }
    .section-label {
      font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em;
      text-transform: uppercase; color: var(--hael-teal); margin-bottom: 0.75rem;
    }
    .section-title {
      font-family: var(--font-display); font-size: clamp(1.75rem, 3vw, 2.75rem);
      font-weight: 700; color: var(--hael-deep); line-height: 1.2; margin-bottom: 1rem;
    }
    .section-title em { font-family: var(--font-script); font-style: normal; font-size: 1.1em; line-height: 1.05; color: var(--hael-teal); }
    .section-sub {
      font-size: 1.05rem; color: var(--hael-text-muted); max-width: 560px; line-height: 1.7;
    }

    .section-header { margin-bottom: 3.5rem; }
    .section-header-split {
      display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem;
      margin-bottom: 3.5rem;
    }

   /* ─── CONDITIONS WITH IMAGES (like services) ─── */
    .conditions-section { background: white; }
    /* Section backgrounds using brand palette */
    .conditions-grid {
      display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: 1.25rem;
    }
    .condition-card {
      display: flex; flex-direction: column;
      border: 1.5px solid var(--hael-border); border-radius: var(--radius);
      cursor: pointer; transition: var(--transition);
      overflow: hidden; background: white;
    }
    .condition-card:hover { border-color: var(--hael-teal); transform: translateY(-3px); box-shadow: 0 12px 30px rgba(45,74,62,0.1); }
    .condition-card-img {
      width: 100%; height: 180px; object-fit: cover; object-position: center top; display: block;
      flex-shrink: 0;
      filter: brightness(0.92) saturate(0.88);
      transition: filter var(--transition), transform 0.4s ease;
    }
    .condition-card:hover .condition-card-img { filter: brightness(1) saturate(1); transform: scale(1.02); }
    .condition-card-body { display: flex; flex-direction: column; flex: 1; padding: 1.5rem; }
    .condition-name { font-weight: 700; font-size: 1rem; margin-bottom: 0.4rem; color: var(--hael-deep); }
    .condition-desc { font-size: 0.85rem; color: var(--hael-text-muted); line-height: 1.55; }
    .condition-link {
      display: inline-flex; align-items: center; gap: 0.3rem; align-self: flex-start;
      margin-top: auto; padding-top: 1rem; font-size: 0.8rem; font-weight: 700; color: #E4692B;
      text-decoration: none; transition: var(--transition);
    }
    .condition-link:hover { color: #c55e00; }

    /* ─── HOW IT WORKS ─── */
    .how-section { background: white; }
    .steps-grid {
      display: grid; grid-template-columns: repeat(4,1fr); gap: 2rem; position: relative;
    }
    .steps-grid::before {
      content: ''; position: absolute; top: 28px; left: calc(12.5% + 28px);
      right: calc(12.5% + 28px); height: 2px;
      background: linear-gradient(90deg, var(--hael-teal), var(--hael-saffron));
      z-index: 0;
    }
    .step {
      text-align: center; position: relative; z-index: 1;
    }
    .step-num {
      width: 56px; height: 56px; background: var(--hael-teal); color: white; color: white;
      border-radius: 50%; display: flex; align-items: center; justify-content: center;
      font-weight: 800; font-size: 1.1rem; margin: 0 auto 1.25rem;
      border: 3px solid var(--hael-cream); box-shadow: 0 0 0 2px var(--hael-sage);
    }
    .step-title { font-weight: 700; font-size: 1rem; margin-bottom: 0.5rem; }
    .step-desc { font-size: 0.875rem; color: var(--hael-text-muted); line-height: 1.6; }

    /* ─── SERVICES ─── */
    .services-section { background: white; }
    .services-section .section-title { color: var(--hael-ink); }
    .services-section .section-label { color: var(--hael-teal); }
    .services-section .section-sub { color: var(--hael-text-muted); }
    .services-grid {
      display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem;
    }
    .service-card {
      display: flex; flex-direction: column;
      background: var(--hael-stone); border: 1.5px solid var(--hael-border);
      border-radius: var(--radius); padding: 2rem; transition: var(--transition);
      box-shadow: 0 2px 8px rgba(26,26,46,0.04); overflow: hidden;
    }
    .service-card-img {
      width: 100%; height: 160px; object-fit: cover; display: block;
      flex-shrink: 0;
      filter: brightness(0.92) saturate(0.88);
      transition: filter var(--transition), transform 0.4s ease;
      margin: -2rem -2rem 1.25rem; width: calc(100% + 4rem);
    }
    .service-card:hover .service-card-img { filter: brightness(1) saturate(1); }
    .service-card:hover {
      background: white; border-color: var(--hael-teal);
      transform: translateY(-3px); box-shadow: 0 8px 28px rgba(26,26,46,0.1);
    }
    .service-emoji { font-size: 2rem; margin-bottom: 1rem; }
    .service-name { font-weight: 700; font-size: 1.1rem; color: var(--hael-ink); margin-bottom: 0.5rem; }
    .service-desc { font-size: 0.875rem; color: var(--hael-text-muted); line-height: 1.65; }
    .service-link {
      display: inline-flex; align-items: center; gap: 0.3rem; align-self: flex-start;
      margin-top: auto; padding-top: 1.25rem;
      font-size: 0.8rem; font-weight: 700; color: #E4692B; text-decoration: none;
    }

    /* ─── CLINIC LOCATOR ─── */
    .locator-section { background: white; }
    .locator-layout {
      display: grid; grid-template-columns: 420px 1fr; gap: 3rem; align-items: start;
    }
    .locator-sidebar {}
    .locator-search-bar {
      display: flex; gap: 0.5rem; margin-bottom: 1.5rem;
    }
    .clinic-brand-label {
      font-size: 0.7rem; font-weight: 800; letter-spacing: 0.12em;
      text-transform: uppercase; color: var(--hael-text-muted);
      padding: 0.75rem 0 0.4rem; margin-top: 0.5rem;
      border-top: 1px solid var(--hael-border);
    }
    .clinic-brand-label:first-child { border-top: none; margin-top: 0; padding-top: 0; }

    .locator-search-bar input {
      flex: 1; border: 1.5px solid var(--hael-border); border-radius: var(--radius-sm);
      padding: 0.8rem 1rem; font-family: var(--font-body); font-size: 0.9rem;
      color: var(--hael-text); outline: none; background: var(--hael-cream);
    }
    .locator-search-bar input:focus { border-color: var(--hael-sage); background: white; }
    .locator-search-bar button {
      background: var(--hael-slate); color: white; border: none; border-radius: var(--radius-sm);
      padding: 0.8rem 1.25rem; font-family: var(--font-body); font-weight: 700;
      font-size: 0.875rem; cursor: pointer; transition: var(--transition); white-space: nowrap;
    }
    .locator-search-bar button:hover { background: var(--hael-teal); }

    .region-tabs {
      display: flex; gap: 0.4rem; flex-wrap: wrap; margin-bottom: 1.5rem;
    }
    .region-tab {
      padding: 0.4rem 0.85rem; border-radius: 100px; border: 1.5px solid var(--hael-border);
      font-size: 0.8rem; font-weight: 600; cursor: pointer; transition: var(--transition);
      background: white; color: var(--hael-text-muted);
    }
    .region-tab.active, .region-tab:hover {
      background: var(--hael-teal); color: white; border-color: var(--hael-teal);
    }

    .clinic-list { display: flex; flex-direction: column; gap: 0.75rem; }
    .clinic-card {
      border: 1.5px solid var(--hael-border); border-radius: var(--radius);
      padding: 1.25rem; cursor: pointer; transition: var(--transition); background: white;
    }
    .clinic-card:hover, .clinic-card.active {
      border-color: var(--hael-teal); background: var(--hael-cream);
    }
    .clinic-card-top { display: flex; justify-content: space-between; align-items: flex-start; }
    .clinic-name { font-weight: 700; font-size: 0.975rem; color: var(--hael-ink); }
    .city-hub .clinic-name { color: var(--hael-teal); font-size: 1.05rem; }
    .clinic-address { font-size: 0.825rem; color: var(--hael-text-muted); margin-top: 0.2rem; }
    .clinic-badge {
      font-size: 0.7rem; font-weight: 700; padding: 0.25rem 0.6rem; border-radius: 100px;
      background: rgba(74,124,111,0.1); color: var(--hael-sage);
    }
    .clinic-card-meta {
      display: flex; gap: 1.25rem; margin-top: 0.85rem; padding-top: 0.85rem;
      border-top: 1px solid var(--hael-border);
    }
    .clinic-meta-item { font-size: 0.8rem; color: var(--hael-text-muted); }
    .clinic-meta-item strong { color: var(--hael-deep); }
    .clinic-book-btn {
      margin-top: 0.85rem; width: 100%; background: #17697A; color: white;
      border: none; border-radius: var(--radius-sm); padding: 0.65rem;
      font-family: var(--font-body); font-weight: 700; font-size: 0.875rem; cursor: pointer;
      transition: var(--transition); display: none;
    }
    .clinic-card.active .clinic-book-btn { display: block; }
    .clinic-book-btn:hover { background: var(--hael-teal); color: white; }

    /* Map placeholder */
    .map-container {
      background: #e8ede9; border-radius: var(--radius); overflow: hidden;
      position: sticky; top: 100px; height: 640px;
      display: flex; align-items: center; justify-content: center;
      border: 1.5px solid var(--hael-border);
    }
    .map-inner {
      text-align: center; padding: 2rem;
    }
    .map-pin { font-size: 3rem; margin-bottom: 1rem; }
    .map-placeholder-text { color: var(--hael-text-muted); font-size: 0.9rem; }
    .map-placeholder-text strong { display: block; color: var(--hael-deep); font-size: 1rem; margin-bottom: 0.25rem; }

    /* SVG map visual */
    .map-svg-container {
      width: 100%; height: 100%;
      background: linear-gradient(135deg, #d4e8d8 0%, #c8ddd2 100%);
      position: relative; overflow: hidden;
    }
    .map-svg-overlay {
      position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    }

    /* ─── TESTIMONIALS ─── */
        .testimonials-section { background: var(--hael-mist); padding: 5rem 0; }

    /* Carousel wrapper */
    .reviews-carousel-wrap { position: relative; overflow: hidden; }
    .reviews-track {
      display: flex; gap: 1.25rem;
      transition: transform 0.45s cubic-bezier(0.4,0,0.2,1);
    }
    .review-card {
      background: white; border-radius: var(--radius);
      border: 1px solid var(--hael-border);
      padding: 1.5rem; flex: 0 0 calc(33.333% - 0.85rem);
      min-width: 0; display: flex; flex-direction: column; gap: 1rem;
      box-shadow: 0 2px 12px rgba(26,26,46,0.06);
    }
    .review-card-top { display: flex; align-items: center; gap: 0.75rem; }
    .review-avatar {
      width: 44px; height: 44px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-weight: 700; font-size: 1rem; flex-shrink: 0; color: white;
    }
    .review-meta { flex: 1; min-width: 0; }
    .review-name { font-size: 0.9rem; font-weight: 700; color: var(--hael-ink); }
    .review-date { font-size: 0.775rem; color: var(--hael-text-muted); margin-top: 0.1rem; }
    .review-stars { color: #E4692B; font-size: 1rem; letter-spacing: 0.05em; line-height: 1; }
    .review-body {
      font-size: 0.875rem; color: #3a4a48; line-height: 1.65;
      display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical;
      overflow: hidden; flex: 1;
    }
    .review-read-more {
      font-size: 0.8rem; color: var(--hael-teal); font-weight: 600;
      text-decoration: none; cursor: pointer; background: none; border: none;
      padding: 0; font-family: var(--font-body);
    }
    .review-read-more:hover { color: var(--hael-saffron); }
    .review-footer {
      display: flex; align-items: center; gap: 0.5rem;
      padding-top: 0.75rem; border-top: 1px solid var(--hael-border);
    }
    .review-google-icon { width: 18px; height: 18px; flex-shrink: 0; }
    .review-posted { font-size: 0.7rem; color: var(--hael-text-muted); line-height: 1.2; }
    .review-posted strong { display: block; font-size: 0.725rem; color: var(--hael-ink); }

    /* Carousel controls */
    .carousel-controls {
      display: flex; align-items: center; justify-content: center;
      gap: 1.5rem; margin-top: 2rem;
    }
    .carousel-btn {
      width: 40px; height: 40px; border-radius: 50%;
      background: white; border: 1.5px solid var(--hael-border);
      display: flex; align-items: center; justify-content: center;
      cursor: pointer; transition: var(--transition); flex-shrink: 0;
    }
    .carousel-btn:hover { border-color: var(--hael-teal); background: var(--hael-mist); }
    .carousel-btn svg { width: 16px; height: 16px; stroke: var(--hael-ink); fill: none; stroke-width: 2.5; }
    .carousel-dots { display: flex; gap: 0.5rem; align-items: center; }
    .carousel-dot {
      width: 8px; height: 8px; border-radius: 50%;
      background: var(--hael-border); cursor: pointer; transition: var(--transition);
      border: none; padding: 0;
    }
    .carousel-dot.active { background: var(--hael-teal); width: 20px; border-radius: 4px; }
    @media (max-width: 1024px) {
      .review-card { flex: 0 0 calc(50% - 0.625rem); }
    }
    @media (max-width: 768px) {
      .review-card { flex: 0 0 calc(100% - 0rem); }
    }
    .testimonial-card {
      background: white; border-radius: var(--radius); padding: 2rem;
      border: 1.5px solid var(--hael-border); transition: var(--transition);
    }
    .testimonial-card:hover { border-color: var(--hael-teal); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(45,74,62,0.08); }
    .testimonial-stars { color: var(--hael-amber); font-size: 0.9rem; margin-bottom: 1rem; }
    .testimonial-text {
      font-size: 0.95rem; line-height: 1.7; color: var(--hael-text); margin-bottom: 1.5rem;
      font-style: italic;
    }
    .testimonial-author { display: flex; align-items: center; gap: 0.75rem; }
    .testimonial-avatar {
      width: 40px; height: 40px; background: var(--hael-forest);
      border-radius: 50%; display: flex; align-items: center; justify-content: center;
      color: white; font-weight: 700; font-size: 0.9rem; flex-shrink: 0;
    }
    .author-name { font-weight: 700; font-size: 0.875rem; }
    .author-clinic { font-size: 0.8rem; color: var(--hael-text-muted); }

    /* ─── INSURANCE ─── */
    .insurance-section { background: white; padding: 4rem 0; border-top: 1px solid var(--hael-border); }
    .insurance-inner { max-width: 1280px; margin: 0 auto; padding: 0 2rem; }
    .insurance-header { text-align: center; margin-bottom: 2.5rem; }
    .insurance-header p { color: var(--hael-text-muted); font-size: 0.9rem; }
    .insurance-logos {
      display: flex; align-items: center; justify-content: center;
      max-width: 800px; margin: 0 auto;
    }
    .insurer-pill {
      display: flex; align-items: center; gap: 0.6rem;
      background: var(--hael-mist); border: 1.5px solid var(--hael-border);
      border-radius: var(--radius-sm); padding: 0.6rem 1.25rem;
      font-weight: 700; font-size: 0.875rem; color: var(--hael-text-muted);
    }
    .insurer-dot { width: 8px; height: 8px; border-radius: 50%; }
    .insurer-logo-badge {
      display: inline-flex; align-items: center;
      border-radius: var(--radius-sm); padding: 0.6rem 1.5rem;
      min-width: 90px; justify-content: center;
      box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    }
    .insurer-logo-wordmark {
      font-family: var(--font-body); font-weight: 700; line-height: 1;
      display: block;
    }

    /* ─── FAQ SECTION LAYOUT ─── */
    .faq-section {
      background: white;
      padding: 6rem 0;
      border-top: 1px solid var(--hael-border);
    }
    .faq-layout {
      display: grid;
      grid-template-columns: 380px 1fr;
      gap: 5rem;
      align-items: start;
    }
    .faq-list { display: flex; flex-direction: column; }
    /* ─── FAQ ACCORDION ─── */
    /* ── FAQ ACCORDION ── */
    .faq-item {
      border-bottom: 1.5px solid var(--hael-border);
    }
    .faq-item:first-child { border-top: 1.5px solid var(--hael-border); }
    .faq-question {
      padding: 1.1rem 0;
      cursor: pointer;
      font-size: 0.95rem;
      font-weight: 600;
      font-family: var(--font-body);
      color: var(--hael-ink);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      list-style: none;
      user-select: none;
    }
    .faq-question::after {
      content: "+";
      font-size: 1.25rem;
      font-weight: 300;
      color: #17697A;
      flex-shrink: 0;
      line-height: 1;
      transition: transform 0.2s;
    }
    .faq-item.open .faq-question::after {
      content: "−";
    }
    .faq-answer {
      display: none;
      padding: 0 0 1.1rem;
      font-size: 0.9rem;
      color: #3a4a48;
      line-height: 1.75;
    }
    .faq-item.open .faq-answer { display: block; }
    .faq-answer p { margin: 0; }
    /* ─── CTA BAND ─── */
    .cta-band {
      background: linear-gradient(135deg, #155C6B 0%, #0e4a57 100%);
      padding: 5rem 0;
    }
    .cta-inner {
      max-width: 1280px; margin: 0 auto; padding: 0 2rem;
      display: flex; align-items: center; justify-content: space-between; gap: 3rem;
    }
    .cta-headline {
      font-family: var(--font-display); font-size: clamp(1.75rem, 3vw, 2.5rem);
      font-weight: 700; color: white; line-height: 1.2; max-width: 540px;
    }
    .cta-headline em { font-family: var(--font-script); font-style: normal; font-size: 1.1em; line-height: 1.05; color: var(--hael-saffron-light); }
    .cta-actions { display: flex; gap: 1rem; align-items: center; flex-shrink: 0; flex-wrap: wrap; }
    .btn-secondary {
      background: rgba(255,255,255,0.12); color: white; border: 1.5px solid rgba(255,255,255,0.35);
      font-family: var(--font-body); font-weight: 600; font-size: 0.95rem;
      padding: 0.85rem 2rem; border-radius: var(--radius-sm); cursor: pointer;
      transition: var(--transition); text-decoration: none; display: inline-flex; align-items: center;
    }
    .btn-secondary:hover { background: rgba(255,255,255,0.2); }

    /* ─── FOOTER ─── */
    footer {
      background: #082f41; padding: 4rem 0 2rem;
    }
    .footer-inner { max-width: 1280px; margin: 0 auto; padding: 0 2rem; }
    .footer-grid {
      display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 3rem;
    }
    .footer-brand p {
      font-size: 0.875rem; color: rgba(255,255,255,0.45); line-height: 1.7; margin-top: 1rem;
      max-width: 280px;
    }
    .footer-col-title { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.4); margin-bottom: 1rem; }
    .footer-links { list-style: none; display: flex; flex-direction: column; gap: 0.6rem; }
    .footer-links a { color: rgba(255,255,255,0.6); text-decoration: none; font-size: 0.875rem; transition: var(--transition); }
    .footer-links a:hover { color: var(--hael-teal-light); }
    .footer-bottom {
      border-top: 1px solid rgba(255,255,255,0.08); padding-top: 1.75rem;
      display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap;
    }
    .footer-legal { font-size: 0.8rem; color: rgba(255,255,255,0.35); }
    .footer-legal a { color: rgba(255,255,255,0.5); text-decoration: none; }
    .footer-legal a:hover { color: white; }

    /* ─── MOBILE NAV TOGGLE ─── */
    .mobile-menu-btn {
      display: none; background: none; border: none; cursor: pointer;
      flex-direction: column; gap: 5px; padding: 4px;
    }
    .mobile-menu-btn span {
      display: block; width: 24px; height: 2px; background: white; border-radius: 2px;
      transition: var(--transition);
    }

    /* ABOUT SECTION */
    .about-section { background: var(--hael-stone); padding: 5rem 0; }
    .about-inner { max-width: 1100px; margin: 0 auto; padding: 0 2rem; }
    .about-header { text-align: center; margin-bottom: 3rem; }
    .about-header .section-label { display: flex; justify-content: center; color: var(--hael-teal); }
    .about-header .section-title { color: var(--hael-ink); }
    .about-copy {
      max-width: 720px; margin: 0 auto 3.5rem;
    }
    .about-copy p {
      font-size: 0.975rem; color: var(--hael-text-muted);
      line-height: 1.8; margin-bottom: 1rem; text-align: center;
    }
    .about-copy p:first-child {
      font-size: 1.05rem; color: var(--hael-ink);
      font-style: italic; line-height: 1.75; margin-bottom: 1.25rem;
    }
    .about-copy p:last-child { margin-bottom: 0; }
    .about-stats-row {
      display: grid; grid-template-columns: repeat(4,1fr); gap: 2rem;
    }
    .about-stat-item {
      display: flex; align-items: center; gap: 1rem;
    }
    .about-stat-icon {
      width: 48px; height: 48px; background: rgba(23,105,122,0.1);
      border: 1px solid rgba(23,105,122,0.2); border-radius: 12px;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .about-stat-icon svg { width: 22px; height: 22px; stroke: var(--hael-teal); fill: none; stroke-width: 2; }
    .about-stat-value { font-size: 1.1rem; font-weight: 700; color: var(--hael-teal); }
    .about-stat-label { font-size: 0.8rem; color: var(--hael-text-muted); margin-top: 0.1rem; }
    @media (max-width: 768px) {
      .about-stats-row { grid-template-columns: repeat(2,1fr); gap: 1.5rem; }
      .about-copy p { text-align: left; }
    }
    @media (max-width: 480px) {
      .about-stats-row { grid-template-columns: 1fr 1fr; }
    }

    /* ─── MENS & WOMENS HEALTH ─── */
    .gender-health-section { background: white; }
    .gender-health-grid {
      display: grid; grid-template-columns: 1fr 1fr; gap: 2rem;
    }
    .gender-health-card {
      border-radius: var(--radius); overflow: hidden;
      position: relative; min-height: 480px;
      display: flex; flex-direction: column; justify-content: flex-end;
    }
    .gender-health-card-img {
      position: absolute; inset: 0; width: 100%; height: 100%;
      object-fit: cover; object-position: center top;
    }
    .gender-health-card-overlay {
      position: absolute; inset: 0;
    }
    .gender-health-card.mens .gender-health-card-overlay { background: rgba(26,26,46,0.75); }
    .gender-health-card.womens .gender-health-card-overlay { background: rgba(26,26,46,0.75); }
    .gender-health-card-body {
      position: relative; z-index: 2; padding: 2.5rem;
    }
    .gender-health-label {
      font-size: 0.7rem; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase;
      margin-bottom: 0.6rem;
    }
    .gender-health-card.mens .gender-health-label { color: var(--hael-saffron-light); }
    .gender-health-card.womens .gender-health-label { color: var(--hael-saffron-light); }
    .gender-health-card-title {
      font-family: var(--font-display); font-size: 1.75rem; font-weight: 700;
      color: white; line-height: 1.2; margin-bottom: 1rem;
    }
    .gender-health-card-title em { font-style: italic; }
    .gender-health-services {
      display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1.75rem;
    }
    .gender-health-service-item {
      display: flex; align-items: flex-start; gap: 0.6rem;
      font-size: 0.875rem; color: rgba(255,255,255,0.8); line-height: 1.4;
    }
    .gender-health-service-item::before {
      content: ''; width: 6px; height: 6px; border-radius: 50%;
      flex-shrink: 0; margin-top: 0.45em;
    }
    .gender-health-card.mens .gender-health-service-item::before { background: var(--hael-amber); }
    .gender-health-card.womens .gender-health-service-item::before { background: var(--hael-amber); }
    .gender-health-card-note {
      font-size: 0.75rem; color: rgba(255,255,255,0.45); margin-top: 0.75rem;
      font-style: italic; line-height: 1.5;
    }
    @media (max-width: 768px) {
      .gender-health-grid { grid-template-columns: 1fr; }
      .gender-health-card { min-height: 420px; }
    }


    /* MRI BANNER */
    .mri-banner {
      position: relative; margin-top: 2rem; border-radius: var(--radius);
      overflow: hidden; min-height: 260px;
      display: flex; align-items: center;
    }
    .mri-banner-img {
      position: absolute; inset: 0; width: 100%; height: 100%;
      object-fit: cover; object-position: center;
    }
    .mri-banner-overlay {
      position: absolute; inset: 0;
      background: rgba(26,26,46,0.78);
    }
    .mri-banner-body {
      position: relative; z-index: 2;
      display: flex; align-items: center; justify-content: space-between;
      gap: 3rem; padding: 2.5rem 3rem; width: 100%; flex-wrap: wrap;
    }
    .mri-banner-left { flex: 1; min-width: 280px; }
    .mri-banner-label {
      font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em;
      text-transform: uppercase; color: var(--hael-saffron); margin-bottom: 0.5rem;
    }
    .mri-banner-title {
      font-family: var(--font-display); font-size: clamp(1.4rem, 2.5vw, 2rem);
      font-weight: 700; color: white; line-height: 1.2; margin-bottom: 0.75rem;
    }
    .mri-banner-title em { font-style: italic; color: var(--hael-teal-light); }
    .mri-banner-sub { font-size: 0.9rem; color: rgba(255,255,255,0.7); line-height: 1.6; max-width: 480px; }
    .mri-banner-services {
      display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.25rem;
    }
    .mri-banner-chip {
      background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2);
      border-radius: 100px; padding: 0.3rem 0.85rem;
      font-size: 0.78rem; color: rgba(255,255,255,0.85); white-space: nowrap;
    }
    .mri-banner-right { flex-shrink: 0; display: flex; flex-direction: column; gap: 0.75rem; align-items: flex-start; }
    .mri-banner-note { font-size: 0.75rem; color: rgba(255,255,255,0.45); font-style: italic; max-width: 220px; line-height: 1.5; }
    @media (max-width: 768px) {
      .mri-banner-body { flex-direction: column; padding: 2rem; }
      .mri-banner-right { width: 100%; }
    }

    /* ─── CLINICIAN TRUST (E-E-A-T / YMYL) ─── */
    .clinicians-section { background: var(--hael-stone); }
    .clinicians-grid {
      display: grid; grid-template-columns: repeat(5,1fr); gap: 1.25rem; margin-top: 3.5rem;
    }
    .clinician-card {
      text-align: center; padding: 1.75rem 1.25rem;
      border: 1.5px solid var(--hael-border); border-radius: var(--radius);
      transition: var(--transition);
    }
    .clinician-card:hover { border-color: var(--hael-teal); transform: translateY(-3px); }
    .clinician-photo {
      width: 80px; height: 80px; border-radius: 50%; object-fit: cover; object-position: top center;
      margin: 0 auto 1rem; display: block;
      border: 3px solid var(--hael-mist);
    }
    .clinician-name { font-weight: 700; font-size: 1rem; color: var(--hael-deep); margin-bottom: 0.2rem; }
    .clinician-role { font-size: 0.8rem; color: var(--hael-teal); font-weight: 600; margin-bottom: 0.5rem; }
    .clinician-creds {
      display: flex; justify-content: center; gap: 0.4rem; flex-wrap: wrap; margin-bottom: 0.75rem;
    }
    .clinician-cred-badge {
      font-size: 0.68rem; font-weight: 700; padding: 0.2rem 0.55rem; border-radius: 100px;
      background: rgba(23,105,122,0.1); color: var(--hael-teal);
    }
    .clinician-bio { font-size: 0.82rem; color: var(--hael-text-muted); line-height: 1.55; }
    @media (max-width: 1280px) { .clinicians-grid { grid-template-columns: repeat(5,1fr); } }
    @media (max-width: 768px) { .clinicians-grid { grid-template-columns: repeat(2,1fr); } }
    @media (max-width: 600px) { .clinicians-grid { grid-template-columns: repeat(5,1fr); } }

    /* ─── UTILS ─── */
    .text-amber { color: var(--hael-amber); }
    .arrow { display: inline-block; transition: transform var(--transition); }
    a:hover .arrow { transform: translateX(3px); }



    /* ─── NAVIGATION DROPDOWNS ─── */
    .nav-item { position: relative; }
    /* Extend hover target downward to bridge gap */
    .nav-item > a { padding-bottom: 0.75rem; margin-bottom: -0.75rem; }
    .nav-item > a {
      display: flex; align-items: center; gap: 0.3rem;
    }
    .nav-chevron {
      width: 12px; height: 12px; stroke: rgba(255,255,255,0.6);
      fill: none; stroke-width: 2.5; transition: transform var(--transition);
      flex-shrink: 0;
    }
    .nav-item:hover .nav-chevron,
    .nav-item:focus-within .nav-chevron { transform: rotate(180deg); }

    .nav-dropdown {
      position: absolute; top: 100%; left: 50%;
      transform: translateX(-50%) translateY(-4px);
      background: var(--hael-stone); border: 1.5px solid var(--hael-border);
      border-radius: 0 0 var(--radius) var(--radius);
      box-shadow: 0 16px 40px rgba(26,26,46,0.12);
      opacity: 0; visibility: hidden; pointer-events: none;
      transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
      z-index: 1001; width: max-content; min-width: 520px; max-width: min(92vw, 960px); padding: 1.75rem 2rem;
      display: grid; gap: 0 2rem;
      margin-top: 0;
    }
    /* Bridge pseudo-element fills gap between nav item and dropdown */
    .nav-dropdown::before {
      content: '';
      position: absolute;
      top: -12px; left: 0; right: 0;
      height: 12px;
      background: transparent;
    }
    .nav-item:hover .nav-dropdown,
    .nav-item:focus-within .nav-dropdown {
      opacity: 1; visibility: visible; pointer-events: auto;
      transform: translateX(-50%) translateY(0);
      transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0s;
    }

    /* Two-column panels. 520px left roughly 200px per column, which is narrower than the
       longest description ("Tension and neck-related headaches"), so the text spilled past the
       panel edge. minmax gives each column enough room to hold a description on one line. */
    .nav-dropdown.dd-conditions { grid-template-columns: repeat(2, minmax(240px, max-content)); }
    .nav-dropdown.dd-services { grid-template-columns: repeat(2, minmax(240px, max-content)); }
    /* Clinics - 3 cols */
    /* Column count is set inline from the clinics table; these are fallbacks only. */
    .nav-dropdown.dd-clinics { grid-template-columns: repeat(3, minmax(150px, 1fr)); min-width: 560px; max-width: calc(100vw - 2rem); }
    .nav-dropdown.dd-corp { grid-template-columns: repeat(2, minmax(240px, max-content)); }

    .dd-col-title {
      font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em;
      text-transform: uppercase; color: var(--hael-teal);
      margin-bottom: 0.85rem; padding-bottom: 0.5rem;
      border-bottom: 1.5px solid var(--hael-border);
    }
    .dd-item {
      display: block; padding: 0.45rem 0.5rem;
      border-radius: var(--radius-sm); text-decoration: none;
      transition: background var(--transition);
      margin-bottom: 0.1rem;
    }
    .dd-item:hover { background: rgba(23,105,122,0.06); }
    .dd-item-name {
      font-size: 0.875rem; font-weight: 700; color: var(--hael-ink);
      display: block; line-height: 1.3;
    }
    .dd-item-desc {
      font-size: 0.775rem; color: var(--hael-text-muted);
      display: block; margin-top: 0.1rem; line-height: 1.4;
    }
    .dd-item.womens .dd-item-name { color: var(--hael-teal); }

    /* Divider between col groups on 2-col layouts */
    .dd-col + .dd-col { border-left: 1px solid var(--hael-border); padding-left: 2rem; }
    /* Grid children default to min-width:auto, which let long clinic names overflow
       into the next column instead of wrapping. */
    .dd-col { min-width: 0; }
    .dd-item-name, .dd-item-desc { overflow-wrap: break-word; }

    /* Book prompt strip at bottom */
    .dd-footer {
      grid-column: 1 / -1; margin-top: 1.25rem; padding-top: 1rem;
      border-top: 1px solid var(--hael-border);
      display: flex; align-items: center; justify-content: space-between;
      gap: 1.5rem; flex-wrap: wrap;
    }
    .dd-footer-text {
      font-size: 0.8rem; color: var(--hael-text-muted); min-width: 0;
    }
    .dd-footer-text strong { color: var(--hael-ink); }
    .dd-footer-cta.book { background: #E4692B; }
    .dd-footer-cta {
      background: #17697A; color: white;
      font-size: 0.775rem; font-weight: 700; text-decoration: none;
      padding: 0.45rem 1rem; border-radius: var(--radius-sm);
      display: inline-flex; align-items: center; gap: 0.3rem;
      white-space: nowrap; flex-shrink: 0; transition: background var(--transition);
    }
    .dd-footer-cta:hover { background: var(--hael-saffron-light); color: white; }

    /* ACCESSIBILITY - focus states */
    :focus-visible {
      outline: 3px solid var(--hael-saffron);
      outline-offset: 3px;
      border-radius: 4px;
    }
    .condition-card:focus-visible,
    .service-card:focus-visible,
    .clinic-card:focus-visible {
      outline: 3px solid var(--hael-saffron);
      outline-offset: 2px;
    }
    /* Ensure skip link exists for screen readers */
    .skip-link {
      position: absolute; top: -100px; left: 1rem; z-index: 9999;
      background: var(--hael-saffron); color: white; padding: 0.5rem 1rem;
      border-radius: 0 0 var(--radius-sm) var(--radius-sm); font-weight: 700;
      text-decoration: none; transition: top 0.2s;
    }
    .skip-link:focus { top: 0; }
    /* Image alt text fallback styling */
    img { color: var(--hael-text-muted); font-size: 0.8rem; }

    /* ─── RESPONSIVE ─── */
    @media (max-width: 1024px) {
      .hero-inner { grid-template-columns: 1fr; gap: 3rem; }
      .hero-finder-card { max-width: 520px; }
      .services-grid { grid-template-columns: repeat(2,1fr); }
      .locator-layout { grid-template-columns: 1fr; }
      .map-container { position: static; height: 400px; }
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
      .steps-grid { grid-template-columns: 1fr; }
      .steps-grid::before { display: none; }
      .about-layout { grid-template-columns: 1fr; }
      .about-image-col { min-height: 360px; }
      .about-content-col { padding: 3rem 2rem; }
      .social-photo-grid { grid-template-columns: repeat(5,1fr); }
    }
    @media (max-width: 768px) {
      .nav-links, .btn-outline-white { display: none; }
      .mobile-menu-btn { display: flex; }
      .hero-inner { padding-top: 6rem; }
      .testimonials-grid, .services-grid { grid-template-columns: 1fr; }
      .faq-layout { grid-template-columns: 1fr !important; gap: 2rem; }
      .cta-inner { flex-direction: column; text-align: center; }
      .footer-grid { grid-template-columns: 1fr; }
      .trust-bar-inner { gap: 1.25rem; }
      .trust-item { flex: 1 1 40%; }
      .section-header-split { flex-direction: column; align-items: flex-start; }
      .conditions-grid { grid-template-columns: repeat(2,1fr); }
      .social-photo-grid { grid-template-columns: repeat(3,1fr); }
      .social-photo:nth-child(n+4) { display: none; }
    }
    @media (max-width: 480px) {
      .conditions-grid { grid-template-columns: 1fr; }
      .hero-actions { flex-direction: column; align-items: flex-start; }
      .insurance-logos { gap: 1rem; }
    }

@keyframes pfw-spin { to { transform:rotate(360deg); } }
@keyframes pfw-conf { from { width:0; } }
.pfw-eyebrow { font-size:0.68rem;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:#E4692B;margin-bottom:0.5rem;font-family:var(--font-body),sans-serif; }
.pfw-h3 { font-family:var(--font-display),serif;font-size:clamp(1.25rem,2.5vw,1.65rem);font-weight:700;color:#F2EDE4;margin:0 0 0.5rem;line-height:1.25; }
.pfw-lede { font-size:0.875rem;color:rgba(242,237,228,0.7);margin:0 0 1.25rem;font-family:var(--font-body),sans-serif;line-height:1.65; }
.pfw-actions { display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(242,237,228,0.1); }
.pfw-btn-primary { font-family:var(--font-body),sans-serif;font-weight:700;font-size:0.875rem;background:#E4692B;color:white;border:none;padding:0.7rem 1.6rem;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:0.4rem;transition:background 0.2s,transform 0.15s; }
.pfw-btn-primary:hover:not(:disabled) { background:#F38143;transform:translateY(-1px); }
.pfw-btn-primary:disabled { opacity:0.4;cursor:default;transform:none; }
.pfw-btn-back { font-family:var(--font-body),sans-serif;font-weight:600;font-size:0.875rem;background:transparent;color:rgba(242,237,228,0.6);border:none;padding:0.7rem 0;cursor:pointer;transition:color 0.2s; }
.pfw-btn-back:hover { color:#F2EDE4; }
.pfw-chk { display:flex;align-items:flex-start;gap:0.75rem;padding:0.85rem 1rem;border:1.5px solid rgba(242,237,228,0.15);border-radius:8px;cursor:pointer;transition:border-color 0.2s;font-family:var(--font-body),sans-serif;font-size:0.875rem;color:#F2EDE4;line-height:1.5; }
.pfw-chk:hover { border-color:rgba(23,105,122,0.5); }
.pfw-chk-none { border-color:rgba(23,105,122,0.3);background:rgba(23,105,122,0.08); }
.pfw-opt { display:flex;align-items:flex-start;gap:0.75rem;width:100%;text-align:left;background:rgba(242,237,228,0.05);border:1.5px solid rgba(242,237,228,0.15);border-radius:8px;padding:0.85rem 1rem;cursor:pointer;transition:all 0.2s;font-family:var(--font-body),sans-serif;color:#F2EDE4; }
.pfw-opt:hover { border-color:rgba(23,105,122,0.55);background:rgba(23,105,122,0.08); }
.pfw-opt:focus { outline:2px solid #E4692B;outline-offset:2px; }
.pfw-opt.pfw-sel { border-color:#17697A;background:rgba(23,105,122,0.15); }
.pfw-tick { width:18px;height:18px;border-radius:50%;border:2px solid rgba(242,237,228,0.3);flex-shrink:0;margin-top:2px;transition:all 0.2s;position:relative; }
.pfw-opt.pfw-sel .pfw-tick { border-color:#17697A;background:#17697A; }
.pfw-opt.pfw-sel .pfw-tick::after { content:'';position:absolute;inset:4px;background:white;border-radius:50%; }
.pfw-opt-t { font-size:0.875rem;font-weight:700;display:block;color:#F2EDE4; }
.pfw-opt-s { font-size:0.78rem;color:rgba(242,237,228,0.55);margin-top:2px;display:block; }
.pfw-chip { font-family:var(--font-body),sans-serif;font-size:0.8rem;font-weight:600;background:rgba(242,237,228,0.08);color:#F2EDE4;border:1.5px solid rgba(242,237,228,0.18);padding:0.35rem 0.75rem;border-radius:100px;cursor:pointer;transition:all 0.2s; }
.pfw-chip:hover { border-color:#17697A;background:rgba(23,105,122,0.15); }
.pfw-chip.pfw-sel { background:#17697A;border-color:#17697A; }
.pfw-pip-done { background:#17697A !important; }
/* Result card */
.pfw-res-main { background:rgba(23,105,122,0.12);border:1.5px solid rgba(23,105,122,0.35);border-radius:10px;padding:1.5rem;margin-bottom:1rem; }
.pfw-res-name { font-family:var(--font-display),serif;font-size:1.6rem;font-weight:700;color:#F2EDE4;margin-bottom:0.35rem; }
.pfw-res-blurb { font-size:0.875rem;color:rgba(242,237,228,0.8);line-height:1.65;margin-bottom:0.75rem;font-family:var(--font-body),sans-serif; }
.pfw-res-link { font-size:0.8rem;font-weight:700;color:#F2EDE4;text-decoration:none;font-family:var(--font-body),sans-serif; }
.pfw-res-link:hover { color:#E4692B; }
/* Confidence bar */
.pfw-conf { display:flex;align-items:center;gap:0.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(242,237,228,0.12); }
.pfw-conf-label { font-size:0.75rem;font-weight:700;color:rgba(242,237,228,0.55);font-family:var(--font-body),sans-serif;white-space:nowrap; }
.pfw-conf-bar { flex:1;height:6px;background:rgba(242,237,228,0.12);border-radius:3px;overflow:hidden; }
.pfw-conf-fill { height:100%;background:linear-gradient(90deg,#17697A,#E4692B);border-radius:3px;width:0;transition:width 0.8s ease; }
.pfw-conf-pct { font-size:0.9rem;font-weight:800;color:#E4692B;font-family:var(--font-body),sans-serif;min-width:2.5rem;text-align:right; }
.pfw-res-alt { font-size:0.82rem;color:rgba(242,237,228,0.6);font-family:var(--font-body),sans-serif;line-height:1.6;padding:0.75rem 1rem;background:rgba(242,237,228,0.04);border-radius:8px;border:1px solid rgba(242,237,228,0.1); }
.pfw-res-alt a { color:rgba(242,237,228,0.8);font-weight:600;text-decoration:none; }
.pfw-res-alt a:hover { color:#E4692B; }
.pfw-res-course { display:flex;gap:0.75rem;padding:0.85rem 1rem;background:rgba(232,160,32,0.08);border:1px solid rgba(232,160,32,0.2);border-radius:8px;margin-top:0.75rem;font-family:var(--font-body),sans-serif; }
.pfw-res-course-t { font-size:0.825rem;font-weight:700;color:#F2EDE4;display:block; }
.pfw-res-course-s { font-size:0.78rem;color:rgba(242,237,228,0.6);display:block;margin-top:2px; }
@media (max-width:700px) {
  #pfw-s0 > div:nth-child(4) { grid-template-columns:1fr; }
  #pfw-canvaswrap { max-height:320px; }
}

/* ===== page-specific additions ===== */

    /* ─── CTA BAND ─── */
    .cta-band {
      background: linear-gradient(135deg, #155C6B 0%, #0e4a57 100%);
      padding: 5rem 0;
    }

tions-grid { grid-template-columns: 1fr; }

}
  

    .error-page {
      min-height: calc(100vh - 68px);
      display: flex;
      align-items: center;
      background: var(--hael-stone);
    }
    .error-inner {
      max-width: 1100px;
      margin: 0 auto;
      padding: 5rem 2rem;
      display: grid;
      grid-template-columns: 1fr 480px;
      gap: 5rem;
      align-items: center;
    }
    .error-label {
      font-size: 0.75rem;
      font-weight: 800;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: #E4692B;
      margin-bottom: 1rem;
    }
    .error-code {
      font-family: var(--font-display);
      font-size: clamp(5rem, 12vw, 9rem);
      font-weight: 700;
      color: var(--hael-ink);
      line-height: 1;
      margin-bottom: 0.25rem;
      opacity: 0.08;
      position: absolute;
      top: -1rem;
      left: 0;
      pointer-events: none;
      user-select: none;
    }
    .error-heading {
      font-family: var(--font-display);
      font-size: clamp(1.75rem, 3.5vw, 2.5rem);
      font-weight: 700;
      color: var(--hael-ink);
      line-height: 1.2;
      margin-bottom: 1rem;
      position: relative;
    }
    .error-heading em {
      font-style: italic;
      color: #17697A;
    }
    .error-body {
      font-size: 1rem;
      color: var(--hael-text-muted);
      line-height: 1.8;
      margin-bottom: 2rem;
      max-width: 460px;
    }
    .error-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      margin-bottom: 3rem;
    }
    .error-links {
      border-top: 1.5px solid var(--hael-border);
      padding-top: 1.75rem;
    }
    .error-links-label {
      font-size: 0.75rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--hael-text-muted);
      margin-bottom: 1rem;
    }
    .error-link-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.5rem;
    }
    .error-link {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.6rem 0.85rem;
      background: white;
      border: 1.5px solid var(--hael-border);
      border-radius: 8px;
      text-decoration: none;
      font-size: 0.825rem;
      font-weight: 600;
      color: var(--hael-ink);
      transition: all 0.2s;
    }
    .error-link:hover {
      border-color: #17697A;
      color: #17697A;
      transform: translateY(-1px);
    }
    .error-link svg {
      flex-shrink: 0;
      stroke: #17697A;
    }
    .error-image-wrap {
      position: relative;
    }
    .error-image {
      width: 100%;
      border-radius: var(--radius);
      display: block;
      filter: saturate(0.7) brightness(0.96);
    }
    .error-image-caption {
      position: absolute;
      bottom: 1.5rem;
      left: 1.5rem;
      right: 1.5rem;
      background: rgba(26,26,46,0.82);
      backdrop-filter: blur(8px);
      border-radius: 10px;
      padding: 1rem 1.25rem;
      color: white;
      font-size: 0.85rem;
      line-height: 1.5;
    }
    .error-image-caption strong {
      display: block;
      font-size: 0.9rem;
      margin-bottom: 0.25rem;
      color: #F38143;
    }

    @media (max-width: 900px) {
      .error-inner {
        grid-template-columns: 1fr;
        gap: 3rem;
        padding: 3rem 2rem;
      }

.error-image-wrap {
        order: -1;
        max-width: 480px;
        margin: 0 auto;
      }

.about-page-hero { background: #082f41; padding: 5rem 0; position: relative; overflow: hidden; }

.about-page-hero::before { content: ''; position: absolute; inset: 0; background: url(https://148733292.fs1.hubspotusercontent-eu1.net/hubfs/148733292/raw_assets/public/bonica-theme/images/placeholder-general.jpg) center/cover; opacity: 0.25; }

.about-page-hero-inner { max-width: 860px; margin: 0 auto; padding: 0 2rem; position: relative; z-index: 2; }

.about-page-title { font-family: var(--font-display); font-size: clamp(2rem,4vw,3.5rem); font-weight: 700; color: white; line-height: 1.15; margin-bottom: 1rem; }

.about-page-title em { font-style: italic; color: #E4692B; }

.about-page-sub { font-size: 1.1rem; color: rgba(255,255,255,0.75); max-width: 560px; line-height: 1.7; }

.about-page-layout { max-width: 860px; margin: 0 auto; padding: 4rem 2rem 5rem; }

.about-page-layout h2 { font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; color: var(--hael-ink); margin: 3rem 0 1rem; padding-bottom: 0.5rem; border-bottom: 1.5px solid var(--hael-border); }

.about-page-layout h2:first-child { margin-top: 0; }

.about-page-layout p { font-size: 1rem; color: #3a4a48; line-height: 1.8; margin-bottom: 1.1rem; }

.about-page-layout p.lead { font-size: 1.1rem; color: var(--hael-ink); font-style: italic; line-height: 1.75; }

.about-page-layout strong { color: var(--hael-ink); }

.about-page-layout a { color: #17697A; font-weight: 600; }
      
      
.about-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5rem; margin: 2.5rem 0; padding: 2rem 0; border-top: 1.5px solid var(--hael-border); border-bottom: 1.5px solid var(--hael-border); }

.about-stat { text-align: center; }

.about-stat-val { font-family: var(--font-display); font-size: 2rem; font-weight: 700; color: #17697A; line-height: 1; margin-bottom: 0.35rem; }

.about-stat-lbl { font-size: 0.8rem; color: var(--hael-text-muted); line-height: 1.4; }

.values-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin: 1.5rem 0; }

.value-card { background: var(--hael-stone); border-radius: var(--radius); padding: 1.5rem; border-left: 3px solid #17697A; }

.value-title { font-weight: 700; font-size: 0.95rem; color: var(--hael-ink); margin-bottom: 0.4rem; }

.value-desc { font-size: 0.875rem; color: var(--hael-text-muted); line-height: 1.6; }

.corporate-link-card { background: var(--hael-mist); border: 1.5px solid rgba(23,105,122,0.2); border-radius: var(--radius); padding: 2rem; margin: 2.5rem 0; display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }

.corporate-link-card p { margin: 0; font-size: 0.9rem; color: var(--hael-text-muted); max-width: 500px; }

.corporate-link-card strong { color: var(--hael-ink); display: block; margin-bottom: 0.3rem; font-size: 0.95rem; }

}
  
    body { padding-top: 68px; }
    .service-hero { background: var(--hael-stone); padding: 4rem 0 0; border-bottom: 1px solid var(--hael-border); }
    .service-hero-inner { max-width: 1100px; margin: 0 auto; padding: 0 2rem; display: grid; grid-template-columns: 1fr 420px; gap: 3rem; align-items: end; }
    .service-hero-label { color: #E4692B; margin-bottom: 0.5rem; }
    .service-hero-title { font-family: var(--font-display); font-size: clamp(1.75rem,3.5vw,2.75rem); font-weight: 700; color: var(--hael-ink); line-height: 1.15; margin-bottom: 0.75rem; }
    .service-hero-title em { font-style: italic; color: #17697A; }
    .service-hero-sub { font-size: 1rem; color: var(--hael-text-muted); line-height: 1.7; margin-bottom: 1.5rem; max-width: 520px; }
    .service-hero-reg { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(23,105,122,0.08); border: 1px solid rgba(23,105,122,0.2); border-radius: 100px; padding: 0.4rem 1rem; font-size: 0.775rem; font-weight: 700; color: #17697A; margin-bottom: 1.5rem; }
    .service-hero-img { width: 100%; height: 320px; object-fit: cover; object-position: center top; display: block; border-radius: var(--radius) var(--radius) 0 0; }
    .service-layout { max-width: 1100px; margin: 0 auto; padding: 3.5rem 2rem 5rem; display: grid; grid-template-columns: 1fr 300px; gap: 4rem; align-items: start; }
    .service-content h2 { font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; color: var(--hael-ink); margin: 2.5rem 0 0.85rem; padding-bottom: 0.5rem; border-bottom: 1.5px solid var(--hael-border); }
    .service-content h2:first-child { margin-top: 0; }
    .service-content p { font-size: 0.975rem; color: #3a4a48; line-height: 1.8; margin-bottom: 1rem; }
    .service-content ul { margin: 0.5rem 0 1.25rem 1.5rem; color: #3a4a48; font-size: 0.975rem; line-height: 1.75; }
    .service-content li { margin-bottom: 0.35rem; }
    .service-content strong { color: var(--hael-ink); }
    .service-content a { color: #17697A; font-weight: 600; }
    .authorship-bar { background: var(--hael-stone); border: 1.5px solid var(--hael-border); border-radius: var(--radius); padding: 1rem 1.25rem; margin-bottom: 2.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
    .auth-label { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #17697A; margin-bottom: 0.15rem; }
    .auth-name { font-size: 0.9rem; font-weight: 700; color: var(--hael-ink); }
    .auth-creds { font-size: 0.78rem; color: var(--hael-text-muted); }
    .auth-creds a { color: #17697A; font-weight: 600; text-decoration: none; }
    .info-box { background: rgba(23,105,122,0.07); border: 1.5px solid rgba(23,105,122,0.2); border-radius: var(--radius); padding: 1.25rem 1.5rem; margin: 1.5rem 0; }
    .info-box-title { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #17697A; margin-bottom: 0.5rem; }
    .info-box p { margin: 0; font-size: 0.9rem; color: var(--hael-ink); }
    .service-sidebar { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 1.25rem; }
    .sidebar-card { background: var(--hael-stone); border: 1.5px solid var(--hael-border); border-radius: var(--radius); padding: 1.5rem; }
    .sidebar-card.dark { background: #082f41; border-color: transparent; }
    .sidebar-title { font-weight: 700; font-size: 0.95rem; color: var(--hael-ink); margin-bottom: 0.75rem; }
    .sidebar-card.dark .sidebar-title { color: white; }
    .sidebar-info-row { display: flex; justify-content: space-between; padding: 0.55rem 0; border-bottom: 1px solid var(--hael-border); font-size: 0.825rem; }
    .sidebar-info-row:last-child { border-bottom: none; }
    .sidebar-info-row span:first-child { color: var(--hael-text-muted); }
    .sidebar-info-row span:last-child { font-weight: 600; color: var(--hael-ink); }
    @media (max-width: 900px) { .service-hero-inner { grid-template-columns: 1fr; }

.service-hero-img { height: 240px; border-radius: var(--radius); }

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

.service-sidebar { position: static; }

.faq-item {
      border: 1.5px solid var(--hael-border); border-radius: var(--radius);
      background: white; overflow: hidden; transition: var(--transition);
    }

.faq-item.open { border-color: var(--hael-teal); }

.faq-chevron {
      width: 20px; height: 20px; flex-shrink: 0; transition: transform 0.25s;
      stroke: var(--hael-teal); fill: none; stroke-width: 2;
    }

.faq-item.open .faq-chevron { transform: rotate(180deg); }

.faq-answer.open { max-height: 200px; padding: 0 1.5rem 1.25rem; }

.clinician-hero-inner {
      max-width: 1100px; margin: 0 auto; padding: 0 2rem;
      display: flex; gap: 3rem; align-items: flex-start; flex-wrap: wrap;
    }

.clinician-photo-wrap {
      flex-shrink: 0; position: relative;
    }

.clinician-hero-photo {
      width: 220px; height: 260px; object-fit: cover; object-position: top center;
      border-radius: var(--radius); display: block;
      box-shadow: 0 8px 30px rgba(26,26,46,0.12);
    }

.clinician-verified-badge {
      position: absolute; bottom: -12px; left: 50%; transform: translateX(-50%);
      background: #17697A; color: white; font-size: 0.7rem; font-weight: 700;
      padding: 0.3rem 0.85rem; border-radius: 100px; white-space: nowrap;
      letter-spacing: 0.05em;
    }

.clinician-hero-content { flex: 1; min-width: 280px; padding-top: 0.5rem; }

.clinician-profession {
      font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em;
      text-transform: uppercase; color: #E4692B; margin-bottom: 0.6rem;
    }

.clinician-hero-name {
      font-family: var(--font-display); font-size: clamp(1.75rem, 3vw, 2.5rem);
      font-weight: 700; color: var(--hael-ink); line-height: 1.15; margin-bottom: 0.5rem;
    }

.clinician-role-title {
      font-size: 1.05rem; color: #17697A; font-weight: 600; margin-bottom: 1.25rem;
    }

.clinician-cred-list {
      display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem;
    }

.cred-badge {
      background: rgba(23,105,122,0.1); border: 1px solid rgba(23,105,122,0.2);
      color: #17697A; font-size: 0.775rem; font-weight: 700;
      padding: 0.35rem 0.85rem; border-radius: 100px;
    }

.cred-badge.hcpc { background: rgba(232,160,32,0.1); border-color: rgba(232,160,32,0.3); color: #c4840e; }

.clinician-verify-links { font-size: 0.8rem; color: var(--hael-text-muted); margin-bottom: 1.5rem; }

.clinician-verify-links a { color: #17697A; font-weight: 600; }

.clinician-hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }

.clinician-content h2 {
      font-family: var(--font-display); font-size: 1.35rem; font-weight: 700;
      color: var(--hael-ink); margin: 2.5rem 0 0.85rem; padding-bottom: 0.5rem;
      border-bottom: 1.5px solid var(--hael-border);
    }

.clinician-content h2:first-child { margin-top: 0; }

.clinician-content p {
      font-size: 0.975rem; color: #3a4a48; line-height: 1.78; margin-bottom: 1rem;
    }

.specialism-item {
      background: var(--hael-stone); border: 1px solid var(--hael-border);
      border-radius: var(--radius-sm); padding: 0.75rem 1rem;
      font-size: 0.875rem; font-weight: 600; color: var(--hael-ink);
      display: flex; align-items: center; gap: 0.5rem;
    }

.specialism-item::before {
      content: ''; width: 8px; height: 8px; border-radius: 50%;
      background: #17697A; flex-shrink: 0;
    }

.clinician-review-card {
      background: white; border: 1.5px solid var(--hael-border); border-radius: var(--radius); padding: 1.25rem;
    }

.clinician-review-stars { color: #E4692B; font-size: 0.9rem; margin-bottom: 0.6rem; }

.clinician-review-text {
      font-size: 0.875rem; color: #3a4a48; line-height: 1.65; font-style: italic; margin-bottom: 0.75rem;
    }

.clinician-review-meta {
      font-size: 0.775rem; color: var(--hael-text-muted); display: flex; align-items: center; gap: 0.5rem;
    }

.clinician-review-meta strong { color: var(--hael-ink); }

.profile-sidebar-card {
      background: var(--hael-stone); border: 1.5px solid var(--hael-border);
      border-radius: var(--radius); padding: 1.5rem;
    }

.profile-sidebar-card.dark { background: #082f41; border-color: transparent; }

.profile-sidebar-title { font-weight: 700; font-size: 0.95rem; color: var(--hael-ink); margin-bottom: 1rem; }

.profile-sidebar-card.dark .profile-sidebar-title { color: white; }

.clinic-info-row {
      display: flex; justify-content: space-between; padding: 0.55rem 0;
      border-bottom: 1px solid var(--hael-border); font-size: 0.825rem;
    }

.clinic-info-row:last-child { border-bottom: none; }

.clinic-info-row span:first-child { color: var(--hael-text-muted); }

.clinic-info-row span:last-child { font-weight: 600; color: var(--hael-ink); }

.team-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.25rem; }

.team-mini-card { text-align: center; text-decoration: none; }

.team-mini-card img {
      width: 60px; height: 60px; border-radius: 50%; object-fit: cover;
      object-position: top; display: block; margin: 0 auto 0.4rem;
      border: 2px solid var(--hael-border);
    }

.team-mini-name { font-size: 0.75rem; font-weight: 600; color: var(--hael-ink); }

.team-mini-role { font-size: 0.7rem; color: #17697A; }

}
  
 

    /* CONDITION PAGE */
    .condition-hero {
      background: var(--hael-stone); padding: 4rem 0 0;
      border-bottom: 1px solid var(--hael-border);
    }
    .condition-hero-inner {
      max-width: 1100px; margin: 0 auto; padding: 0 2rem;
      display: grid; grid-template-columns: 1fr 420px; gap: 3rem; align-items: end;
    }
    .condition-hero-label { color: #E4692B; margin-bottom: 0.5rem; }
    .condition-hero-title {
      font-family: var(--font-display); font-size: clamp(1.75rem,3.5vw,2.75rem);
      font-weight: 700; color: var(--hael-ink); line-height: 1.15; margin-bottom: 0.75rem;
    }
    .condition-hero-title em { font-style: italic; color: #17697A; }
    .condition-hero-sub { font-size: 1rem; color: var(--hael-text-muted); line-height: 1.7; margin-bottom: 1.5rem; max-width: 520px; }
    .condition-hero-img {
      width: 100%; height: 320px; object-fit: cover;
      object-position: center top; display: block;
      border-radius: var(--radius) var(--radius) 0 0;
    }
    .condition-layout {
      max-width: 1100px; margin: 0 auto; padding: 3.5rem 2rem 5rem;
      display: grid; grid-template-columns: 1fr 300px; gap: 4rem; align-items: start;
    }
    .condition-content h2 {
      font-family: var(--font-display); font-size: 1.35rem; font-weight: 700;
      color: var(--hael-ink); margin: 2.5rem 0 0.85rem;
      padding-bottom: 0.5rem; border-bottom: 1.5px solid var(--hael-border);
    }
    .condition-content h2:first-child { margin-top: 0; }
    .condition-content h3 { font-size: 1rem; font-weight: 700; color: var(--hael-ink); margin: 1.5rem 0 0.4rem; }
    .condition-content p { font-size: 0.975rem; color: #3a4a48; line-height: 1.8; margin-bottom: 1rem; }
    .condition-content ul { margin: 0.5rem 0 1.25rem 1.5rem; color: #3a4a48; font-size: 0.975rem; line-height: 1.75; }
    .condition-content li { margin-bottom: 0.35rem; }
    .condition-content strong { color: var(--hael-ink); }
    .condition-content a { color: #17697A; font-weight: 600; }
    .authorship-bar {
      background: var(--hael-stone); border: 1.5px solid var(--hael-border);
      border-radius: var(--radius); padding: 1rem 1.25rem; margin-bottom: 2.5rem;
      display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap;
    }
    .auth-label { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #17697A; margin-bottom: 0.15rem; }
    .auth-name { font-size: 0.9rem; font-weight: 700; color: var(--hael-ink); }
    .auth-creds { font-size: 0.78rem; color: var(--hael-text-muted); }
    .auth-creds a { color: #17697A; font-weight: 600; text-decoration: none; }
    .warning-box {
      background: #fff5f0; border-left: 4px solid #B5522A;
      border-radius: 0 var(--radius) var(--radius) 0; padding: 1.25rem 1.5rem; margin: 1.5rem 0;
    }
    .warning-box-title { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #B5522A; margin-bottom: 0.5rem; }
    .warning-box ul { margin: 0.25rem 0 0 1.25rem; color: var(--hael-ink); font-size: 0.9rem; }
    .info-box {
      background: rgba(23,105,122,0.07); border: 1.5px solid rgba(23,105,122,0.2);
      border-radius: var(--radius); padding: 1.25rem 1.5rem; margin: 1.5rem 0;
    }
    .info-box-title { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #17697A; margin-bottom: 0.5rem; }
    .info-box p { margin: 0; font-size: 0.9rem; color: var(--hael-ink); }
    .condition-sidebar { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 1.25rem; }
    .sidebar-card { background: var(--hael-stone); border: 1.5px solid var(--hael-border); border-radius: var(--radius); padding: 1.5rem; }
    .sidebar-card.dark { background: #082f41; border-color: transparent; }
    .sidebar-title { font-weight: 700; font-size: 0.95rem; color: var(--hael-ink); margin-bottom: 0.75rem; }
    .sidebar-card.dark .sidebar-title { color: white; }
    @media (max-width: 900px) {
      .condition-hero-inner { grid-template-columns: 1fr; }

.condition-hero-img { height: 240px; border-radius: var(--radius); }

.condition-layout { grid-template-columns: 1fr; }

.condition-sidebar { position: static; }

}
  

    /* ── BLOG ARTICLE SPECIFIC ── */
    .article-hero {
      background: var(--hael-stone); padding: 3.5rem 0 0; border-bottom: 1px solid var(--hael-border);
    }
    .article-hero-inner {
      max-width: 860px; margin: 0 auto; padding: 0 2rem;
    }
    .article-category {
      display: inline-flex; align-items: center; gap: 0.4rem;
      background: rgba(232,160,32,0.12); border: 1px solid rgba(232,160,32,0.3);
      color: #E4692B; font-size: 0.75rem; font-weight: 700;
      letter-spacing: 0.08em; text-transform: uppercase;
      padding: 0.3rem 0.85rem; border-radius: 100px; margin-bottom: 1.25rem;
      text-decoration: none;
    }
    .article-category:hover { background: rgba(232,160,32,0.2); color: #E4692B; }
    .article-headline {
      font-family: var(--font-display); font-size: clamp(1.75rem, 3.5vw, 2.75rem);
      font-weight: 700; color: var(--hael-ink); line-height: 1.2; margin-bottom: 1rem;
    }
    .article-standfirst {
      font-size: 1.1rem; color: var(--hael-text-muted); line-height: 1.7;
      margin-bottom: 2rem; max-width: 640px;
    }
    .article-meta-bar {
      display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap;
      padding: 1.25rem 0; border-top: 1px solid var(--hael-border);
      font-size: 0.825rem; color: var(--hael-text-muted);
    }
    .article-meta-bar strong { color: var(--hael-ink); }
    .article-meta-divider { color: var(--hael-border); }
    .article-reading-time { display: flex; align-items: center; gap: 0.3rem; }

    .article-layout {
      max-width: 1100px; margin: 0 auto; padding: 3rem 2rem 5rem;
      display: grid; grid-template-columns: 1fr 300px; gap: 4rem; align-items: start;
    }

    /* AUTHORSHIP BAR */
    .article-authorship {
      background: var(--hael-stone); border: 1.5px solid var(--hael-border);
      border-radius: var(--radius); padding: 1rem 1.25rem; margin-bottom: 2.5rem;
      display: flex; align-items: center; justify-content: space-between;
      gap: 1.5rem; flex-wrap: wrap;
    }
    .auth-block { display: flex; align-items: center; gap: 0.85rem; }
    .auth-avatar {
      width: 44px; height: 44px; border-radius: 50%; object-fit: cover;
      object-position: top; border: 2px solid var(--hael-border); flex-shrink: 0;
    }
    .auth-label {
      font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em;
      text-transform: uppercase; color: #17697A; margin-bottom: 0.15rem;
    }
    .auth-name { font-size: 0.9rem; font-weight: 700; color: var(--hael-ink); }
    .auth-creds { font-size: 0.78rem; color: var(--hael-text-muted); margin-top: 0.1rem; }
    .auth-creds a { color: #17697A; font-weight: 600; text-decoration: none; }
    .auth-dates { display: flex; gap: 1.5rem; flex-wrap: wrap; }
    .auth-date-item { font-size: 0.78rem; color: var(--hael-text-muted); }
    .auth-date-item strong { color: var(--hael-ink); display: block; font-size: 0.78rem; }
    .auth-policy-link {
      font-size: 0.75rem; color: #17697A; text-decoration: none; font-weight: 600;
      border: 1px solid var(--hael-border); border-radius: 6px; padding: 0.3rem 0.75rem;
      white-space: nowrap;
    }
    .auth-policy-link:hover { border-color: #17697A; background: var(--hael-mist); }

    /* ARTICLE CONTENT */
    .article-content h2 {
      font-family: var(--font-display); font-size: 1.5rem; font-weight: 700;
      color: var(--hael-ink); margin: 2.5rem 0 1rem; line-height: 1.25;
    }
    .article-content h3 {
      font-size: 1.1rem; font-weight: 700; color: var(--hael-ink); margin: 2rem 0 0.6rem;
    }
    .article-content p {
      font-size: 1rem; color: #3a4a48; line-height: 1.8; margin-bottom: 1.1rem;
    }
    .article-content ul, .article-content ol {
      margin: 0.75rem 0 1.25rem 1.5rem; color: #3a4a48; font-size: 1rem; line-height: 1.75;
    }
    .article-content li { margin-bottom: 0.4rem; }
    .article-content strong { color: var(--hael-ink); font-weight: 700; }
    .article-content a { color: #17697A; font-weight: 600; }
    .article-content a:hover { color: #E4692B; }
    .article-content img {
      width: 100%; border-radius: var(--radius); margin: 1.5rem 0;
      display: block; height: auto;
    }
    .article-content blockquote {
      border-left: 3px solid #17697A; padding: 0.75rem 1.25rem;
      margin: 1.5rem 0; background: var(--hael-mist); border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    }
    .article-content blockquote p {
      margin: 0; font-style: italic; color: var(--hael-ink); font-size: 1.05rem;
    }

    /* INFO BOX */
    .info-box {
      background: rgba(23,105,122,0.07); border: 1.5px solid rgba(23,105,122,0.2);
      border-radius: var(--radius); padding: 1.25rem 1.5rem; margin: 1.5rem 0;
    }
    .info-box-title {
      font-size: 0.75rem; font-weight: 800; letter-spacing: 0.1em;
      text-transform: uppercase; color: #17697A; margin-bottom: 0.5rem;
    }
    .info-box p { margin: 0; font-size: 0.9rem; color: var(--hael-ink); }

    /* WARNING BOX */
    .warning-box {
      background: #fff5f0; border: 1.5px solid rgba(181,82,42,0.25);
      border-left: 4px solid #B5522A;
      border-radius: 0 var(--radius) var(--radius) 0; padding: 1.25rem 1.5rem; margin: 1.5rem 0;
    }
    .warning-box-title {
      font-size: 0.75rem; font-weight: 800; letter-spacing: 0.1em;
      text-transform: uppercase; color: #B5522A; margin-bottom: 0.5rem;
    }
    .warning-box ul { margin: 0.25rem 0 0 1.25rem; color: var(--hael-ink); font-size: 0.9rem; }

    /* ARTICLE FOOTER */
    .article-tags { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--hael-border); }
    .article-tags-label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--hael-text-muted); margin-bottom: 0.75rem; }
    .tag-list { display: flex; flex-wrap: wrap; gap: 0.5rem; }
    .tag {
      background: var(--hael-stone); border: 1px solid var(--hael-border);
      border-radius: 100px; padding: 0.3rem 0.85rem;
      font-size: 0.8rem; font-weight: 600; color: #17697A; text-decoration: none;
    }
    .tag:hover { background: #17697A; color: white; border-color: #17697A; }

    /* SHARE BAR */
    .share-bar {
      margin-top: 2rem; padding: 1.25rem; background: var(--hael-stone);
      border-radius: var(--radius); display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
    }
    .share-label { font-size: 0.875rem; font-weight: 700; color: var(--hael-ink); }
    .share-btn {
      display: inline-flex; align-items: center; gap: 0.4rem;
      padding: 0.45rem 1rem; border-radius: 6px; font-size: 0.8rem; font-weight: 600;
      text-decoration: none; transition: opacity 0.2s;
    }
    .share-btn:hover { opacity: 0.85; }
    .share-btn.twitter { background: #1DA1F2; color: white; }
    .share-btn.linkedin { background: #0A66C2; color: white; }
    .share-btn.facebook { background: #1877F2; color: white; }
    .share-btn.copy { background: var(--hael-mist); color: var(--hael-ink); border: 1px solid var(--hael-border); }

    /* RELATED ARTICLES */
    .related-articles { margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid var(--hael-border); }
    .related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; margin-top: 1.25rem; }
    .related-card {
      background: white; border: 1.5px solid var(--hael-border); border-radius: var(--radius);
      overflow: hidden; text-decoration: none; display: block; transition: border-color 0.2s;
    }
    .related-card:hover { border-color: #17697A; }
    .related-card img { width: 100%; height: 140px; object-fit: cover; display: block; }
    .related-card-body { padding: 1rem; }
    .related-card-cat { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: #E4692B; margin-bottom: 0.4rem; }
    .related-card-title { font-size: 0.875rem; font-weight: 700; color: var(--hael-ink); line-height: 1.35; }

    /* SIDEBAR */
    .article-sidebar { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 1.25rem; }
    .sidebar-widget {
      background: var(--hael-stone); border: 1.5px solid var(--hael-border);
      border-radius: var(--radius); padding: 1.5rem; overflow: hidden;
    }
    .sidebar-widget.dark { background: #082f41; border-color: transparent; }
    .sidebar-widget-title { font-weight: 700; font-size: 0.95rem; color: var(--hael-ink); margin-bottom: 1rem; }
    .sidebar-widget.dark .sidebar-widget-title { color: white; }
    .toc-list { list-style: none; display: flex; flex-direction: column; gap: 0.4rem; }
    .toc-list a {
      font-size: 0.825rem; color: #17697A; text-decoration: none; font-weight: 500;
      padding: 0.3rem 0.5rem; border-radius: 4px; display: block; transition: background 0.2s;
    }
    .toc-list a:hover { background: var(--hael-mist); color: #17697A; }
    .sidebar-services { list-style: none; display: flex; flex-direction: column; gap: 0.4rem; }
    .sidebar-services a {
      font-size: 0.825rem; font-weight: 600; color: #17697A; text-decoration: none;
      padding: 0.35rem 0; border-bottom: 1px solid var(--hael-border); display: block;
    }
    .sidebar-services a:hover { color: #E4692B; }
    .sidebar-services li:last-child a { border-bottom: none; }

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

.article-sidebar { position: static; }

.related-grid { grid-template-columns: 1fr; }

.auth-dates { display: none; }

}
    @media (max-width: 600px) {
      .article-hero { padding: 2rem 0 0; }

.article-meta-bar { gap: 0.75rem; }

}
  
    .listing-hero { background: var(--hael-stone); padding: 4rem 0 3rem; border-bottom: 1px solid var(--hael-border); }
    .listing-hero-inner { max-width: 1100px; margin: 0 auto; padding: 0 2rem; display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
    .listing-hero-text .section-label { color: #17697A; margin-bottom: 0.5rem; }
    .listing-hero-title { font-family: var(--font-display); font-size: clamp(1.75rem,3.5vw,2.75rem); font-weight: 700; color: var(--hael-ink); line-height: 1.15; margin-bottom: 0.75rem; }
    .listing-hero-title em { font-style: italic; color: #17697A; }
    .listing-hero-sub { font-size: 1rem; color: var(--hael-text-muted); max-width: 520px; line-height: 1.7; }
    .filter-bar { background: white; border-bottom: 1px solid var(--hael-border); padding: 1rem 0; position: sticky; top: 68px; z-index: 50; }
    .filter-bar-inner { max-width: 1100px; margin: 0 auto; padding: 0 2rem; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
    .filter-btn { background: white; border: 1.5px solid var(--hael-border); border-radius: 100px; padding: 0.4rem 1rem; font-size: 0.8rem; font-weight: 600; color: var(--hael-text-muted); cursor: pointer; transition: all 0.2s; font-family: inherit; }
    .filter-btn:hover { border-color: #17697A; color: #17697A; }
    .filter-btn.active { background: #17697A; border-color: #17697A; color: white; }
    .listing-section { max-width: 1100px; margin: 0 auto; padding: 3.5rem 2rem 5rem; }
    .listing-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
    .listing-card { background: white; border: 1.5px solid var(--hael-border); border-radius: var(--radius); overflow: hidden; text-decoration: none; display: flex; flex-direction: column; transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s; }
    .listing-card:hover { border-color: #17697A; transform: translateY(-3px); box-shadow: 0 8px 28px rgba(26,26,46,0.08); }
    .listing-card-img { width: 100%; height: 180px; object-fit: cover; object-position: center top; display: block; filter: brightness(0.92) saturate(0.88); transition: filter 0.25s; }
    .listing-card:hover .listing-card-img { filter: brightness(1) saturate(1); }
    .listing-card-body { padding: 1.25rem; flex: 1; display: flex; flex-direction: column; }
    .listing-card-category { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #E4692B; margin-bottom: 0.4rem; }
    .listing-card-title { font-weight: 700; font-size: 1rem; color: var(--hael-ink); margin-bottom: 0.5rem; line-height: 1.3; }
    .listing-card-desc { font-size: 0.825rem; color: var(--hael-text-muted); line-height: 1.55; flex: 1; }
    .listing-card-link { display: inline-flex; align-items: center; gap: 0.3rem; margin-top: 1rem; font-size: 0.8rem; font-weight: 700; color: #17697A; }
    .listing-card:hover .listing-card-link { color: #E4692B; }
    .team-card-photo { width: 100%; height: 220px; object-fit: cover; object-position: top center; display: block; }
    .team-card-creds { display: flex; flex-wrap: wrap; gap: 0.3rem; margin: 0.5rem 0; }
    .team-cred-badge { font-size: 0.65rem; font-weight: 700; padding: 0.15rem 0.5rem; border-radius: 100px; background: rgba(23,105,122,0.1); color: #17697A; }
    .team-card-clinic { font-size: 0.775rem; color: var(--hael-text-muted); margin-top: 0.25rem; }
    .blog-card-meta { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.6rem; flex-wrap: wrap; }
    .blog-card-author { display: flex; align-items: center; gap: 0.4rem; font-size: 0.775rem; color: var(--hael-text-muted); }
    .blog-card-author img { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; object-position: top; }
    .blog-card-date, .blog-card-read { font-size: 0.775rem; color: var(--hael-text-muted); }
    @media (max-width: 900px) { .listing-grid { grid-template-columns: repeat(2,1fr); }

}
    @media (max-width: 560px) { .listing-grid { grid-template-columns: 1fr; }

}
  

    /* SERVICE PAGE */
    .service-hero {
      background: var(--hael-stone); padding: 4rem 0 0;
      border-bottom: 1px solid var(--hael-border);
    }
    .service-hero-inner {
      max-width: 1100px; margin: 0 auto; padding: 0 2rem;
      display: grid; grid-template-columns: 1fr 420px; gap: 3rem; align-items: end;
    }
    .service-hero-label { color: #E4692B; margin-bottom: 0.5rem; }
    .service-hero-title {
      font-family: var(--font-display); font-size: clamp(1.75rem,3.5vw,2.75rem);
      font-weight: 700; color: var(--hael-ink); line-height: 1.15; margin-bottom: 0.75rem;
    }
    .service-hero-title em { font-style: italic; color: #17697A; }
    .service-hero-sub { font-size: 1rem; color: var(--hael-text-muted); line-height: 1.7; margin-bottom: 1.5rem; max-width: 520px; }
    .service-hero-reg {
      display: inline-flex; align-items: center; gap: 0.5rem;
      background: rgba(23,105,122,0.08); border: 1px solid rgba(23,105,122,0.2);
      border-radius: 100px; padding: 0.4rem 1rem; font-size: 0.775rem;
      font-weight: 700; color: #17697A; margin-bottom: 1.5rem;
    }
    .service-hero-img {
      width: 100%; height: 320px; object-fit: cover;
      object-position: center top; display: block;
      border-radius: var(--radius) var(--radius) 0 0;
    }
    .service-layout {
      max-width: 1100px; margin: 0 auto; padding: 3.5rem 2rem 5rem;
      display: grid; grid-template-columns: 1fr 300px; gap: 4rem; align-items: start;
    }
    .service-content h2 {
      font-family: var(--font-display); font-size: 1.35rem; font-weight: 700;
      color: var(--hael-ink); margin: 2.5rem 0 0.85rem;
      padding-bottom: 0.5rem; border-bottom: 1.5px solid var(--hael-border);
    }
    .service-content h2:first-child { margin-top: 0; }
    .service-content h3 { font-size: 1rem; font-weight: 700; color: var(--hael-ink); margin: 1.5rem 0 0.4rem; }
    .service-content p { font-size: 0.975rem; color: #3a4a48; line-height: 1.8; margin-bottom: 1rem; }
    .service-content ul { margin: 0.5rem 0 1.25rem 1.5rem; color: #3a4a48; font-size: 0.975rem; line-height: 1.75; }
    .service-content li { margin-bottom: 0.35rem; }
    .service-content strong { color: var(--hael-ink); }
    .service-content a { color: #17697A; font-weight: 600; }
    .authorship-bar {
      background: var(--hael-stone); border: 1.5px solid var(--hael-border);
      border-radius: var(--radius); padding: 1rem 1.25rem; margin-bottom: 2.5rem;
      display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap;
    }
    .auth-block { display: flex; align-items: center; gap: 0.85rem; }
    .auth-label { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #17697A; margin-bottom: 0.15rem; }
    .auth-name { font-size: 0.9rem; font-weight: 700; color: var(--hael-ink); }
    .auth-creds { font-size: 0.78rem; color: var(--hael-text-muted); margin-top: 0.1rem; }
    .auth-creds a { color: #17697A; font-weight: 600; text-decoration: none; }
    .info-box {
      background: rgba(23,105,122,0.07); border: 1.5px solid rgba(23,105,122,0.2);
      border-radius: var(--radius); padding: 1.25rem 1.5rem; margin: 1.5rem 0;
    }
    .info-box-title { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #17697A; margin-bottom: 0.5rem; }
    .info-box p { margin: 0; font-size: 0.9rem; color: var(--hael-ink); }
    .service-sidebar { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 1.25rem; }
    .sidebar-card { background: var(--hael-stone); border: 1.5px solid var(--hael-border); border-radius: var(--radius); padding: 1.5rem; }
    .sidebar-card.dark { background: #082f41; border-color: transparent; }
    .sidebar-title { font-weight: 700; font-size: 0.95rem; color: var(--hael-ink); margin-bottom: 0.75rem; }
    .sidebar-card.dark .sidebar-title { color: white; }
    .sidebar-info-row { display: flex; justify-content: space-between; padding: 0.55rem 0; border-bottom: 1px solid var(--hael-border); font-size: 0.825rem; }
    .sidebar-info-row:last-child { border-bottom: none; }
    .sidebar-info-row span:first-child { color: var(--hael-text-muted); }
    .sidebar-info-row span:last-child { font-weight: 600; color: var(--hael-ink); }
    @media (max-width: 900px) {
      .service-hero-inner { grid-template-columns: 1fr; }

50%{opacity:0.5}

}
    .cl-layout { max-width: 1100px; margin: 0 auto; padding: 3rem 2rem 5rem; display: grid; grid-template-columns: 1fr 320px; gap: 3.5rem; align-items: start; }
    .cl-main { min-width: 0; }
    .cl-sidebar { min-width: 0; }
    .cl-main h2 { font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; color: var(--hael-ink); margin: 2.5rem 0 0.85rem; padding-bottom: 0.5rem; border-bottom: 1.5px solid var(--hael-border); }
    .cl-main h2:first-child { margin-top: 0; }
    .cl-main p { font-size: 0.975rem; color: #3a4a48; line-height: 1.8; margin-bottom: 1rem; }
    .svc-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1rem 0 1.5rem; }
    .svc-chip { background: var(--hael-stone); border: 1.5px solid var(--hael-border); border-radius: var(--radius-sm); padding: 0.5rem 1rem; font-size: 0.825rem; font-weight: 600; color: #17697A; text-decoration: none; transition: all 0.2s; }
    .svc-chip:hover { background: #17697A; color: white; border-color: #17697A; }
    .inline-cta { background: linear-gradient(135deg, #155C6B 0%, #0e4a57 100%); border-radius: var(--radius); padding: 2rem 2.5rem; margin: 2rem 0; display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
    .inline-cta h3 { font-family: var(--font-display); font-size: 1.25rem; color: white; margin: 0 0 0.25rem; }
    .inline-cta p { font-size: 0.875rem; color: rgba(255,255,255,0.7); margin: 0; }
    .team-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; margin: 1.25rem 0; }
    .tc { border: 1.5px solid var(--hael-border); border-radius: var(--radius); overflow: hidden; transition: border-color 0.2s; }
    .tc:hover { border-color: #17697A; }
    .tc img { width: 100%; height: 160px; object-fit: cover; object-position: top center; display: block; }
    .tc-body { padding: 1rem; }
    .tc-name { font-weight: 700; font-size: 0.9rem; color: var(--hael-ink); }
    .tc-role { font-size: 0.775rem; color: #17697A; margin: 0.2rem 0; font-weight: 600; }
    .tc-creds { display: flex; gap: 0.3rem; flex-wrap: wrap; margin-top: 0.4rem; }
    .tc-creds span { font-size: 0.65rem; font-weight: 700; padding: 0.15rem 0.45rem; border-radius: 100px; background: rgba(23,105,122,0.1); color: #17697A; }
    .map-wrap { width: 100%; height: 280px; border-radius: var(--radius); overflow: hidden; border: 1.5px solid var(--hael-border); margin: 1rem 0; }
    .map-wrap iframe { width: 100%; height: 100%; border: none; }
    .transport-icon-wrap { width: 32px; height: 32px; border-radius: 8px; background: rgba(23,105,122,0.08); border: 1px solid rgba(23,105,122,0.12); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 0.1rem; }
    @media (max-width: 700px) { }
    .transport-list { list-style: none; display: flex; flex-direction: column; gap: 0.6rem; margin: 0.75rem 0; }
    .transport-item:last-child { border-bottom: none; }
    .transport-item { display: flex; align-items: flex-start; gap: 0.85rem; font-size: 0.875rem; color: #3a4a48; line-height: 1.6; padding: 0.5rem 0; border-bottom: 1px solid var(--hael-border); }
    .transport-icon { width: 28px; height: 28px; border-radius: 6px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 0.9rem; background: var(--hael-stone); }
    .hours-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
    .hours-table tr { border-bottom: 1px solid var(--hael-border); }
    .hours-table tr:last-child { border-bottom: none; }
    .hours-table td { padding: 0.6rem 0; color: #3a4a48; }
    .hours-table td:first-child { font-weight: 600; color: var(--hael-ink); width: 140px; }
    .today-hl td { color: #17697A; font-weight: 600; }
    .closed { color: var(--hael-text-muted) !important; font-weight: 400 !important; }
    .rev-section { background: var(--hael-mist); padding: 3rem 0; }
    .rev-inner { max-width: 1100px; margin: 0 auto; padding: 0 2rem; }
    .rev-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; margin-top: 1.5rem; }
    .rev-card { background: white; border: 1px solid var(--hael-border); border-radius: var(--radius); padding: 1.25rem; }
    .rev-stars { color: #E4692B; font-size: 0.875rem; margin-bottom: 0.75rem; }
    .rev-text { font-size: 0.85rem; color: #3a4a48; line-height: 1.6; margin-bottom: 1rem; font-style: italic; }
    .rev-meta { font-size: 0.78rem; color: var(--hael-text-muted); }
    .faq-section { max-width: 1100px; margin: 0 auto; padding: 3rem 2rem; border-top: 1px solid var(--hael-border); }
    .faq-q { padding: 1rem 0; cursor: pointer; font-size: 0.975rem; color: var(--hael-ink); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
    .faq-q::after { content: "＋"; font-size: 1rem; color: #17697A; flex-shrink: 0; }
    .faq-item.open .faq-q::after { content: "－"; }
    .faq-a { display: none; padding: 0 0 1rem; font-size: 0.875rem; color: #3a4a48; line-height: 1.75; }
    .faq-item.open .faq-a { display: block; }
    .other-section { background: var(--hael-stone); padding: 3rem 0; }
    .other-inner { max-width: 1100px; margin: 0 auto; padding: 0 2rem; }
    .other-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; margin-top: 1.5rem; }
    .other-card { background: white; border: 1.5px solid var(--hael-border); border-radius: var(--radius); padding: 1.25rem; text-decoration: none; display: block; transition: border-color 0.2s; }
    .other-card:hover { border-color: #17697A; }
    .other-name { font-weight: 700; font-size: 0.9rem; color: #17697A; margin-bottom: 0.25rem; }
    .other-addr { font-size: 0.8rem; color: var(--hael-text-muted); }
    .cl-sidebar { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 1.25rem; }
    .sb-card { background: var(--hael-stone); border: 1.5px solid var(--hael-border); border-radius: var(--radius); padding: 1.5rem; }
    .sb-card.dark { background: #082f41; border-color: transparent; }
    .sb-title { font-weight: 700; font-size: 0.95rem; color: var(--hael-ink); margin-bottom: 0.75rem; }
    .sb-card.dark .sb-title { color: white; }
    .sb-row { display: flex; justify-content: space-between; padding: 0.55rem 0; border-bottom: 1px solid var(--hael-border); font-size: 0.825rem; }
    .sb-row:last-child { border-bottom: none; }
    .sb-row span:first-child { color: var(--hael-text-muted); }
    .sb-row span:last-child { font-weight: 600; color: var(--hael-ink); }
    .open-now { color: #16a34a !important; }
    @media (max-width: 900px) {
      .cl-layout { grid-template-columns: 1fr; }

.cl-sidebar { position: static; }

.team-grid, .rev-grid, .other-grid { grid-template-columns: repeat(2,1fr); }

.cl-hero-inner { flex-direction: column; align-items: flex-start; }

}
  

    /* ── CLINIC PAGE ── */
    body { padding-top: 68px; }
    .cl-hero { background: #082f41; position: relative; overflow: hidden; min-height: 340px; display: flex; align-items: flex-end; }
    .cl-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
    .cl-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(26,26,46,0.92) 0%, rgba(26,26,46,0.35) 60%, transparent 100%); }
    .cl-hero-inner { position: relative; z-index: 2; max-width: 1100px; margin: 0 auto; padding: 2.5rem 2rem; width: 100%; display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
    .cl-badge { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(232,160,32,0.18); border: 1px solid rgba(232,160,32,0.4); border-radius: 100px; padding: 0.3rem 0.9rem; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #F38143; margin-bottom: 0.6rem; }
    .cl-title { font-family: var(--font-display); font-size: clamp(1.75rem,3.5vw,2.5rem); font-weight: 700; color: white; line-height: 1.15; margin-bottom: 0.4rem; }
    .cl-address { font-size: 0.9rem; color: rgba(255,255,255,0.65); margin-bottom: 1.1rem; display: flex; align-items: center; gap: 0.5rem; }
    .cl-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
    .cl-pills { display: flex; flex-direction: column; gap: 0.6rem; flex-shrink: 0; }
    .cl-pill { display: flex; align-items: center; gap: 0.5rem; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.18); border-radius: var(--radius-sm); padding: 0.55rem 1rem; font-size: 0.8rem; color: white; }
    .cl-dot { width: 8px; height: 8px; border-radius: 50%; background: #4ade80; animation: pulse 2s infinite; }
    @keyframes pulse { 0%,100%{opacity:1}

}

    /* ── LAYOUT ── */
    .cl-layout { max-width: 1100px; margin: 0 auto; padding: 3rem 2rem 5rem; display: grid; grid-template-columns: 1fr 300px; gap: 3.5rem; align-items: start; }
    .cl-main { min-width: 0; }
    .cl-sidebar { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
    .cl-main h2 { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; color: var(--hael-ink); margin: 2.5rem 0 0.75rem; padding-bottom: 0.5rem; border-bottom: 1.5px solid var(--hael-border); }
    .cl-main h2:first-child { margin-top: 0; }
    .cl-main p { font-size: 0.95rem; color: #3a4a48; line-height: 1.8; margin-bottom: 0.85rem; }

    /* ── SERVICE CHIPS ── */
    .svc-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.75rem 0 1.5rem; }
    .svc-chip { background: var(--hael-stone); border: 1.5px solid var(--hael-border); border-radius: var(--radius-sm); padding: 0.45rem 0.9rem; font-size: 0.8rem; font-weight: 600; color: #17697A; text-decoration: none; transition: all 0.2s; }
    .svc-chip:hover { background: #17697A; color: white; border-color: #17697A; }

    /* ── INLINE CTA ── */
    .inline-cta { background: linear-gradient(135deg,#155C6B 0%,#0e4a57 100%); border-radius: var(--radius); padding: 1.75rem 2rem; margin: 0.5rem 0 2rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
    .inline-cta h3 { font-family: var(--font-display); font-size: 1.15rem; color: white; margin: 0 0 0.2rem; }
    .inline-cta p { font-size: 0.85rem; color: rgba(255,255,255,0.7); margin: 0; }

    /* ── TEAM GRID ── */
    .team-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin: 0.75rem 0; }
    .tc { border: 1.5px solid var(--hael-border); border-radius: var(--radius); overflow: hidden; transition: border-color 0.2s; }
    .tc:hover { border-color: #17697A; }
    .tc img { width: 100%; height: 150px; object-fit: cover; object-position: top center; display: block; }
    .tc-body { padding: 0.85rem; }
    .tc-name { font-weight: 700; font-size: 0.875rem; color: var(--hael-ink); }
    .tc-role { font-size: 0.75rem; color: #17697A; margin: 0.15rem 0; font-weight: 600; }
    .tc-creds { display: flex; gap: 0.25rem; flex-wrap: wrap; margin-top: 0.35rem; }
    .tc-creds span { font-size: 0.62rem; font-weight: 700; padding: 0.12rem 0.4rem; border-radius: 100px; background: rgba(23,105,122,0.1); color: #17697A; }

    /* ── MAP ── */
    .map-wrap { width: 100%; height: 260px; border-radius: var(--radius); overflow: hidden; border: 1.5px solid var(--hael-border); margin: 0.75rem 0 0; }
    .map-wrap iframe { width: 100%; height: 100%; border: none; display: block; }

    /* ── TRANSPORT ── */
    .transport-list { list-style: none; margin: 0; padding: 0; }
    .transport-item { display: flex; align-items: flex-start; gap: 0.85rem; padding: 0.75rem 0; border-bottom: 1px solid var(--hael-border); font-size: 0.875rem; color: #3a4a48; line-height: 1.55; }
    .transport-item:last-child { border-bottom: none; }
    .transport-icon-wrap { width: 32px; height: 32px; border-radius: 8px; background: rgba(23,105,122,0.08); border: 1px solid rgba(23,105,122,0.12); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 0.1rem; }

    /* ── INSURANCE SECTION ── */
    .insurance-section { background: var(--hael-mist); border: 1.5px solid rgba(23,105,122,0.15); border-radius: var(--radius); padding: 1.5rem; margin-top: 2.5rem; }
    .insurance-section h2 { border: none; padding: 0; margin: 0 0 0.6rem; font-size: 1.1rem; }
    .insurance-section p { font-size: 0.875rem; margin: 0; color: #3a4a48; }
    .insurance-badges { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.75rem; }
    .ins-badge { background: white; border: 1.5px solid var(--hael-border); border-radius: var(--radius-sm); padding: 0.3rem 0.75rem; font-size: 0.75rem; font-weight: 700; color: var(--hael-ink); }

    /* ── SIDEBAR CARDS ── */
    .sb-card { background: var(--hael-stone); border: 1.5px solid var(--hael-border); border-radius: var(--radius); padding: 1.25rem; }
    .sb-card.dark { background: #082f41; border-color: transparent; }
    .sb-title { font-weight: 700; font-size: 0.9rem; color: var(--hael-ink); margin-bottom: 0.75rem; }
    .sb-card.dark .sb-title { color: white; }
    .sb-row { display: flex; justify-content: space-between; align-items: baseline; padding: 0.5rem 0; border-bottom: 1px solid var(--hael-border); font-size: 0.8rem; }
    .sb-row:last-child { border-bottom: none; }
    .sb-row span:first-child { color: var(--hael-text-muted); }
    .sb-row span:last-child { font-weight: 600; color: var(--hael-ink); text-align: right; }
    .open-now { color: #16a34a !important; }

    /* ── HOURS TABLE in sidebar ── */
    .hours-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; margin-top: 0.25rem; }
    .hours-table tr { border-bottom: 1px solid var(--hael-border); }
    .hours-table tr:last-child { border-bottom: none; }
    .hours-table td { padding: 0.45rem 0; color: #3a4a48; vertical-align: top; }
    .hours-table td:first-child { font-weight: 600; color: var(--hael-ink); width: 90px; }
    .today-hl td { color: #17697A !important; font-weight: 700 !important; }
    .closed { color: var(--hael-text-muted) !important; font-weight: 400 !important; }

    /* ── OTHER CLINICS ── */
    .other-card { background: white; border: 1.5px solid var(--hael-border); border-radius: var(--radius-sm); padding: 0.85rem; text-decoration: none; display: block; margin-bottom: 0.5rem; transition: border-color 0.2s; }
    .other-card:last-child { margin-bottom: 0; }
    .other-card:hover { border-color: #17697A; }
    .other-name { font-weight: 700; font-size: 0.825rem; color: #17697A; margin-bottom: 0.2rem; }
    .other-addr { font-size: 0.775rem; color: var(--hael-text-muted); }

    /* ── REVIEWS ── */
    .rev-section { background: var(--hael-mist); padding: 3rem 0; }
    .rev-inner { max-width: 1100px; margin: 0 auto; padding: 0 2rem; }
    .rev-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; margin-top: 1.5rem; }
    .rev-card { background: white; border: 1px solid var(--hael-border); border-radius: var(--radius); padding: 1.25rem; }
    .rev-stars { color: #E4692B; font-size: 0.875rem; margin-bottom: 0.6rem; }
    .rev-text { font-size: 0.84rem; color: #3a4a48; line-height: 1.6; margin-bottom: 0.85rem; font-style: italic; }
    .rev-meta { font-size: 0.775rem; color: var(--hael-text-muted); }

    /* ── FAQ ── */
    .faq-section { max-width: 1100px; margin: 0 auto; padding: 3rem 2rem; border-top: 1px solid var(--hael-border); }
    .faq-q { padding: 1rem 0; cursor: pointer; font-size: 0.95rem; color: var(--hael-ink); display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-weight: 600; }
    .faq-q::after { content: "＋"; font-size: 1rem; color: #17697A; flex-shrink: 0; }
    .faq-item.open .faq-q::after { content: "－"; }
    .faq-a { display: none; padding: 0 0 1rem; font-size: 0.875rem; color: #3a4a48; line-height: 1.75; }
    .faq-item.open .faq-a { display: block; }

    /* ── OTHER SECTION ── */
    .other-section { background: var(--hael-stone); padding: 2.5rem 0; }
    .other-inner { max-width: 1100px; margin: 0 auto; padding: 0 2rem; }
    .other-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-top: 1.25rem; }

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

.team-grid, .rev-grid { grid-template-columns: repeat(2,1fr); }

.other-grid { grid-template-columns: 1fr 1fr; }

}
  

    /* ── BOOK PAGE ── */
    .book-hero {
      background: #082f41; padding: 3.5rem 0;
    }
    .book-hero-inner {
      max-width: 1100px; margin: 0 auto; padding: 0 2rem;
      display: flex; align-items: center; justify-content: space-between;
      gap: 3rem; flex-wrap: wrap;
    }
    .book-hero-text h1 {
      font-family: var(--font-display); font-size: clamp(1.75rem, 3.5vw, 2.75rem);
      font-weight: 700; color: white; line-height: 1.2; margin-bottom: 0.75rem;
    }
    .book-hero-text h1 em { font-style: italic; color: #E4692B; }
    .book-hero-text p { font-size: 1rem; color: rgba(255,255,255,0.7); max-width: 480px; }
    .book-trust-pills { display: flex; flex-direction: column; gap: 0.6rem; flex-shrink: 0; }
    .book-trust-pill {
      display: flex; align-items: center; gap: 0.75rem;
      background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
      border-radius: 8px; padding: 0.6rem 1rem; font-size: 0.8rem; color: white;
    }
    .book-trust-pill svg { flex-shrink: 0; }

    /* REGION STEP */
    .book-layout {
      max-width: 1100px; margin: 0 auto; padding: 3.5rem 2rem 5rem;
      display: grid; grid-template-columns: 1fr 320px; gap: 4rem; align-items: start;
    }
    .book-step { margin-bottom: 3rem; }
    .book-step:last-child { margin-bottom: 0; }
    .step-label {
      display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.25rem;
    }
    .step-number {
      width: 32px; height: 32px; border-radius: 50%; background: #17697A;
      color: white; font-weight: 700; font-size: 0.875rem;
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .step-title { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; color: var(--hael-ink); }

    /* REGION CARDS */
    .region-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
    .region-card {
      border: 2px solid var(--hael-border); border-radius: var(--radius);
      padding: 1.5rem; cursor: pointer; transition: all 0.2s; background: white;
      text-align: center;
    }
    .region-card:hover { border-color: #17697A; background: rgba(23,105,122,0.04); }
    .region-card.active { border-color: #E4692B; background: rgba(232,160,32,0.05); }
    .region-card-icon {
      width: 44px; height: 44px; border-radius: 10px; background: rgba(23,105,122,0.1);
      display: flex; align-items: center; justify-content: center; margin: 0 auto 0.85rem;
    }
    .region-card.active .region-card-icon { background: rgba(232,160,32,0.15); }
    .region-card-icon svg { stroke: #17697A; }
    .region-card.active .region-card-icon svg { stroke: #E4692B; }
    .region-city { font-size: 1rem; font-weight: 700; color: #17697A; margin-bottom: 0.3rem; }
    .region-card.active .region-city { color: #E4692B; }
    .region-count { font-size: 0.775rem; color: var(--hael-text-muted); }

    /* CLINIC CARDS */
    .clinic-cards {
      display: none; flex-direction: column; gap: 0.75rem; margin-top: 1.5rem;
    }
    .clinic-cards.visible { display: flex; }
    .clinic-book-card {
      background: var(--hael-stone); border: 1.5px solid var(--hael-border);
      border-radius: var(--radius); padding: 1.25rem 1.5rem;
      display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
      transition: border-color 0.2s; flex-wrap: wrap;
    }
    .clinic-book-card:hover { border-color: #17697A; }
    .clinic-book-info { flex: 1; min-width: 200px; }
    .clinic-book-name { font-weight: 700; font-size: 1rem; color: var(--hael-ink); margin-bottom: 0.25rem; }
    .clinic-book-address { font-size: 0.825rem; color: var(--hael-text-muted); margin-bottom: 0.5rem; }
    .clinic-book-services { font-size: 0.775rem; color: #17697A; font-weight: 600; }
    .clinic-book-meta { display: flex; flex-direction: column; gap: 0.4rem; text-align: right; flex-shrink: 0; }
    .clinic-hours { font-size: 0.775rem; color: var(--hael-text-muted); }
    .clinic-open { color: #16a34a; font-weight: 600; }
    .clinic-book-btn {
      background: #E4692B; color: white; border: none; font-family: inherit;
      font-weight: 700; font-size: 0.875rem; padding: 0.7rem 1.5rem;
      border-radius: 8px; cursor: pointer; transition: background 0.2s;
      text-decoration: none; display: inline-flex; align-items: center; gap: 0.4rem;
      white-space: nowrap;
    }
    .clinic-book-btn:hover { background: #F38143; color: white; }

    /* PHONE FALLBACK */
    .phone-fallback {
      background: var(--hael-mist); border-radius: var(--radius);
      padding: 1.5rem; margin-top: 2rem;
      display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap;
    }
    .phone-fallback-text { font-size: 0.875rem; color: var(--hael-text-muted); }
    .phone-fallback-text strong { color: var(--hael-ink); display: block; margin-bottom: 0.25rem; }
    .phone-numbers { display: flex; gap: 1.5rem; flex-wrap: wrap; }
    .phone-item { font-size: 0.875rem; }
    .phone-item span { color: var(--hael-text-muted); display: block; font-size: 0.75rem; margin-bottom: 0.15rem; }
    .phone-item a { color: #17697A; font-weight: 700; text-decoration: none; }
    .phone-item a:hover { color: #E4692B; }

    /* SIDEBAR */
    .book-sidebar { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 1.25rem; }
    .book-sidebar-card {
      background: var(--hael-stone); border: 1.5px solid var(--hael-border);
      border-radius: var(--radius); padding: 1.5rem;
    }
    .book-sidebar-card.dark { background: #082f41; border-color: transparent; }
    .book-sidebar-title { font-weight: 700; font-size: 0.95rem; color: var(--hael-ink); margin-bottom: 1rem; }
    .book-sidebar-card.dark .book-sidebar-title { color: white; }
    .insurance-logos-small { max-width: 100%; height: auto; display: block; margin-top: 0.5rem; }
    .faq-mini { list-style: none; display: flex; flex-direction: column; gap: 0.85rem; }
    .faq-mini-q { font-size: 0.825rem; font-weight: 700; color: var(--hael-ink); margin-bottom: 0.2rem; }
    .faq-mini-a { font-size: 0.8rem; color: var(--hael-text-muted); line-height: 1.5; }

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

.book-sidebar { position: static; }

.region-cards { grid-template-columns: 1fr; }

.book-hero-inner { flex-direction: column; }

.book-trust-pills { flex-direction: row; flex-wrap: wrap; }

.clinic-book-meta { text-align: left; }

}
  

    /* LEGAL PAGE */
    .legal-hero {
      background: var(--hael-stone); padding: 3rem 0;
      border-bottom: 1px solid var(--hael-border);
    }
    .legal-hero-inner {
      max-width: 860px; margin: 0 auto; padding: 0 2rem;
    }
    .legal-label {
      font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em;
      text-transform: uppercase; color: #17697A; margin-bottom: 0.6rem;
    }
    .legal-title {
      font-family: var(--font-display); font-size: clamp(1.75rem,3vw,2.5rem);
      font-weight: 700; color: var(--hael-ink); margin-bottom: 0.6rem;
    }
    .legal-meta {
      font-size: 0.825rem; color: var(--hael-text-muted);
      display: flex; gap: 1.5rem; flex-wrap: wrap; margin-top: 1rem;
    }
    .legal-layout {
      max-width: 1100px; margin: 0 auto; padding: 3rem 2rem 5rem;
      display: grid; grid-template-columns: 1fr 260px; gap: 5rem; align-items: start;
    }
    .legal-content h2 {
      font-family: var(--font-display); font-size: 1.25rem; font-weight: 700;
      color: var(--hael-ink); margin: 2.5rem 0 0.85rem;
      padding-bottom: 0.5rem; border-bottom: 1.5px solid var(--hael-border);
    }
    .legal-content h2:first-child { margin-top: 0; }
    .legal-content h3 {
      font-size: 1rem; font-weight: 700; color: var(--hael-ink); margin: 1.5rem 0 0.5rem;
    }
    .legal-content p {
      font-size: 0.95rem; color: #3a4a48; line-height: 1.8; margin-bottom: 1rem;
    }
    .legal-content ul, .legal-content ol {
      margin: 0.5rem 0 1rem 1.5rem; color: #3a4a48; font-size: 0.95rem; line-height: 1.75;
    }
    .legal-content li { margin-bottom: 0.35rem; }
    .legal-content strong { color: var(--hael-ink); }
    .legal-content a { color: #17697A; font-weight: 600; }
    .legal-content table {
      width: 100%; border-collapse: collapse; margin: 1rem 0 1.5rem; font-size: 0.875rem;
    }
    .legal-content th {
      background: var(--hael-stone); padding: 0.6rem 1rem; text-align: left;
      font-weight: 700; color: var(--hael-ink); border: 1px solid var(--hael-border);
    }
    .legal-content td {
      padding: 0.6rem 1rem; border: 1px solid var(--hael-border); color: #3a4a48;
      vertical-align: top; line-height: 1.5;
    }
    .legal-content tr:nth-child(even) td { background: #fafaf8; }
    .notice-box {
      background: rgba(23,105,122,0.07); border: 1.5px solid rgba(23,105,122,0.2);
      border-radius: var(--radius); padding: 1.25rem 1.5rem; margin-bottom: 2rem;
    }
    .notice-box p { margin: 0; font-size: 0.875rem; color: var(--hael-ink); }
    .notice-box strong { color: #17697A; }
    .legal-toc {
      position: sticky; top: 88px;
      background: var(--hael-stone); border: 1.5px solid var(--hael-border);
      border-radius: var(--radius); padding: 1.5rem;
    }
    .legal-toc-title {
      font-weight: 700; font-size: 0.875rem; color: var(--hael-ink); margin-bottom: 1rem;
    }
    .legal-toc ol {
      margin: 0; padding-left: 1.25rem; display: flex; flex-direction: column; gap: 0.4rem;
    }
    .legal-toc a {
      font-size: 0.8rem; color: #17697A; text-decoration: none; font-weight: 500; line-height: 1.4;
    }
    .legal-toc a:hover { color: #E4692B; }
    .legal-contact-box {
      margin-top: 1.5rem; background: var(--hael-stone); border: 1.5px solid var(--hael-border);
      border-radius: var(--radius); padding: 1.25rem;
    }
    .legal-contact-box p { font-size: 0.8rem; color: var(--hael-text-muted); margin: 0 0 0.5rem; }
    .legal-contact-box a { color: #17697A; font-weight: 600; font-size: 0.8rem; }
    @media (max-width: 900px) {
      .legal-layout { grid-template-columns: 1fr; }

.legal-toc { position: static; }

.emp-hero { background: var(--hael-slate); padding: 5rem 0; position: relative; overflow: hidden; }

.emp-hero::before { content: ''; position: absolute; inset: 0; background: url(https://images.unsplash.com/photo-1497366216548-37526070297c?w=1400&h=600&q=80&auto=format&fit=crop) center/cover; opacity: 0.2; }

.emp-hero-inner { max-width: 1100px; margin: 0 auto; padding: 0 2rem; position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 3rem; flex-wrap: wrap; }

.emp-hero-title { font-family: var(--font-display); font-size: clamp(1.75rem,3.5vw,3rem); font-weight: 700; color: white; line-height: 1.15; margin-bottom: 1rem; }

.emp-hero-title em { font-style: italic; color: #E4692B; }

.emp-hero-sub { font-size: 1rem; color: rgba(255,255,255,0.75); max-width: 500px; line-height: 1.7; }

.emp-hero-card { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); border-radius: var(--radius); padding: 1.75rem; min-width: 240px; }

.emp-hero-stat { text-align: center; margin-bottom: 1rem; }

.emp-hero-stat-val { font-family: var(--font-display); font-size: 2.25rem; font-weight: 700; color: #E4692B; line-height: 1; }

.emp-hero-stat-lbl { font-size: 0.8rem; color: rgba(255,255,255,0.6); margin-top: 0.25rem; }

.emp-hero-card hr { border: none; border-top: 1px solid rgba(255,255,255,0.1); margin: 0.85rem 0; }

.emp-layout { max-width: 1100px; margin: 0 auto; padding: 4rem 2rem 5rem; display: grid; grid-template-columns: 1fr 320px; gap: 4rem; align-items: start; }

.emp-content h2 { font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; color: var(--hael-ink); margin: 2.5rem 0 0.85rem; padding-bottom: 0.5rem; border-bottom: 1.5px solid var(--hael-border); }

.emp-content h2:first-child { margin-top: 0; }

.emp-content h3 { font-size: 1rem; font-weight: 700; color: var(--hael-ink); margin: 1.5rem 0 0.4rem; }

.emp-content p { font-size: 0.975rem; color: #3a4a48; line-height: 1.8; margin-bottom: 1rem; }

.emp-content ul { margin: 0.5rem 0 1rem 1.5rem; color: #3a4a48; font-size: 0.975rem; line-height: 1.75; }

.emp-content li { margin-bottom: 0.35rem; }

.emp-content strong { color: var(--hael-ink); }

.emp-content a { color: #17697A; font-weight: 600; }

.service-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.25rem 0; }

.service-tile { background: var(--hael-stone); border: 1.5px solid var(--hael-border); border-radius: var(--radius); padding: 1.25rem; }

.service-tile-icon { width: 36px; height: 36px; background: rgba(23,105,122,0.1); border-radius: 8px; display: flex; align-items: center; justify-content: center; margin-bottom: 0.75rem; }

.service-tile-icon svg { stroke: #17697A; fill: none; stroke-width: 2; stroke-linecap: round; }

.service-tile-title { font-weight: 700; font-size: 0.9rem; color: var(--hael-ink); margin-bottom: 0.3rem; }

.service-tile-desc { font-size: 0.8rem; color: var(--hael-text-muted); line-height: 1.5; }

.emp-enquiry-form { background: var(--hael-stone); border-radius: var(--radius); padding: 2rem; margin-top: 2.5rem; }

.emp-enquiry-title { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; color: var(--hael-ink); margin-bottom: 0.4rem; }

.emp-enquiry-sub { font-size: 0.85rem; color: var(--hael-text-muted); margin-bottom: 1.5rem; }

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

.form-label { display: block; font-size: 0.825rem; font-weight: 700; color: var(--hael-ink); margin-bottom: 0.35rem; }

.form-input, .form-select, .form-textarea { width: 100%; border: 1.5px solid var(--hael-border); border-radius: 8px; padding: 0.75rem 1rem; font-family: inherit; font-size: 0.875rem; color: var(--hael-ink); background: white; outline: none; transition: border-color 0.2s; }

.form-input:focus, .form-select:focus, .form-textarea:focus { border-color: #17697A; }

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

.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

.form-submit { width: 100%; background: #E4692B; color: white; border: none; font-family: inherit; font-weight: 700; font-size: 0.95rem; padding: 0.9rem; border-radius: 8px; cursor: pointer; margin-top: 0.5rem; transition: background 0.2s; }

.form-submit:hover { background: #F38143; }

.form-disclaimer { font-size: 0.75rem; color: var(--hael-text-muted); margin-top: 0.75rem; text-align: center; line-height: 1.5; }

.emp-sidebar { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 1.25rem; }

.emp-sidebar-card { background: var(--hael-stone); border: 1.5px solid var(--hael-border); border-radius: var(--radius); padding: 1.5rem; }

.emp-sidebar-card.dark { background: #082f41; border-color: transparent; }

.emp-sidebar-title { font-weight: 700; font-size: 0.95rem; color: var(--hael-ink); margin-bottom: 0.75rem; }

.emp-sidebar-card.dark .emp-sidebar-title { color: white; }

.emp-contact-item { display: flex; gap: 0.75rem; align-items: flex-start; margin-bottom: 0.85rem; font-size: 0.825rem; color: #3a4a48; }

.emp-contact-item:last-child { margin-bottom: 0; }

.emp-contact-item svg { stroke: #17697A; fill: none; stroke-width: 2; stroke-linecap: round; flex-shrink: 0; margin-top: 0.15rem; }

.emp-contact-item a { color: #17697A; font-weight: 600; text-decoration: none; }

.why-list { list-style: none; display: flex; flex-direction: column; gap: 0.6rem; }

.why-item { display: flex; align-items: flex-start; gap: 0.6rem; font-size: 0.825rem; color: rgba(255,255,255,0.75); }

.why-item svg { stroke: #E4692B; fill: none; stroke-width: 2.5; stroke-linecap: round; flex-shrink: 0; margin-top: 0.1rem; }

.ins-hero { background: var(--hael-stone); padding: 4rem 0 3rem; border-bottom: 1px solid var(--hael-border); }

.ins-hero-inner { max-width: 1100px; margin: 0 auto; padding: 0 2rem; display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }

.ins-hero-title { font-family: var(--font-display); font-size: clamp(1.75rem,3.5vw,2.75rem); font-weight: 700; color: var(--hael-ink); line-height: 1.2; margin-bottom: 0.75rem; }

.ins-hero-title em { font-style: italic; color: #17697A; }

.ins-hero-sub { font-size: 1rem; color: var(--hael-text-muted); max-width: 520px; line-height: 1.7; }

.ins-layout { max-width: 1100px; margin: 0 auto; padding: 3.5rem 2rem 5rem; display: grid; grid-template-columns: 1fr 300px; gap: 4rem; align-items: start; }

.ins-content h2 { font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; color: var(--hael-ink); margin: 2.5rem 0 0.85rem; padding-bottom: 0.5rem; border-bottom: 1.5px solid var(--hael-border); }

.ins-content h2:first-child { margin-top: 0; }

.ins-content h3 { font-size: 1rem; font-weight: 700; color: var(--hael-ink); margin: 1.5rem 0 0.5rem; }

.ins-content p { font-size: 0.975rem; color: #3a4a48; line-height: 1.8; margin-bottom: 1rem; }

.ins-content ul { margin: 0.5rem 0 1rem 1.5rem; color: #3a4a48; font-size: 0.975rem; line-height: 1.75; }

.ins-content li { margin-bottom: 0.35rem; }

.ins-content strong { color: var(--hael-ink); }

.ins-content a { color: #17697A; font-weight: 600; }

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

.insurer-card {
      background: white; border: 1.5px solid var(--hael-border);
      border-radius: var(--radius); padding: 1.25rem;
      text-align: center; transition: border-color 0.2s;
      display: flex; flex-direction: column; align-items: center;
      justify-content: center; gap: 0.75rem;
    }

.insurer-card:hover { border-color: #17697A; }

.insurer-logo { width: 140px; height: 56px; object-fit: contain; display: block; margin: 0 auto; }

.insurer-name { font-weight: 700; font-size: 0.95rem; color: var(--hael-ink); margin-bottom: 0.3rem; }

.insurer-note { font-size: 0.775rem; color: var(--hael-text-muted); line-height: 1.4; }

.steps-list { list-style: none; margin: 0 0 1.5rem; padding: 0; counter-reset: steps; display: flex; flex-direction: column; gap: 1rem; }

.steps-list li { display: flex; gap: 1rem; align-items: flex-start; counter-increment: steps; }

.steps-list li::before { content: counter(steps); width: 32px; height: 32px; border-radius: 50%; background: #17697A; color: white; font-weight: 700; font-size: 0.875rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 0.1rem; }

.steps-list .step-text { font-size: 0.95rem; color: #3a4a48; line-height: 1.7; }

.steps-list .step-text strong { color: var(--hael-ink); display: block; margin-bottom: 0.2rem; }

.ins-sidebar { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 1.25rem; }

.ins-sidebar-card { background: var(--hael-stone); border: 1.5px solid var(--hael-border); border-radius: var(--radius); padding: 1.5rem; }

.ins-sidebar-card.dark { background: #082f41; border-color: transparent; }

.ins-sidebar-title { font-weight: 700; font-size: 0.95rem; color: var(--hael-ink); margin-bottom: 1rem; }

.ins-sidebar-card.dark .ins-sidebar-title { color: white; }

.ins-faq { list-style: none; display: flex; flex-direction: column; gap: 0.85rem; }

.ins-faq-q { font-size: 0.825rem; font-weight: 700; color: var(--hael-ink); margin-bottom: 0.2rem; }

.ins-faq-a { font-size: 0.8rem; color: var(--hael-text-muted); line-height: 1.5; }

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

html,body{background:var(--bg);color:var(--ink);font-family:var(--font-body),sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}

.app{width:100%;max-width:900px}

.logo 
  .logo .mark:before{content:"";position:absolute;inset:9px;border:2.5px solid #081012;border-radius:50%;border-right-color:transparent;transform:rotate(-30deg)}

.logo small{display:block;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}

.progress{display:flex;gap:6px}

.progress i{width:26px;height:4px;border-radius:4px;background:var(--line);transition:.4s}

.progress i.on{background:var(--accent);box-shadow:0 0 10px -1px var(--accent)}

.card {
    background:#0D2E41;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;backdrop-filter:blur(8px);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}

.pad{padding:40px 42px}

.eyebrow{font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:#E4692B;font-weight:800;margin-bottom:0.75rem;font-family:var(--font-body),sans-serif;}

h1{font-family:var(--font-display),serif;font-weight:700;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.15;letter-spacing:-.01em;margin-bottom:16px}

h2{font-family:var(--font-display),serif;font-weight:500;font-size:clamp(23px,4vw,31px);line-height:1.12;margin-bottom:8px}

p.lede{font-size:17px;color:var(--muted);max-width:54ch}

.step.active{display:block}

.btn {
    font-family: var(--font-body), sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    border-radius: 8px;
    padding: 0.75rem 1.75rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: all 0.2s;
    white-space: nowrap;
    text-decoration: none;
  }

.btn-ghost {
    background: transparent;
    color: rgba(242,237,228,0.55);
    padding: 0.75rem 0.5rem;
    border: none;
  }

.btn-ghost:hover { color: rgba(242,237,228,0.9); }

.btn[disabled] {
    opacity: 0.35;
    cursor: not-allowed;
    transform: none !important;
  }

.actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:30px;border-top:1px solid var(--line);padding-top:22px}

.disclaimer{margin-top:26px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:13px;color:var(--muted);display:flex;gap:10px}

.disclaimer svg{flex:0 0 auto;margin-top:1px}

.maplayout{display:grid;grid-template-columns:1fr 280px;gap:28px;align-items:start}

.canvaswrap{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;height:540px;
    background:radial-gradient(440px 540px at 50% 44%,#1a2730 0,#0a1015 55%,#070b0e 100%);}

#scene{display:block;width:100%;height:100%;touch-action:none;cursor:grab}

#scene:active{cursor:grabbing}

.scanlines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(47,212,191,.05) 0 1px,transparent 1px 3px);opacity:.4;mix-blend-mode:screen}

.hint3d{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);font-size:12px;color:var(--muted);background:rgba(8,12,15,.7);border:1px solid var(--line);padding:6px 12px;border-radius:999px;pointer-events:none;transition:.5s;display:flex;gap:7px;align-items:center}

.hint3d.hide{opacity:0}

.loading3d{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px;flex-direction:column;gap:14px}

.spin{width:30px;height:30px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:sp 1s linear infinite}

.sidepanel h3{font-family:var(--font-display),serif;font-weight:500;font-size:19px;margin-bottom:4px}

.selname{font-size:15px;color:var(--accent);font-weight:600;min-height:24px}

.selname.empty{color:var(--muted);font-weight:500}

.hint{font-size:13px;color:var(--muted);margin-top:14px}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}

.chip{font-size:12.5px;background:rgba(255,255,255,.05);border-radius:999px;padding:6px 12px;color:var(--muted);cursor:pointer;border:1px solid transparent;transition:.2s;font-weight:500}

.chip:hover{border-color:var(--accent);color:var(--ink)}

.chip.sel{background:var(--pain-soft);color:var(--warn);border-color:var(--pain)}

.q{margin-bottom:26px}

.q .label{font-weight:600;font-size:16px;margin-bottom:12px}

.opts{display:grid;gap:10px}

.opt{border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;transition:.18s;background:rgba(255,255,255,.02);display:flex;gap:12px;align-items:flex-start}

.opt:hover{border-color:rgba(47,212,191,.5);background:rgba(255,255,255,.04)}

.opt.sel{border-color:var(--accent);background:var(--accent-soft)}

.opt .tick{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex:0 0 auto;margin-top:1px;position:relative;transition:.18s}

.opt.sel .tick{border-color:var(--accent);background:var(--accent)}

.opt.sel .tick:after{content:"";position:absolute;inset:4px;background:#04201d;border-radius:50%}

.opt .otxt strong{display:block;font-size:15px;font-weight:600}

.opt .otxt span{font-size:13px;color:var(--muted)}

.resulthead{display:flex;align-items:center;gap:16px;margin-bottom:6px}

.badge{flex:0 0 auto;width:58px;height:58px;border-radius:14px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center}

.rec{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin:18px 0}

.rec .disc{font-family:var(--font-display),serif;font-size:27px;font-weight:500;color:var(--accent)}

.rec .clinic{font-weight:600;margin-top:10px}

.rec .why{font-size:14.5px;color:var(--muted);margin-top:10px}

.rec .course{margin-top:14px;display:flex;gap:10px;align-items:flex-start;background:var(--accent-soft);border:1px solid rgba(47,212,191,.28);border-radius:10px;padding:12px 14px}

.rec .course svg{flex:0 0 auto;margin-top:2px}

.rec .course strong{font-size:14.5px;font-weight:600;color:var(--ink)}

.rec .course span{display:block;font-size:13px;color:var(--muted);margin-top:2px}

.conf{display:flex;gap:8px;align-items:center;margin-top:16px;font-size:12.5px;color:var(--muted)}

.conf b{color:var(--ink)}

.bar{flex:1;height:6px;background:rgba(255,255,255,.08);border-radius:6px;overflow:hidden;max-width:170px}

.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent-deep),var(--accent));border-radius:6px;transition:.8s}

.alt{font-size:13.5px;color:var(--muted);margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}

.redflag{background:rgba(255,122,69,.08);border:1px solid rgba(255,122,69,.4);border-radius:14px;padding:24px;color:var(--warn)}

.redflag h2{color:var(--warn)}

.redflag p{color:#f3d8cd}

.checkrow{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}

.checkrow:last-child{border:none}

.checkrow input{margin-top:3px;width:18px;height:18px;accent-color:#E4692B;flex:0 0 auto}

.checkrow label{font-size:14.5px}

/* ---- HubDB listing + blog article ---- */
.hael-listing{background:var(--hael-stone);padding:4rem 1.5rem}.hael-listing-inner{max-width:1140px;margin:0 auto}
.hael-listing-title{font-family:var(--font-display);font-size:2.25rem;color:var(--hael-ink);margin-bottom:2rem}
.hael-listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}
.hael-listing-card{display:block;background:#fff;border:1px solid var(--hael-border);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow var(--transition)}
.hael-listing-card:hover{box-shadow:0 8px 30px rgba(0,0,0,.08)}.hael-listing-card img{width:100%;height:180px;object-fit:cover;display:block}
.hael-listing-card h3{font-family:var(--font-display);font-size:1.15rem;padding:1rem 1rem .25rem;color:var(--hael-ink)}.hael-listing-card p{padding:0 1rem 1rem;font-size:.9rem;color:var(--hael-text-muted)}
.hael-article{background:#fff;padding:4rem 1.5rem}.hael-article-inner{max-width:760px;margin:0 auto}
.hael-article-inner h1{font-family:var(--font-display);font-size:2.5rem;color:var(--hael-ink);line-height:1.15}.hael-article-meta{color:var(--hael-text-muted);margin:.75rem 0 2rem}
.hael-article-hero{width:100%;border-radius:var(--radius);margin-bottom:2rem}.hael-article-body{font-size:1.075rem;line-height:1.75}.hael-article-body h2{font-family:var(--font-display);margin:2rem 0 .75rem}.hael-article-body p{margin-bottom:1.25rem}

/* ---- Clinic finder results ---- */
.hcf-result{display:flex;flex-direction:column;padding:.75rem 1rem;border:1px solid var(--hael-border);border-radius:var(--radius-sm);margin-bottom:.5rem;text-decoration:none;background:#fff;transition:box-shadow var(--transition)}
.hcf-result:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.hcf-result-name{font-weight:700;color:var(--hael-ink)}
.hcf-result-meta{font-size:.85rem;color:var(--hael-text-muted)}
.hcf-empty{font-size:.9rem;color:var(--hael-text-muted);padding:.5rem 0}

/* ---- Clinic directions link ---- */
.clinic-directions{display:inline-block;margin-top:.5rem;margin-left:.75rem;font-size:.85rem;font-weight:600;color:var(--hael-teal);text-decoration:none}
.clinic-directions:hover{text-decoration:underline}

/* ---- Leaflet clinic map ---- */
#hael-map{width:100%;height:100%;min-height:440px;border-radius:var(--radius);z-index:1}
.hael-pin{width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.hael-pin-clinic{background:var(--hael-saffron)}
.hael-pin-user{background:var(--hael-teal)}
.leaflet-popup-content{font-family:var(--font-body);font-size:.85rem;line-height:1.4}
.leaflet-popup-content strong{font-family:var(--font-display)}
.leaflet-popup-content a{color:var(--hael-teal);font-weight:600;text-decoration:none}

/* ---- Clinic map sizing (robust) ---- */
.map-svg-container{position:relative !important;min-height:440px}
#hael-map{position:absolute;inset:0;width:100%;height:100%;min-height:440px}

/* ---- Booking ---- */
.hael-booking{background:var(--hael-stone);padding:3.5rem 1.5rem}
.hael-booking-inner{max-width:1000px;margin:0 auto}
.hael-booking-title{font-family:var(--font-display);font-size:2.25rem;color:var(--hael-ink);margin-bottom:.5rem}
.hael-booking-intro{color:var(--hael-text);margin-bottom:2rem;font-size:1.05rem}
.hael-booking-embed{background:#fff;border:1px solid var(--hael-border);border-radius:var(--radius);overflow:hidden}
.hael-booking-embed iframe{display:block;width:100%}

/* ---- Booking chooser ---- */
.bk-step{margin-bottom:1.75rem}
.bk-step-label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hael-text-muted);margin-bottom:.75rem}
.bk-options{display:flex;flex-wrap:wrap;gap:.6rem}
.bk-option{padding:.7rem 1.2rem;border:1.5px solid var(--hael-border);border-radius:var(--radius-sm);background:#fff;font-weight:600;color:var(--hael-ink);cursor:pointer;transition:all var(--transition)}
.bk-option:hover{border-color:var(--hael-teal)}
.bk-option.selected{background:var(--hael-teal);border-color:var(--hael-teal);color:#fff}
.bk-result{margin-top:1rem}
.bk-book{display:inline-block;font-size:1.05rem;padding:1rem 1.75rem}
.bk-note{font-size:.85rem;color:var(--hael-text-muted);margin-top:.6rem}

/* ---- dynamic service/condition page styles ---- */
.svc-faq{margin-top:2.5rem}.svc-faq h2{margin-bottom:1rem}
.svc-faq-item{border-bottom:1px solid var(--hael-border);padding:1rem 0}.svc-faq-item:last-of-type{border-bottom:none}
.svc-faq-q{font-weight:700;color:var(--hael-ink);font-family:var(--font-display);font-size:1.05rem;margin-bottom:.4rem}
.svc-faq-a{color:var(--hael-text);font-size:.95rem;line-height:1.6}
.service-hero-inner img{margin-bottom:2.25rem}


/* ===== Clinic + clinician dynamic pages (added to theme) ===== */
.breadcrumb{background:var(--hael-stone,#f2ede4);border-bottom:1px solid var(--hael-border,#e5ded3);padding:.75rem 0}
.breadcrumb-inner{max-width:1200px;margin:0 auto;padding:0 2rem}
.breadcrumb ol{list-style:none;display:flex;gap:.5rem;flex-wrap:wrap;padding:0;margin:0;font-size:.8rem}
.breadcrumb a{color:var(--hael-text-muted,#6b6b76);text-decoration:none}
.breadcrumb li+li::before{content:"\203a";margin-right:.5rem;color:var(--hael-text-muted,#6b6b76)}

.clinic-hero{position:relative;max-width:1200px;margin:0 auto;padding:2rem 2rem 0}
.clinic-hero-img{width:100%;height:360px;object-fit:cover;border-radius:14px;display:block}
.clinic-hero-inner{margin-top:1.5rem}
.clinic-hero-badge,.clinic-status-pill{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px}
.clinic-hero-badge{background:var(--hael-saffron,#E4692B);color:#0D2E41;margin-bottom:.6rem}
.clinic-status-pill{background:#e6f4ea;color:#1f7a44;margin-top:.5rem}
.clinic-hero-title{font-family:var(--font-display,var(--font-display),serif);font-size:clamp(1.8rem,4vw,2.6rem);color:var(--hael-ink,#0D2E41);margin:.4rem 0 .5rem;line-height:1.15}
.clinic-hero-address{color:var(--hael-text,#333);font-size:1rem;margin-bottom:1rem}
.clinic-hero-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}

.clinic-layout,.clinician-layout{max-width:1200px;margin:0 auto;padding:2rem;display:grid;grid-template-columns:1fr 340px;gap:3rem;align-items:start}
.clinic-layout main,.clinician-layout main{min-width:0}
.clinic-layout h2,.clinician-layout h2{font-family:var(--font-display,var(--font-display),serif);font-size:1.55rem;color:var(--hael-ink,#0D2E41);margin:2rem 0 .75rem}
.clinic-layout h3,.clinician-layout h3{font-family:var(--font-display,var(--font-display),serif);font-size:1.15rem;color:var(--hael-ink,#0D2E41);margin:1.25rem 0 .5rem}
.clinic-layout p,.clinic-layout li,.clinician-layout p,.clinician-layout li{color:var(--hael-text,#333);line-height:1.7}
.divider{border:0;border-top:1px solid var(--hael-border,#e5ded3);margin:2rem 0}

.services-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}
.service-chip{display:inline-block;background:var(--hael-stone,#f2ede4);border:1px solid var(--hael-border,#e5ded3);border-radius:999px;padding:.4rem .9rem;font-size:.85rem;font-weight:600;color:var(--hael-teal,#17697a);text-decoration:none}
.service-chip:hover{background:var(--hael-teal,#17697a);color:#fff}

.sidebar,.clinician-sidebar{display:flex;flex-direction:column;gap:1.25rem;position:sticky;top:1.5rem}
.sidebar-card-title{font-family:var(--font-display,var(--font-display),serif);font-weight:700;color:var(--hael-ink,#0D2E41);margin-bottom:.5rem}
.sidebar-card-sub{font-size:.85rem;color:var(--hael-text-muted,#6b6b76);margin-bottom:1rem}
.sidebar-info-list{list-style:none;padding:0;margin:0}
.sidebar-info-item{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--hael-border,#e5ded3);font-size:.9rem;color:var(--hael-text,#333)}
.sidebar-info-item:last-child{border-bottom:none}
.sidebar-btn{display:block;width:100%;text-align:center;background:var(--hael-saffron,#E4692B);color:#0D2E41;font-weight:700;padding:.8rem;border-radius:10px;text-decoration:none;box-sizing:border-box}

.map-embed{width:100%;height:320px;border:0;border-radius:14px;display:block}

.reviews-strip{background:var(--hael-stone,#f2ede4);padding:2.5rem 0;margin-top:2rem}
.reviews-strip-inner{max-width:1200px;margin:0 auto;padding:0 2rem}
.review-cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:1rem}
.review-card-small{background:#fff;border:1px solid var(--hael-border,#e5ded3);border-radius:12px;padding:1.25rem;font-size:.9rem;color:var(--hael-text,#333)}

.other-clinics{max-width:1200px;margin:2rem auto;padding:0 2rem}
.other-clinics-inner{max-width:1200px;margin:0 auto}
.other-clinics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-top:1rem}
.other-clinic-card{border:1px solid var(--hael-border,#e5ded3);border-radius:12px;padding:1.25rem;text-decoration:none;display:block}
.other-clinic-name{font-family:var(--font-display,var(--font-display),serif);font-weight:700;color:var(--hael-ink,#0D2E41)}
.other-clinic-addr{font-size:.85rem;color:var(--hael-text-muted,#6b6b76);margin:.25rem 0}
.other-clinic-services{font-size:.8rem;color:var(--hael-teal,#17697a)}

.clinician-hero{max-width:1200px;margin:0 auto;padding:2rem;display:grid;grid-template-columns:220px 1fr;gap:2rem;align-items:center}
.clinician-reviews{margin-top:1.5rem}
.author{font-weight:700;color:var(--hael-ink,#0D2E41)}
.date{font-size:.8rem;color:var(--hael-text-muted,#6b6b76)}

@media(max-width:900px){
  .clinic-layout,.clinician-layout{grid-template-columns:1fr;gap:2rem}
  .clinician-hero{grid-template-columns:1fr}
  .sidebar,.clinician-sidebar{position:static}
  .clinic-hero-img{height:240px}
}

/* ===== MOBILE NAV + RESPONSIVE FIXES (appended, overrides earlier rules) ===== */
.mobile-menu-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:transparent;border:none;cursor:pointer;padding:10px;flex-shrink:0;}
.mobile-menu-btn span{display:block;height:2px;width:100%;background:#fff;border-radius:2px;transition:transform .25s,opacity .25s;}
.site-header.menu-open .mobile-menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.site-header.menu-open .mobile-menu-btn span:nth-child(2){opacity:0;}
.site-header.menu-open .mobile-menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width:1024px){
  .header-inner{padding:0 1rem;}
  .site-header nav{
    display:none;position:fixed;top:72px;left:0;right:0;
    background:#082f41;border-top:1px solid rgba(255,255,255,.12);
    max-height:calc(100vh - 72px);overflow-y:auto;padding:.5rem 0 1.5rem;
    box-shadow:0 14px 26px rgba(0,0,0,.28);
  }
  .site-header.menu-open nav{display:block;}
  .site-header nav .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;}
  .site-header nav .nav-links>li{width:100%;position:static;border-bottom:1px solid rgba(255,255,255,.08);}
  .site-header nav .nav-links>li>a{display:flex;align-items:center;padding:1rem 1.75rem;font-size:1rem;border-radius:0;color:#fff;}
  .site-header nav .nav-dropdown{display:none !important;}
  .site-header nav .nav-chevron{display:none;}
  .mobile-menu-btn{display:flex;}
  .header-cta{gap:.5rem;}
  .header-cta .btn-primary{display:none;}
}
@media (max-width:768px){
  .hero-inner{grid-template-columns:1fr !important;gap:2rem;padding-top:6rem;}
  .faq-item,.faq-item:first-child{border:none !important;border-bottom:1px solid var(--hael-border) !important;border-radius:0 !important;background:transparent !important;}
  .clinicians-grid{grid-template-columns:repeat(2,1fr) !important;}
  .faq-layout{grid-template-columns:1fr !important;gap:2rem;}
}
@media (max-width:520px){
  .clinicians-grid{grid-template-columns:repeat(2,1fr) !important;}
  .conditions-grid{grid-template-columns:1fr !important;}
  .social-photo-grid{grid-template-columns:repeat(2,1fr) !important;}
}
@media (max-width:768px){
  .locator-layout{grid-template-columns:1fr !important;gap:2rem;}
  .error-inner,.error-link-grid{grid-template-columns:1fr !important;gap:2rem;}
}

/* Clinically reviewed by byline (services + conditions) */
.reviewed-by{max-width:820px;margin:2rem auto 0;padding:1rem 1.25rem;background:#E2EEEA;border-radius:10px;font-family:var(--font-body),sans-serif;font-size:.9rem;color:#4a5568;}
.reviewed-by span{font-weight:700;color:#155C6B;}
.reviewed-by a{color:#0e4a57;font-weight:700;text-decoration:none;}
.reviewed-by a:hover{text-decoration:underline;}

/* Header search */
.header-search-btn{background:transparent !important;border:none !important;box-shadow:none !important;cursor:pointer;color:#E4692B !important;padding:.5rem;display:flex;align-items:center;transition:color .15s;line-height:0;}
.header-search-btn svg{color:#E4692B;}
.header-search-btn:hover{color:#F38143 !important;}
.header-cta{position:relative;}
.header-search-bar{display:none !important;position:absolute;top:100%;right:0;margin-top:.65rem;width:340px;max-width:calc(100vw - 2rem);background:#fff;border:1px solid var(--hael-border,#e5ded3);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.14);padding:.9rem;z-index:60;}
.header-search-bar::before{content:"";position:absolute;top:-7px;right:70px;width:12px;height:12px;background:#fff;border-left:1px solid var(--hael-border,#e5ded3);border-top:1px solid var(--hael-border,#e5ded3);transform:rotate(45deg);}
.site-header.search-open .header-search-bar{display:block !important;}
.header-search-bar form{display:flex;gap:.5rem;}
.header-search-bar input{flex:1;min-width:0;padding:.7rem .9rem;border:1.5px solid var(--hael-border,#e5ded3);border-radius:8px;font-size:.95rem;font-family:var(--font-body),sans-serif;color:#0D2E41;}
.header-search-bar input:focus{outline:none;border-color:#17697A;}
.header-search-bar button{background:#155C6B;color:#fff;border:none;border-radius:8px;padding:0 1rem;cursor:pointer;display:flex;align-items:center;flex:none;}
.header-search-bar button:hover{background:#0e4a57;}

/* Locator clinic card "View" pill (matches hero finder) */
.clinic-view-pill{flex-shrink:0;align-self:flex-start;font-size:0.72rem;font-weight:700;color:#fff;background:#17697A;padding:0.3rem 0.75rem;border-radius:100px;text-decoration:none;white-space:nowrap;transition:background .15s;}
.clinic-view-pill:hover{background:#155C6B;}

/* Testimonials: "Read all reviews" is a secondary CTA -> teal, not the book orange */
.testimonials-section .btn-primary { background: #17697A !important; color: #fff !important; }
.testimonials-section .btn-primary:hover { background: #155C6B !important; }

/* Corporate "Run a clinic" CTA -> teal outline, teal text */
#corporate a[href*="partner"] { background: transparent !important; color: #17697A !important; border: 2px solid #17697A !important; }
#corporate a[href*="partner"]:hover { background: #E2EEEA !important; }

/* Non-book CTAs that live in baked page bodies but use .btn-primary -> teal (book stays orange) */
.reviews-strip .btn-primary,
a.btn-primary[href*="google.com"], a.btn-primary[href*="/reviews"],
a.btn-primary[href="/contact/"] { background: #17697A !important; color: #fff !important; }
.reviews-strip .btn-primary:hover,
a.btn-primary[href*="google.com"]:hover, a.btn-primary[href*="/reviews"]:hover,
a.btn-primary[href="/contact/"]:hover { background: #155C6B !important; }


}

/* Heading emphasis -> script (headings only; body italic stays italic).
   Moved outside the max-width:900px block above so it applies on all screen sizes. */
h1 em, h2 em, h3 em, .hero-headline em, .section-title em, .cta-headline em, [class*="headline"] em, [class*="-title"] em {
  font-family: var(--font-script) !important; font-style: normal !important; font-size: 1.1em; line-height: 1.05;
}

/* Services pages: tablet and mobile layout.
   Must stay at the end of the file: .service-layout is declared
   twice above, and the later copy was overriding the mobile rule.
   On mobile, "At a glance" moves above the article; the other
   sidebar cards follow the article. Desktop is untouched. */
@media (max-width: 900px) {
  .service-layout {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
    padding: 2rem 1.25rem 3.5rem;
  }
  .service-content {
    order: 2;
    min-width: 0;
  }
  .service-sidebar {
    display: contents;
  }
  .service-sidebar > .sidebar-card {
    order: 3;
  }
  .service-sidebar > .sidebar-card:has(.sidebar-info-row) {
    order: 1;
  }
}

/* About page: keep button text white. .about-page-layout a (teal)
   was overriding the button colour, making the text invisible. */
.about-page-layout a.btn-outline {
  color: #fff;
}

/* CTA band: "Book an assessment..." line matches the home page
   (body font, 1rem, light). !important is needed because the
   line carries an inline font-size:0.7em in templates and HubDB. */
.cta-band .cta-headline span {
  display: block !important;
  font-family: var(--font-body), sans-serif !important;
  font-size: 1rem !important;
  font-weight: 300 !important;
  font-style: normal !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  margin-top: 0.75rem !important;
}