/*
Theme Name: Coastal Spine & Pain
Theme URI: https://www.coastalspineandpain.com
Author: Coastal Spine & Pain, LLC
Author URI: https://www.coastalspineandpain.com
Description: Custom WordPress theme for Coastal Spine & Pain, LLC — an interventional pain management practice in Foley, Alabama serving Baldwin County, Mobile County, and the Florida Panhandle.
Version: 1.0.0
License: Private - All Rights Reserved
License URI: https://www.coastalspineandpain.com
Text Domain: coastal-spine
Tags: medical, healthcare, pain-management, custom-theme
*/

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       RESET & FOUNDATION
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; font-size: 16px; }
    body {
      font-family: 'DM Sans', 'Outfit', sans-serif;
      color: #3a3f47;
      background: #fff;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      overflow-x: hidden;
    }
    a { text-decoration: none; color: inherit; transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    img { max-width: 100%; height: auto; display: block; }
    ul { list-style: none; }
    ::selection { background: #1b4965; color: #fff; }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       DESIGN TOKENS
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    :root {
      /* Primary â€” Deep coastal navy */
      --navy-900: #0b2838;
      --navy-800: #0f3347;
      --navy-700: #143f57;
      --navy-600: #1b4965;
      --navy-500: #1d6a8a;
      --navy-400: #2a8ab3;
      --navy-300: #5ca8c8;
      --navy-200: #a3d1e6;
      --navy-100: #daeef7;
      --navy-50:  #eef7fb;

      /* Accent â€” Warm sand/gold */
      --sand-700: #8a6d3b;
      --sand-600: #a68548;
      --sand-500: #c4a35c;
      --sand-400: #d4b87a;
      --sand-300: #e2cda0;
      --sand-200: #f0e2c6;
      --sand-100: #f8f1e3;
      --sand-50:  #fdf9f2;

      /* Accent 2 â€” Sea glass / subtle teal */
      --sea-600: #2d8a7b;
      --sea-500: #3aa18f;
      --sea-400: #5bbaa8;
      --sea-300: #8dd4c7;
      --sea-200: #bfe8e0;
      --sea-100: #e0f5f1;

      /* Neutrals */
      --slate-900: #1a1d23;
      --slate-800: #2c3039;
      --slate-700: #3a3f47;
      --slate-600: #4e5562;
      --slate-500: #6b7280;
      --slate-400: #9ca3af;
      --slate-300: #c4c9d2;
      --slate-200: #e2e5ea;
      --slate-100: #f1f3f5;
      --slate-50:  #f8f9fb;
      --white: #ffffff;

      /* Semantic */
      --text-primary: var(--slate-800);
      --text-secondary: var(--slate-600);
      --text-muted: var(--slate-500);
      --text-faint: var(--slate-400);
      --bg-primary: var(--white);
      --bg-alt: var(--slate-50);
      --bg-warm: var(--sand-50);
      --border-light: var(--slate-200);
      --border-subtle: var(--slate-100);

      /* Shadows */
      --shadow-xs: 0 1px 2px rgba(0,0,0,0.04);
      --shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
      --shadow-md: 0 4px 16px rgba(0,0,0,0.08);
      --shadow-lg: 0 8px 32px rgba(0,0,0,0.10);
      --shadow-xl: 0 16px 48px rgba(0,0,0,0.12);
      --shadow-glow: 0 0 40px rgba(27,73,101,0.08);

      /* Typography scale */
      --font-display: 'Cormorant Garamond', 'Georgia', serif;
      --font-body: 'DM Sans', 'Outfit', -apple-system, sans-serif;
      --font-ui: 'Outfit', 'DM Sans', sans-serif;

      /* Spacing */
      --section-py: clamp(60px, 8vw, 100px);
      --container-max: 1180px;
      --radius-sm: 4px;
      --radius-md: 8px;
      --radius-lg: 12px;
      --radius-xl: 20px;

      /* Easing */
      --ease-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);
      --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       UTILITY CLASSES
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .container {
      max-width: var(--container-max);
      margin: 0 auto;
      padding: 0 24px;
    }
    .container-narrow {
      max-width: 760px;
      margin: 0 auto;
      padding: 0 24px;
    }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       TOP UTILITY BAR
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .utility-bar {
      background: var(--navy-900);
      padding: 0;
      font-family: var(--font-ui);
      position: relative;
      z-index: 1001;
    }
    .utility-bar .container {
      display: flex;
      justify-content: flex-end;
      align-items: center;
    }
    .utility-bar a {
      color: var(--slate-400);
      padding: 9px 16px;
      font-size: 11.5px;
      font-weight: 500;
      letter-spacing: 0.6px;
      text-transform: uppercase;
      position: relative;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .utility-bar a::before {
      content: '';
      position: absolute;
      left: 0;
      top: 25%;
      bottom: 25%;
      width: 1px;
      background: rgba(255,255,255,0.08);
    }
    .utility-bar a:first-child::before { display: none; }
    .utility-bar a:hover { color: var(--sand-400); }
    .utility-bar a svg { width: 13px; height: 13px; fill: currentColor; opacity: 0.6; }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       HEADER
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .site-header {
      background: var(--white);
      position: sticky;
      top: 0;
      z-index: 1000;
      box-shadow: 0 1px 0 var(--border-subtle);
      transition: box-shadow 0.3s;
    }
    .site-header.scrolled {
      box-shadow: var(--shadow-md);
    }
    .header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 24px;
      max-width: var(--container-max);
      margin: 0 auto;
      height: 88px;
    }

    /* Logo */
    .logo-area {
      display: flex;
      align-items: center;
      gap: 16px;
      flex-shrink: 0;
    }
    .logo-mark {
    width: 32px;
    height: 58px;
    position: relative;
    flex-shrink: 0;
}
    .logo-mark svg { width: 100%; height: 100%; }
    .logo-text-group { display: flex; flex-direction: column; gap: 1px; }
    .logo-text-group .name {
      font-family: var(--font-display);
      font-size: 26px;
      font-weight: 600;
      color: var(--navy-700);
      line-height: 1.1;
      letter-spacing: -0.3px;
    }
    .logo-text-group .descriptor {
      font-family: var(--font-ui);
      font-size: 10.5px;
      font-weight: 600;
      color: var(--sand-600);
      letter-spacing: 2.5px;
      text-transform: uppercase;
    }

    /* Header right */
    .header-right {
      display: flex;
      align-items: center;
      gap: 28px;
    }
    .header-phone {
      text-align: right;
    }
    .header-phone .label {
      font-family: var(--font-ui);
      font-size: 10px;
      font-weight: 600;
      color: var(--text-muted);
      text-transform: uppercase;
      letter-spacing: 1.5px;
    }
    .header-phone .number {
      font-family: var(--font-ui);
      font-size: 20px;
      font-weight: 700;
      color: var(--navy-600);
      letter-spacing: 0.3px;
      display: block;
      line-height: 1.2;
    }
    .header-phone .number:hover { color: var(--sea-600); }
    .header-phone .fax {
      font-size: 11.5px;
      color: var(--text-faint);
      font-weight: 500;
    }
    .header-cta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 10px 22px;
      background: var(--navy-600);
      color: #fff;
      font-family: var(--font-ui);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.8px;
      text-transform: uppercase;
      border-radius: var(--radius-sm);
      white-space: nowrap;
    }
    .header-cta:hover {
      background: var(--navy-700);
      transform: translateY(-1px);
      box-shadow: var(--shadow-sm);
    }
    .header-cta svg { width: 14px; height: 14px; fill: currentColor; }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       MAIN NAV
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .main-nav {
      background: var(--navy-700);
      position: relative;
      z-index: 999;
    }
    .main-nav .container {
      display: flex;
      justify-content: center;
    }
    .nav-list { display: flex; align-items: stretch; }
    .nav-list > li { position: relative; }
    .nav-list > li > a {
      display: flex;
      align-items: center;
      gap: 5px;
      padding: 0 22px;
      height: 48px;
      color: rgba(255,255,255,0.82);
      font-family: var(--font-ui);
      font-size: 13px;
      font-weight: 500;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      position: relative;
      white-space: nowrap;
    }
    .nav-list > li > a::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 2px;
      background: var(--sand-400);
      transition: width 0.3s var(--ease-out);
    }
    .nav-list > li:hover > a::after,
    .nav-list > li > a:focus::after { width: 100%; }
    .nav-list > li:hover > a { color: #fff; }
    .nav-list > li > a .arrow {
      width: 10px;
      height: 10px;
      fill: currentColor;
      opacity: 0.5;
      transition: transform 0.25s;
    }
    .nav-list > li:hover > a .arrow { transform: rotate(180deg); opacity: 0.8; }

    /* Dropdowns */
    .dropdown {
      position: absolute;
      top: 100%;
      left: 0;
      min-width: 260px;
      background: var(--white);
      box-shadow: var(--shadow-lg);
      border-radius: 0 0 var(--radius-md) var(--radius-md);
      opacity: 0;
      visibility: hidden;
      transform: translateY(8px);
      transition: all 0.25s var(--ease-out);
      z-index: 100;
      overflow: hidden;
    }
    .dropdown::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--navy-600), var(--sea-500));
    }
    .nav-list > li:hover > .dropdown {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    .dropdown li a {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 12px 22px;
      color: var(--text-secondary);
      font-family: var(--font-ui);
      font-size: 13.5px;
      font-weight: 500;
      border-bottom: 1px solid var(--border-subtle);
      position: relative;
    }
    .dropdown li:last-child a { border-bottom: none; }
    .dropdown li a::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 3px;
      background: var(--sea-500);
      transform: scaleY(0);
      transition: transform 0.2s;
    }
    .dropdown li a:hover {
      background: var(--slate-50);
      color: var(--navy-600);
    }
    .dropdown li a:hover::before { transform: scaleY(1); }

    /* Sub-dropdown */
    .sub-dropdown {
      position: absolute;
      top: 0;
      left: 100%;
      min-width: 230px;
      background: var(--white);
      box-shadow: var(--shadow-lg);
      border-radius: 0 var(--radius-md) var(--radius-md) 0;
      opacity: 0;
      visibility: hidden;
      transform: translateX(8px);
      transition: all 0.25s var(--ease-out);
    }
    .sub-dropdown::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--sea-500), var(--sand-500));
    }
    .dropdown li:hover > .sub-dropdown {
      opacity: 1;
      visibility: visible;
      transform: translateX(0);
    }

    /* Mobile toggle */
    .mobile-toggle {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
      padding: 6px;
      position: relative;
      width: 32px;
      height: 32px;
    }
    .mobile-toggle span {
      display: block;
      width: 22px;
      height: 2px;
      background: #fff;
      position: absolute;
      left: 5px;
      transition: all 0.3s;
    }
    .mobile-toggle span:nth-child(1) { top: 8px; }
    .mobile-toggle span:nth-child(2) { top: 15px; }
    .mobile-toggle span:nth-child(3) { top: 22px; }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       HERO
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .hero {
      position: relative;
      min-height: 600px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      overflow: hidden;
      background: var(--navy-800);
    }
    /* Layered gradient background */
    .hero-bg {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(170deg,
          var(--navy-900) 0%,
          var(--navy-800) 25%,
          var(--navy-700) 45%,
          #1a5f7a 65%,
          var(--sea-600) 100%
        );
    }
    .hero-bg::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 80% 50% at 20% 100%, rgba(196,163,92,0.08) 0%, transparent 50%),
        radial-gradient(ellipse 60% 40% at 85% 20%, rgba(93,186,168,0.1) 0%, transparent 50%),
        radial-gradient(ellipse 100% 80% at 50% 0%, rgba(0,0,0,0.15) 0%, transparent 40%);
    }
    .hero-bg::after {
      content: '';
      position: absolute;
      inset: 0;
      opacity: 0.03;
      background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h80v80H0V0zm20 20v40h40V20H20zm20 35a15 15 0 1 0 0-30 15 15 0 0 0 0 30z' fill='%23ffffff' fill-opacity='1' fill-rule='evenodd'/%3E%3C/svg%3E");
    }

    /* Decorative floating shapes */
    .hero-decor {
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
    }
    .hero-decor .circle {
      position: absolute;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,0.05);
    }
    .hero-decor .c1 { width: 400px; height: 400px; top: -100px; right: -80px; }
    .hero-decor .c2 { width: 250px; height: 250px; bottom: -50px; left: -40px; border-color: rgba(196,163,92,0.08); }
    .hero-decor .c3 { width: 120px; height: 120px; top: 30%; left: 10%; border-color: rgba(255,255,255,0.04); }
    .hero-decor .line {
      position: absolute;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.06), transparent);
    }
    .hero-decor .l1 { width: 40%; top: 30%; left: 0; }
    .hero-decor .l2 { width: 30%; bottom: 25%; right: 0; }

    .hero-content {
      position: relative;
      z-index: 2;
      padding: 40px 24px 60px;
      max-width: 850px;
    }
    .hero-eyebrow {
      font-family: var(--font-ui);
      font-size: 11px;
      font-weight: 600;
      color: var(--sand-400);
      letter-spacing: 4px;
      text-transform: uppercase;
      margin-bottom: 16px;
      opacity: 0;
      animation: fadeDown 0.6s 0.2s forwards;
    }
    .hero h1 {
      font-family: var(--font-display);
      font-size: clamp(40px, 6vw, 62px);
      font-weight: 600;
      color: #fff;
      line-height: 1.08;
      letter-spacing: -0.5px;
      margin-bottom: 20px;
      opacity: 0;
      animation: fadeDown 0.7s 0.35s forwards;
    }
    .hero h1 em {
      font-style: italic;
      color: var(--sand-300);
    }
    .hero .tagline {
      font-family: var(--font-body);
      font-size: 18px;
      color: rgba(255,255,255,0.6);
      font-weight: 400;
      max-width: 540px;
      margin: 0 auto 40px;
      line-height: 1.7;
      opacity: 0;
      animation: fadeDown 0.7s 0.5s forwards;
    }
    .hero-buttons {
      display: flex;
      gap: 14px;
      justify-content: center;
      flex-wrap: wrap;
      opacity: 0;
      animation: fadeDown 0.7s 0.65s forwards;
    }

    /* Buttons */
    .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 32px;
      font-family: var(--font-ui);
      font-size: 12.5px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 1.2px;
      border-radius: var(--radius-sm);
      cursor: pointer;
      transition: all 0.35s var(--ease-out);
      border: none;
      position: relative;
      overflow: hidden;
    }
    .btn svg { width: 15px; height: 15px; fill: currentColor; }
    .btn-gold {
      background: linear-gradient(135deg, var(--sand-500), var(--sand-600));
      color: #fff;
      box-shadow: 0 4px 16px rgba(196,163,92,0.3);
    }
    .btn-gold:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 24px rgba(196,163,92,0.4);
      background: linear-gradient(135deg, var(--sand-600), var(--sand-700));
    }
    .btn-glass {
      background: rgba(255,255,255,0.08);
      color: rgba(255,255,255,0.9);
      border: 1px solid rgba(255,255,255,0.15);
      backdrop-filter: blur(8px);
    }
    .btn-glass:hover {
      background: rgba(255,255,255,0.14);
      border-color: rgba(255,255,255,0.3);
      transform: translateY(-2px);
    }
    .btn-navy {
      background: var(--navy-600);
      color: #fff;
    }
    .btn-navy:hover {
      background: var(--navy-700);
      transform: translateY(-2px);
      box-shadow: var(--shadow-md);
    }
    .btn-outline-navy {
      background: transparent;
      color: var(--navy-600);
      border: 2px solid var(--navy-600);
    }
    .btn-outline-navy:hover {
      background: var(--navy-600);
      color: #fff;
      transform: translateY(-2px);
    }

    /* Hero video placeholder */
    .hero-video-wrap {
      margin-top: 48px;
      opacity: 0;
      animation: fadeDown 0.8s 0.8s forwards;
    }
    .hero-video {
      max-width: 680px;
      margin: 0 auto;
      border-radius: var(--radius-lg);
      overflow: hidden;
      box-shadow: 0 20px 60px rgba(0,0,0,0.35);
      aspect-ratio: 16/9;
      background: linear-gradient(135deg, rgba(0,0,0,0.4), rgba(0,0,0,0.2));
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      border: 1px solid rgba(255,255,255,0.06);
      backdrop-filter: blur(4px);
    }
    .play-btn {
      width: 72px;
      height: 72px;
      background: rgba(255,255,255,0.12);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 2px solid rgba(255,255,255,0.2);
      cursor: pointer;
      transition: all 0.4s var(--ease-spring);
      position: relative;
    }
    .play-btn::before {
      content: '';
      position: absolute;
      inset: -8px;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,0.06);
    }
    .play-btn:hover {
      background: rgba(255,255,255,0.2);
      transform: scale(1.1);
      border-color: rgba(255,255,255,0.35);
    }
    .play-btn svg { width: 28px; height: 28px; fill: #fff; margin-left: 3px; }
    .video-label {
      position: absolute;
      bottom: 18px;
      left: 50%;
      transform: translateX(-50%);
      color: rgba(255,255,255,0.35);
      font-family: var(--font-ui);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 2px;
      text-transform: uppercase;
    }

    /* Animations */
    @keyframes fadeDown {
      from { opacity: 0; transform: translateY(18px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(30px); }
      to { opacity: 1; transform: translateY(0); }
    }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       SECTION HELPERS
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .section-heading {
      text-align: center;
      margin-bottom: 56px;
    }
    .section-heading .overline {
      font-family: var(--font-ui);
      font-size: 11px;
      font-weight: 600;
      color: var(--sand-600);
      letter-spacing: 3px;
      text-transform: uppercase;
      margin-bottom: 12px;
    }
    .section-heading h2 {
      font-family: var(--font-display);
      font-size: clamp(30px, 4vw, 42px);
      font-weight: 600;
      color: var(--navy-700);
      line-height: 1.15;
      margin-bottom: 16px;
    }
    .section-heading .subtitle {
      font-size: 16px;
      color: var(--text-muted);
      max-width: 560px;
      margin: 0 auto;
      line-height: 1.7;
    }
    .section-heading .rule {
      display: block;
      width: 48px;
      height: 3px;
      background: linear-gradient(90deg, var(--sand-500), var(--sea-500));
      margin: 20px auto 0;
      border-radius: 2px;
    }

    /* Scroll animations */
    .reveal {
      opacity: 0;
      transform: translateY(32px);
      transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-out);
    }
    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }
    .reveal-delay-1 { transition-delay: 0.1s; }
    .reveal-delay-2 { transition-delay: 0.2s; }
    .reveal-delay-3 { transition-delay: 0.3s; }
    .reveal-delay-4 { transition-delay: 0.4s; }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       WELCOME
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .welcome {
      padding: var(--section-py) 0;
      background: var(--bg-primary);
      position: relative;
    }
    .welcome::before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      width: 40%;
      height: 100%;
      background: var(--sand-50);
      clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%);
      z-index: 0;
    }
    .welcome .container { position: relative; z-index: 1; }
    .welcome-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: center;
    }
    .welcome-text h2 {
      font-family: var(--font-display);
      font-size: clamp(30px, 4vw, 40px);
      font-weight: 600;
      color: var(--navy-700);
      line-height: 1.2;
      margin-bottom: 24px;
    }
    .welcome-text p {
      font-size: 15.5px;
      color: var(--text-secondary);
      margin-bottom: 18px;
      line-height: 1.8;
    }
    .welcome-text a.inline-link {
      color: var(--sea-600);
      font-weight: 600;
      border-bottom: 1px solid var(--sea-200);
    }
    .welcome-text a.inline-link:hover {
      color: var(--navy-600);
      border-color: var(--navy-300);
    }
    .welcome-image {
      position: relative;
    }
    .welcome-image .img-frame {
      width: 100%;
      aspect-ratio: 4/5;
      border-radius: var(--radius-lg);
      overflow: hidden;
      box-shadow: var(--shadow-xl);
      position: relative;
      background: linear-gradient(150deg, var(--navy-300), var(--sea-400));
    }
    .welcome-image .img-frame .placeholder-inner {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 12px;
    }
    .welcome-image .img-frame .placeholder-inner svg {
      width: 64px;
      height: 64px;
      fill: #fff;
      opacity: 0.2;
    }
    .welcome-image .img-frame .placeholder-inner span {
      color: rgba(255,255,255,0.3);
      font-family: var(--font-ui);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 2px;
      text-transform: uppercase;
    }
    /* Decorative accent behind image */
    .welcome-image::before {
      content: '';
      position: absolute;
      top: -16px;
      right: -16px;
      width: 100%;
      height: 100%;
      border: 2px solid var(--sand-300);
      border-radius: var(--radius-lg);
      z-index: -1;
    }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       SERVICES
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .services {
      padding: var(--section-py) 0;
      background: var(--slate-50);
      position: relative;
    }
    .services::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 4px;
      background: linear-gradient(90deg, var(--navy-600), var(--sea-500), var(--sand-500));
    }
    .services-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
    }
    .svc-card {
      background: var(--white);
      border-radius: var(--radius-md);
      padding: 32px 22px 28px;
      text-align: center;
      box-shadow: var(--shadow-xs);
      transition: all 0.4s var(--ease-out);
      position: relative;
      overflow: hidden;
      cursor: pointer;
      border: 1px solid var(--border-subtle);
    }
    .svc-card::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--navy-600), var(--sea-500));
      transform: scaleX(0);
      transition: transform 0.4s var(--ease-out);
    }
    .svc-card:hover {
      transform: translateY(-8px);
      box-shadow: var(--shadow-lg);
      border-color: transparent;
    }
    .svc-card:hover::before { transform: scaleX(1); }
    .svc-card .svc-icon {
      width: 56px;
      height: 56px;
      margin: 0 auto 18px;
      border-radius: var(--radius-md);
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--navy-50);
      transition: all 0.4s var(--ease-spring);
    }
    .svc-card:hover .svc-icon {
      background: var(--navy-600);
      transform: scale(1.08);
    }
    .svc-card .svc-icon svg {
      width: 26px;
      height: 26px;
      fill: var(--navy-600);
      transition: fill 0.3s;
    }
    .svc-card:hover .svc-icon svg { fill: #fff; }
    .svc-card h3 {
      font-family: var(--font-ui);
      font-size: 14.5px;
      font-weight: 600;
      color: var(--text-primary);
      margin-bottom: 8px;
      line-height: 1.3;
    }
    .svc-card p {
      font-size: 13px;
      color: var(--text-muted);
      line-height: 1.6;
    }
    .services-more {
      text-align: center;
      margin-top: 48px;
    }
    .services-more h3 {
      font-family: var(--font-display);
      font-size: 24px;
      font-weight: 600;
      color: var(--navy-700);
      margin-bottom: 18px;
    }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       STAT BAR
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .stat-bar {
      padding: 48px 0;
      background: var(--navy-800);
      position: relative;
      overflow: hidden;
    }
    .stat-bar::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 50% 50%, rgba(93,186,168,0.06) 0%, transparent 60%);
    }
    .stat-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 32px;
      position: relative;
      z-index: 1;
    }
    .stat-item {
      text-align: center;
      position: relative;
    }
    .stat-item::after {
      content: '';
      position: absolute;
      right: 0;
      top: 20%;
      height: 60%;
      width: 1px;
      background: rgba(255,255,255,0.08);
    }
    .stat-item:last-child::after { display: none; }
    .stat-item .stat-number {
      font-family: var(--font-display);
      font-size: 40px;
      font-weight: 600;
      color: var(--sand-400);
      line-height: 1;
      margin-bottom: 6px;
    }
    .stat-item .stat-label {
      font-family: var(--font-ui);
      font-size: 11px;
      font-weight: 600;
      color: rgba(255,255,255,0.4);
      letter-spacing: 2px;
      text-transform: uppercase;
    }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       TESTIMONIALS
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .testimonials {
      padding: var(--section-py) 0;
      background: var(--white);
      position: relative;
    }
    .testimonials::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 35%;
      height: 100%;
      background: var(--navy-50);
      clip-path: polygon(0 0, 100% 20%, 80% 100%, 0% 100%);
      z-index: 0;
    }
    .testimonials .container { position: relative; z-index: 1; }
    .test-cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-bottom: 36px;
    }
    .test-card {
      background: var(--white);
      border: 1px solid var(--border-light);
      border-radius: var(--radius-md);
      padding: 32px 28px;
      position: relative;
      transition: all 0.4s var(--ease-out);
    }
    .test-card:hover {
      box-shadow: var(--shadow-md);
      border-color: transparent;
      transform: translateY(-4px);
    }
    .test-card::before {
      content: '\201C';
      position: absolute;
      top: 20px;
      right: 24px;
      font-family: var(--font-display);
      font-size: 64px;
      color: var(--sand-200);
      line-height: 1;
    }
    .test-card .stars {
      color: var(--sand-500);
      font-size: 14px;
      letter-spacing: 2px;
      margin-bottom: 16px;
    }
    .test-card blockquote {
      font-size: 14.5px;
      color: var(--text-secondary);
      line-height: 1.75;
      font-style: italic;
      margin-bottom: 20px;
      position: relative;
      z-index: 1;
    }
    .test-card .attribution {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .test-card .attribution .avatar {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: var(--navy-100);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .test-card .attribution .avatar svg { width: 18px; height: 18px; fill: var(--navy-400); }
    .test-card .attribution .name {
      font-family: var(--font-ui);
      font-size: 13px;
      font-weight: 600;
      color: var(--navy-600);
    }
    .testimonials-cta {
      text-align: center;
    }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       PROVIDERS
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .providers {
      padding: var(--section-py) 0;
      background: var(--bg-warm);
    }
    .providers-grid {
      display: flex;
      justify-content: center;
      gap: 36px;
      flex-wrap: wrap;
    }
    .provider-card {
      text-align: center;
      width: 280px;
      transition: all 0.4s var(--ease-out);
    }
    .provider-card:hover { transform: translateY(-6px); }
    .provider-photo {
      width: 100%;
      aspect-ratio: 3/4;
      border-radius: var(--radius-lg);
      overflow: hidden;
      margin-bottom: 20px;
      box-shadow: var(--shadow-md);
      position: relative;
      background: linear-gradient(180deg, var(--navy-200), var(--navy-300));
      transition: box-shadow 0.4s;
    }
    .provider-card:hover .provider-photo {
      box-shadow: var(--shadow-xl);
    }
    .provider-photo .ph-inner {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 8px;
    }
    .provider-photo .ph-inner svg {
      width: 56px;
      height: 56px;
      fill: #fff;
      opacity: 0.2;
    }
    .provider-photo .ph-inner span {
      color: rgba(255,255,255,0.25);
      font-family: var(--font-ui);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 2px;
      text-transform: uppercase;
    }
    .provider-card h3 {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 600;
      color: var(--navy-700);
      margin-bottom: 6px;
      line-height: 1.25;
    }
    .provider-card .creds {
      font-size: 13.5px;
      color: var(--text-muted);
      line-height: 1.5;
    }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       WHY CHOOSE US
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .why-us {
      padding: var(--section-py) 0;
      background: var(--white);
    }
    .why-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 32px;
    }
    .why-item {
      padding: 32px 28px;
      border-radius: var(--radius-md);
      border: 1px solid var(--border-subtle);
      transition: all 0.35s var(--ease-out);
      position: relative;
    }
    .why-item:hover {
      border-color: var(--navy-200);
      box-shadow: var(--shadow-md);
    }
    .why-item .why-num {
      font-family: var(--font-display);
      font-size: 48px;
      font-weight: 600;
      color: var(--sand-200);
      line-height: 1;
      margin-bottom: 12px;
    }
    .why-item h3 {
      font-family: var(--font-ui);
      font-size: 17px;
      font-weight: 600;
      color: var(--navy-700);
      margin-bottom: 10px;
    }
    .why-item p {
      font-size: 14px;
      color: var(--text-muted);
      line-height: 1.7;
    }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       HIRING BANNER
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .hiring {
      padding: 48px 0;
      background: linear-gradient(135deg, var(--navy-700), var(--navy-800));
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .hiring::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 70% 50%, rgba(196,163,92,0.06) 0%, transparent 50%);
    }
    .hiring .container { position: relative; z-index: 1; }
    .hiring h3 {
      font-family: var(--font-display);
      font-size: 28px;
      font-weight: 600;
      color: #fff;
      margin-bottom: 8px;
    }
    .hiring p {
      font-size: 15px;
      color: rgba(255,255,255,0.55);
      margin-bottom: 22px;
    }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       LOCATION + HOURS
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .location-section {
      padding: var(--section-py) 0;
      background: var(--bg-alt);
    }
    .location-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 56px;
      align-items: start;
    }
    .loc-card {
      background: var(--white);
      border-radius: var(--radius-lg);
      padding: 40px;
      box-shadow: var(--shadow-sm);
      border: 1px solid var(--border-subtle);
    }
    .loc-card h3 {
      font-family: var(--font-display);
      font-size: 26px;
      font-weight: 600;
      color: var(--navy-700);
      margin-bottom: 24px;
    }
    .loc-detail {
      margin-bottom: 22px;
    }
    .loc-detail .loc-label {
      font-family: var(--font-ui);
      font-size: 10px;
      font-weight: 700;
      color: var(--text-faint);
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 6px;
    }
    .loc-detail p {
      font-size: 15px;
      color: var(--text-primary);
      line-height: 1.6;
    }
    .loc-detail .phone-lg {
      font-family: var(--font-ui);
      font-size: 22px;
      font-weight: 700;
      color: var(--navy-600);
    }
    .loc-detail .phone-lg:hover { color: var(--sea-600); }
    .loc-detail .fax-sm {
      font-size: 13px;
      color: var(--text-muted);
      margin-top: 4px;
    }
    .btn-directions {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 11px 24px;
      background: var(--navy-600);
      color: #fff;
      font-family: var(--font-ui);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.8px;
      text-transform: uppercase;
      border-radius: var(--radius-sm);
      transition: all 0.35s var(--ease-out);
      margin-top: 4px;
      margin-bottom: 24px;
    }
    .btn-directions:hover {
      background: var(--navy-700);
      transform: translateY(-2px);
      box-shadow: var(--shadow-sm);
    }
    .btn-directions svg { width: 15px; height: 15px; fill: #fff; }

    /* Location list */
    .loc-list { border-top: 1px solid var(--border-light); padding-top: 16px; margin-top: 8px; }
    .loc-list li { padding: 10px 0; border-bottom: 1px solid var(--border-subtle); }
    .loc-list li:last-child { border-bottom: none; }
    .loc-list li a {
      display: flex;
      align-items: center;
      gap: 10px;
      font-family: var(--font-ui);
      font-size: 14px;
      font-weight: 500;
      color: var(--text-secondary);
    }
    .loc-list li a:hover { color: var(--navy-600); padding-left: 4px; }
    .loc-list li a svg { width: 18px; height: 18px; fill: var(--sea-500); flex-shrink: 0; }

    /* Map placeholder */
    .map-embed {
      margin-top: 24px;
      width: 100%;
      height: 200px;
      border-radius: var(--radius-md);
      overflow: hidden;
      background: var(--slate-100);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 6px;
      border: 1px solid var(--border-light);
    }
    .map-embed svg { width: 32px; height: 32px; fill: var(--slate-300); }
    .map-embed span { font-size: 10px; color: var(--text-faint); letter-spacing: 1.5px; text-transform: uppercase; font-family: var(--font-ui); font-weight: 600; }

    /* Hours card */
    .hours-card {
      background: var(--white);
      border-radius: var(--radius-lg);
      padding: 40px;
      box-shadow: var(--shadow-sm);
      border: 1px solid var(--border-subtle);
    }
    .hours-card h3 {
      font-family: var(--font-display);
      font-size: 26px;
      font-weight: 600;
      color: var(--navy-700);
      margin-bottom: 8px;
    }
    .hours-card .hours-note {
      font-size: 13px;
      color: var(--text-muted);
      line-height: 1.6;
      margin-bottom: 24px;
      font-style: italic;
      padding-bottom: 20px;
      border-bottom: 1px solid var(--border-subtle);
    }
    .hours-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 12px 0;
      border-bottom: 1px solid var(--border-subtle);
    }
    .hours-row:last-child { border-bottom: none; }
    .hours-row .day {
      font-family: var(--font-ui);
      font-size: 14.5px;
      font-weight: 600;
      color: var(--text-primary);
    }
    .hours-row .time {
      font-size: 14.5px;
      color: var(--text-secondary);
      font-weight: 500;
    }
    .hours-row .closed {
      color: #c0392b;
      font-weight: 600;
      font-size: 13px;
      letter-spacing: 0.5px;
    }
    /* Today highlight */
    .hours-row.today {
      background: var(--navy-50);
      margin: 0 -16px;
      padding: 12px 16px;
      border-radius: var(--radius-sm);
    }
    .hours-row.today .day::after {
      content: '  â€” Today';
      font-size: 11px;
      color: var(--sea-600);
      font-weight: 500;
      letter-spacing: 0.3px;
    }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       AFTER HOURS
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .after-hours {
      padding: 48px 0;
      background: var(--sand-50);
      border-top: 3px solid var(--sand-300);
    }
    .after-hours-inner {
      max-width: 780px;
      margin: 0 auto;
      text-align: center;
    }
    .after-hours-inner .icon-alert {
      width: 48px;
      height: 48px;
      margin: 0 auto 16px;
      background: var(--sand-200);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .after-hours-inner .icon-alert svg { width: 24px; height: 24px; fill: var(--sand-700); }
    .after-hours-inner h2 {
      font-family: var(--font-display);
      font-size: 28px;
      font-weight: 600;
      color: var(--navy-700);
      margin-bottom: 14px;
    }
    .after-hours-inner p {
      font-size: 15px;
      color: var(--text-secondary);
      line-height: 1.8;
    }
    .after-hours-inner strong { color: var(--text-primary); }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       INSURANCE
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .insurance {
      padding: var(--section-py) 0;
      background: var(--white);
    }
    .insurance-inner {
      max-width: 780px;
      margin: 0 auto;
      text-align: center;
    }
    .insurance-inner h2 {
      font-family: var(--font-display);
      font-size: 28px;
      font-weight: 600;
      color: var(--navy-700);
      margin-bottom: 16px;
    }
    .insurance-inner > p {
      font-size: 15px;
      color: var(--text-secondary);
      line-height: 1.8;
      margin-bottom: 24px;
    }
    .insurance-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 14px;
      text-align: left;
      margin: 0 auto;
      max-width: 550px;
    }
    .ins-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 12px 16px;
      background: var(--slate-50);
      border-radius: var(--radius-sm);
      font-size: 13.5px;
      color: var(--text-secondary);
      font-weight: 500;
      transition: all 0.3s;
    }
    .ins-item:hover { background: var(--navy-50); color: var(--navy-600); }
    .ins-item svg { width: 16px; height: 16px; fill: var(--sea-500); flex-shrink: 0; }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       FOOTER
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .site-footer {
      background: var(--navy-900);
      color: rgba(255,255,255,0.5);
      padding: 64px 0 0;
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 1.4fr 1fr 1fr 1fr;
      gap: 48px;
      padding-bottom: 48px;
    }
    .footer-brand .f-logo {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 18px;
    }
    .footer-brand .f-logo svg { width: 24px; height: 56px; }
    .footer-brand .f-logo-text {
      font-family: var(--font-display);
      font-size: 20px;
      font-weight: 600;
      color: rgba(255,255,255,0.85);
    }
    .footer-brand > p {
      font-size: 13.5px;
      line-height: 1.7;
      color: rgba(255,255,255,0.35);
      margin-bottom: 20px;
    }
    .footer-social {
      display: flex;
      gap: 10px;
    }
    .footer-social a {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: rgba(255,255,255,0.06);
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.3s;
    }
    .footer-social a:hover {
      background: rgba(255,255,255,0.12);
      transform: translateY(-2px);
    }
    .footer-social a svg { width: 16px; height: 16px; fill: rgba(255,255,255,0.5); }
    .footer-col h4 {
      font-family: var(--font-ui);
      font-size: 11px;
      font-weight: 700;
      color: rgba(255,255,255,0.75);
      text-transform: uppercase;
      letter-spacing: 2px;
      margin-bottom: 20px;
      padding-bottom: 12px;
      border-bottom: 1px solid rgba(255,255,255,0.06);
    }
    .footer-col ul li { margin-bottom: 10px; }
    .footer-col ul li a {
      font-size: 13.5px;
      color: rgba(255,255,255,0.4);
      font-weight: 400;
    }
    .footer-col ul li a:hover { color: var(--sand-400); }
    .footer-bottom {
      border-top: 1px solid rgba(255,255,255,0.06);
      padding: 22px 0;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 12px;
    }
    .footer-bottom p {
      font-size: 12px;
      color: rgba(255,255,255,0.25);
    }
    .footer-bottom a {
      font-size: 12px;
      color: rgba(255,255,255,0.3);
    }
    .footer-bottom a:hover { color: var(--sand-400); }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       SCROLL TO TOP
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    .scroll-top {
      position: fixed;
      bottom: 28px;
      right: 28px;
      width: 44px;
      height: 44px;
      background: var(--navy-700);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      opacity: 0;
      visibility: hidden;
      transition: all 0.35s var(--ease-out);
      z-index: 999;
      box-shadow: var(--shadow-md);
      border: 1px solid rgba(255,255,255,0.1);
    }
    .scroll-top.visible { opacity: 1; visibility: visible; }
    .scroll-top:hover {
      background: var(--sand-600);
      transform: translateY(-3px);
      box-shadow: var(--shadow-lg);
    }
    .scroll-top svg { width: 18px; height: 18px; fill: #fff; }

    /* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
       RESPONSIVE
       â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
    @media (max-width: 1024px) {
      .services-grid { grid-template-columns: repeat(2, 1fr); }
      .test-cards { grid-template-columns: 1fr 1fr; }
      .stat-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
      .stat-item:nth-child(2)::after { display: none; }
      .why-grid { grid-template-columns: 1fr 1fr; }
      .footer-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 768px) {
      .utility-bar .container { justify-content: center; flex-wrap: wrap; }
      .utility-bar a { padding: 6px 10px; font-size: 10px; }
      .header-inner { flex-wrap: wrap; justify-content: center; gap: 10px; height: auto; padding: 14px 20px; }
      .header-right { gap: 16px; }
      .header-cta { font-size: 11px; padding: 8px 14px; letter-spacing: 0.3px; }
.header-cta svg { width: 12px; height: 12px; }
      .mobile-toggle { display: block; }
      .main-nav .container { flex-direction: column; position: relative; }
      .nav-list {
        display: none;
        flex-direction: column;
        width: 100%;
      }
      .nav-list.open { display: flex; }
      .nav-list > li > a {
        height: auto;
        padding: 13px 20px;
        border-bottom: 1px solid rgba(255,255,255,0.06);
        justify-content: space-between;
      }
      .nav-list > li > a::after { display: none; }
      .dropdown {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border-radius: 0;
        background: var(--navy-800);
      }
      .dropdown::before { display: none; }
      .dropdown li a {
        color: rgba(255,255,255,0.7);
        border-bottom-color: rgba(255,255,255,0.04);
        padding-left: 36px;
      }
      .dropdown li a::before { display: none; }
      .dropdown li a:hover { background: rgba(255,255,255,0.04); color: var(--sand-400); }
      .sub-dropdown {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border-radius: 0;
        background: var(--navy-900);
      }
      .sub-dropdown::before { display: none; }
      .sub-dropdown li a { padding-left: 52px; }
      .hero { min-height: 480px; }
      .welcome::before { display: none; }
      .welcome-grid { grid-template-columns: 1fr; gap: 36px; }
      .welcome-image::before { display: none; }
      .services-grid { grid-template-columns: 1fr; }
      .test-cards { grid-template-columns: 1fr; }
      .testimonials::before { display: none; }
      .why-grid { grid-template-columns: 1fr; }
      .location-grid { grid-template-columns: 1fr; }
      .stat-grid { grid-template-columns: 1fr 1fr; }
      .footer-grid { grid-template-columns: 1fr; gap: 32px; }
    }
    @media (max-width: 480px) {
      .stat-grid { grid-template-columns: 1fr; }
      .stat-item::after { display: none; }
    }

/* ═══════════════════════════════════════════════════════════
       APPOINTMENT REQUEST FORM
       ═══════════════════════════════════════════════════════════ */
    .appt-form-wrap {
      max-width: 720px;
      margin: 0 auto;
    }
    .appt-form-title {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: clamp(28px, 4vw, 40px);
      font-weight: 600;
      color: var(--navy-700);
      line-height: 1.2;
      margin-bottom: 12px;
    }
    .appt-form-subtitle {
      font-size: 15px;
      color: var(--slate-500);
      line-height: 1.7;
      margin-bottom: 36px;
    }
    .required-star {
      color: #c0392b;
      font-weight: 600;
    }
    .optional-label {
      color: var(--slate-400);
      font-weight: 400;
      font-size: 13px;
    }

    /* ── Rows & Fields ── */
    .appt-row {
      margin-bottom: 20px;
    }
    .appt-row--two {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }
    .appt-row--three {
      display: grid;
      grid-template-columns: 1fr 120px 140px;
      gap: 16px;
    }
    .appt-field label {
      display: block;
      font-size: 13.5px;
      font-weight: 600;
      color: var(--navy-700);
      margin-bottom: 6px;
      letter-spacing: 0.02em;
    }
    .appt-field input[type="text"],
    .appt-field input[type="tel"],
    .appt-field input[type="email"],
    .appt-field input[type="date"],
    .appt-field select,
    .appt-field textarea {
      width: 100%;
      padding: 11px 14px;
      font-family: 'DM Sans', sans-serif;
      font-size: 15px;
      color: var(--slate-800);
      background: var(--slate-50);
      border: 1.5px solid var(--slate-200);
      border-radius: 8px;
      transition: border-color 0.25s, box-shadow 0.25s;
    }
    .appt-field input:focus,
    .appt-field select:focus,
    .appt-field textarea:focus {
      outline: none;
      border-color: var(--navy-400);
      box-shadow: 0 0 0 3px rgba(27, 73, 101, 0.1);
      background: var(--white);
    }
    .appt-field textarea {
      resize: vertical;
      min-height: 100px;
    }
    .appt-field--narrow {
      max-width: 220px;
    }
    .appt-field--medium {
      max-width: 400px;
    }

    /* ── Consent Checkbox ── */
    .appt-consent label.appt-checkbox-label {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      font-size: 13.5px;
      font-weight: 400;
      color: var(--slate-600);
      line-height: 1.65;
      cursor: pointer;
      background: var(--sand-50);
      border: 1px solid var(--sand-200);
      border-radius: 8px;
      padding: 16px;
    }
    .appt-consent input[type="checkbox"] {
      margin-top: 3px;
      width: 18px;
      height: 18px;
      flex-shrink: 0;
      accent-color: var(--navy-600);
    }

    /* ── Submit Button ── */
    .appt-submit-btn {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 36px;
      font-family: 'Outfit', sans-serif;
      font-size: 14px;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--white);
      background: linear-gradient(135deg, var(--navy-600), var(--sea-600));
      border: none;
      border-radius: 8px;
      cursor: pointer;
      transition: transform 0.25s, box-shadow 0.25s;
      box-shadow: 0 2px 8px rgba(27, 73, 101, 0.25);
    }
    .appt-submit-btn:hover {
      transform: translateY(-1px);
      box-shadow: 0 4px 16px rgba(27, 73, 101, 0.35);
    }

    /* ── Success / Error Messages ── */
    .appt-msg {
      padding: 20px 24px;
      border-radius: 8px;
      font-size: 15px;
      line-height: 1.7;
      margin-bottom: 24px;
    }
    .appt-msg--success {
      background: var(--sea-100);
      border: 1px solid var(--sea-400);
      color: #1a5c4f;
    }
    .appt-msg--error {
      background: #fef2f2;
      border: 1px solid #f87171;
      color: #991b1b;
    }
    .appt-msg--error a {
      color: #991b1b;
      font-weight: 600;
      text-decoration: underline;
    }

    /* ── Mobile Responsive ── */
    @media (max-width: 600px) {
      .appt-row--two,
      .appt-row--three {
        grid-template-columns: 1fr;
      }
      .appt-field--narrow,
      .appt-field--medium {
        max-width: 100%;
      }
    }