{"id":6,"date":"2026-07-03T09:41:58","date_gmt":"2026-07-03T09:41:58","guid":{"rendered":"https:\/\/alngubanephysiotherapist.co.za\/?page_id=6"},"modified":"2026-07-28T08:57:49","modified_gmt":"2026-07-28T08:57:49","slug":"home","status":"publish","type":"page","link":"https:\/\/alngubanephysiotherapist.co.za\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6\" class=\"elementor elementor-6\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b4f29fe e-con-full e-flex e-con e-parent\" data-id=\"b4f29fe\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9474382 elementor-widget elementor-widget-html\" data-id=\"9474382\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n  <meta charset=\"UTF-8\" \/>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, viewport-fit=cover\" \/>\r\n  <meta name=\"description\" content=\"Ayanda Ngubane, BSc Physio (UKZN). Joint pain, therapeutic massage, back &amp; neck pain, post-operative rehabilitation and home visits in Stanger, KwaZulu-Natal.\" \/>\r\n  <meta name=\"theme-color\" content=\"#2E86AB\" \/>\r\n  <title>ALNgubane Physiotherapy \u2014 Stanger, KZN<\/title>\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\" \/>\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin \/>\r\n  <link href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/bootstrap\/5.3.2\/css\/bootstrap.min.css\" rel=\"stylesheet\" \/>\r\n  <link href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/bootstrap-icons\/1.11.3\/font\/bootstrap-icons.min.css\" rel=\"stylesheet\" \/>\r\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap\" rel=\"stylesheet\" \/>\r\n  <style>\r\n    :root {\r\n      --brand: #2E86AB;\r\n      --brand-dark: #123B54;\r\n      --brand-light: #5FA8CE;\r\n      --primary: #123B54;\r\n      --teal: #5FA8CE;\r\n      --accent: #3D9EC4;\r\n      --bg: #F3F9FD;\r\n      --surface: #ffffff;\r\n      --text: #122A38;\r\n      --muted: #5a7183;\r\n      --border: #e3f0fa;\r\n      --mist: #E3F0FA;\r\n      --teal-soft: #CFE8F8;\r\n      --brand-soft: #e8f4fa;\r\n      --warm-soft: #f0f9fd;\r\n      --aln-ink: #123B54;\r\n      --nav-offset: 128px;\r\n    }\r\n\r\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\r\n\r\n    html {\r\n      scroll-behavior: smooth;\r\n      scroll-padding-top: var(--nav-offset);\r\n      overflow-x: clip;\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      margin: 0 !important;\r\n      padding: 0 !important;\r\n    }\r\n\r\n    body {\r\n      font-family: 'IBM Plex Sans', sans-serif;\r\n      background: var(--bg);\r\n      color: var(--text);\r\n      overflow-x: clip;\r\n      width: 100% !important;\r\n      max-width: none !important;\r\n      min-width: 100% !important;\r\n      min-height: 100%;\r\n      margin: 0 !important;\r\n      padding: 0 !important;\r\n      -webkit-font-smoothing: antialiased;\r\n    }\r\n\r\n    body.mobile-menu-open {\r\n      overflow: hidden;\r\n      touch-action: none;\r\n    }\r\n\r\n    \/* Custom foot massage cursor (32\u00d732 \u2014 browsers reject larger images) *\/\r\n    html,\r\n    body,\r\n    *,\r\n    *::before,\r\n    *::after {\r\n      cursor: url('assets\/foot-massage-cursor-32.png') 16 16,\r\n              url('data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAQfSURBVFhH7ZZfaFtVHMcLOqiOaRUU\/xRTRzTN\/ZNMhigh67l\/c5O0vTdpl80\/A58296BsMpfce9MkTRNlsgd98NUNGSJ7EH3QPcgg5t6kzdJ2a9d1c1phIoIypIpDGFqOnNulzT3Jy03qg7APnJd7zvme7\/2d3\/md09Nzl\/8zu3Nz9\/uKS6Oe5Nc03vefQSdr\/ZRezZCZ+uekai7737kKqezcP4RakfGxW4r7zXOP0JnaUSpbv+Wbugx9U4uQzs5CUjWgv7gMCc38Ep+zZRCpUpDOzt\/05RcgNVGDpGbaGjJE6uYZfN6WMHisRFHp2kVfYall4UbzF5YgoVYK+Nyu8arGC9TEhdt0bt4KtW1hvQKpiRlIpaehZU41j+Lzu4ZUzfyud7+FpNa0uGpAKnMBIlOEVlklVPPv507eQH1H8PldQ6bKx1F4m\/+cztQhma796il+LxFvlx7beeKHp8jJxTOkap7A53cNoRkHrQRrCjudnV1zF6++GPa7Q6IUW+S5yGdh98MP7Dy58ijg5eND3EgE1+kYr\/bNPpT5G3+fnYVeffqaHAjsYPiRv8RIAoZHXoYMN\/rJoZ6ebawYg6wYvw0kZQDX6ghvqqz4Ji9tGEB7T2iVG+KBY9sZbvhHXhqHjKBYDfDyeWQgNLwfAkH5CNfqCEI3D9m2AJ35\/AJ0F6+NS7tJRogk7hiIwYYZLhRHZn4LBOQduJ5jvJqh40mIokCmZ37vgXAbw0hfCZG9G1FoNGQGCLEgrucYUi3ncQPoSKL678kv6+FdTz8vhFsNoNwAgnwQ13MMoRq5VgPrR5HQqz\/5j5zuA9zwChcasxuI7oOMIE\/heo4hNSPZzgCVrqLKt+Z57+YTLBsuCeHNZNyMgPIhrucYQiu\/7ivYk9CKgHUcZxb2SPHHGX5klQ3F2xn4GNdzDKmZY811oNHQt8F0\/Wx0oNdlZb8YsxlAeQF4pYzrOYZMlgN0tm5VQNsWoCs5Pf2L6\/3VPpaRPkV\/3GzAigiv\/BEMDj+EazrCk5oZQJcNuvFaojC1CAfz3wHF9WAfG4rfYsV229DlSXDlSr2kZvxsnX3cANqapPESGgf40Q\/WM3\/TwHphkq8nEol7cF1HEJoxTU9ebDVQuAwptXIYjQlyMsGKsTVUim1RiCYgyyuv4JqO8GrlU+1eQ\/7CFfQ2SDfGAV6+0nw3WFEIo4qoLAMA7rWrOoBQzTdQ5bM9Su5UQ0pfjwCC4ZVTjWREkeCkMYjKdFR5FSXkfruqA57Rzz9J6tU\/UdJtJiB6hFZX0YOkMQ4I8uGocsBalBGUNUZQVlhR+YKXxiZAaNRtV3UIkSpzdLa+gq5m1Kjs3HVvqjzUPAaAeD8vjec5Mb6X52PPApDrPOzt6H\/r7H10bn6Izsztcb12uhfvv0un\/Att6s8+3tav3wAAAABJRU5ErkJggg==') 16 16,\r\n              auto !important;\r\n    }\r\n\r\n    [hidden] { display: none !important; }\r\n\r\n    h1, h2, h3, h4, h5 {\r\n      font-family: 'Fraunces', serif;\r\n      font-weight: 600;\r\n    }\r\n\r\n    img, video, canvas { max-width: 100%; height: auto; }\r\n\r\n    .container {\r\n      width: 100% !important;\r\n      max-width: 100% !important;\r\n      padding-left: clamp(1.25rem, 4vw, 2.5rem);\r\n      padding-right: clamp(1.25rem, 4vw, 2.5rem);\r\n      margin-left: 0;\r\n      margin-right: 0;\r\n    }\r\n\r\n    \/* \u2500\u2500 NAV \u2500\u2500 *\/\r\n    #mainNav {\r\n      position: fixed;\r\n      top: 0;\r\n      left: 0;\r\n      right: 0;\r\n      z-index: 1000;\r\n      display: flex;\r\n      justify-content: center;\r\n      padding: 22px 16px 0;\r\n      pointer-events: none;\r\n      transition: padding .45s cubic-bezier(.4,0,.2,1);\r\n    }\r\n\r\n    #mainNav.scrolled { padding-top: 14px; }\r\n\r\n    .nav-float {\r\n      pointer-events: all;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      flex-wrap: wrap;\r\n      gap: .35rem 1.25rem;\r\n      max-width: min(1100px, 100%);\r\n      padding: 8px 10px 8px 14px;\r\n      background: rgba(18, 59, 84, 0.9);\r\n      backdrop-filter: blur(20px);\r\n      -webkit-backdrop-filter: blur(20px);\r\n      border: 1px solid rgba(255, 255, 255, 0.12);\r\n      border-radius: 999px;\r\n      box-shadow: 0 4px 24px rgba(18, 59, 84, 0.28), 0 0 0 1px rgba(46, 134, 171, 0.12) inset;\r\n      transition: background .45s, box-shadow .45s, padding .45s;\r\n    }\r\n\r\n    #mainNav.scrolled .nav-float {\r\n      background: rgba(18, 59, 84, 0.96);\r\n      box-shadow: 0 12px 40px rgba(18, 59, 84, 0.35), 0 0 0 1px rgba(46, 134, 171, 0.16) inset;\r\n      padding: 6px 10px 6px 12px;\r\n    }\r\n\r\n    #mainNav .nav-brand {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: .65rem;\r\n      font-family: 'Fraunces', serif;\r\n      font-size: .95rem;\r\n      font-weight: 600;\r\n      letter-spacing: .06em;\r\n      color: #fff;\r\n      text-decoration: none;\r\n      white-space: nowrap;\r\n      margin-right: .25rem;\r\n    }\r\n\r\n    .nav-logo {\r\n      width: 42px;\r\n      height: 42px;\r\n      border-radius: 50%;\r\n      flex-shrink: 0;\r\n      box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);\r\n      border: 2px solid rgba(255, 255, 255, 0.2);\r\n    }\r\n\r\n    #mainNav .nav-brand-text span { color: var(--brand-light); }\r\n\r\n    .nav-links {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 1.35rem;\r\n      list-style: none;\r\n      margin: 0;\r\n      padding: 0 .25rem;\r\n    }\r\n\r\n    .nav-links a {\r\n      font-size: .78rem;\r\n      letter-spacing: .18em;\r\n      text-transform: uppercase;\r\n      color: rgba(255, 255, 255, 0.82);\r\n      text-decoration: none;\r\n      font-weight: 400;\r\n      position: relative;\r\n      padding-bottom: 4px;\r\n      transition: color .3s;\r\n    }\r\n\r\n    .nav-links a::after {\r\n      content: '';\r\n      position: absolute;\r\n      bottom: 0;\r\n      left: 0;\r\n      width: 0;\r\n      height: 1px;\r\n      background: var(--brand-light);\r\n      transition: width .4s cubic-bezier(.4,0,.2,1);\r\n    }\r\n\r\n    .nav-links a:hover { color: #fff; }\r\n    .nav-links a:hover::after { width: 100%; }\r\n\r\n    .nav-cta-btn {\r\n      font-size: .68rem;\r\n      letter-spacing: .18em;\r\n      text-transform: uppercase;\r\n      color: #fff;\r\n      background: var(--brand);\r\n      border: 1px solid var(--brand);\r\n      padding: 9px 18px;\r\n      border-radius: 999px;\r\n      text-decoration: none;\r\n      white-space: nowrap;\r\n      transition: background .35s, transform .3s;\r\n    }\r\n\r\n    .nav-cta-btn:hover {\r\n      background: var(--brand-light);\r\n      color: #fff;\r\n      transform: translateY(-1px);\r\n    }\r\n\r\n    .burger {\r\n      display: none;\r\n      flex-direction: column;\r\n      gap: 5px;\r\n      cursor: pointer;\r\n      background: none;\r\n      border: none;\r\n      padding: 4px;\r\n    }\r\n\r\n    .burger span {\r\n      width: 24px;\r\n      height: 1.5px;\r\n      background: #fff;\r\n      display: block;\r\n      transition: .3s;\r\n    }\r\n\r\n    #mobileMenu {\r\n      position: fixed;\r\n      inset: 0;\r\n      background: var(--aln-ink);\r\n      z-index: 999;\r\n      display: flex;\r\n      flex-direction: column;\r\n      align-items: center;\r\n      justify-content: center;\r\n      gap: 2.5rem;\r\n      opacity: 0;\r\n      pointer-events: none;\r\n      transition: opacity .45s cubic-bezier(.4,0,.2,1);\r\n    }\r\n\r\n    #mobileMenu.open { opacity: 1; pointer-events: all; }\r\n\r\n    .mobile-menu-logo {\r\n      border-radius: 50%;\r\n      margin-bottom: 1rem;\r\n      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);\r\n    }\r\n\r\n    #mobileMenu a {\r\n      font-family: 'Fraunces', serif;\r\n      font-size: 2.4rem;\r\n      color: rgba(255, 255, 255, 0.8);\r\n      text-decoration: none;\r\n      transition: color .3s;\r\n    }\r\n\r\n    #mobileMenu a:hover { color: var(--brand-light); }\r\n\r\n    #mobileClose {\r\n      position: absolute;\r\n      top: 28px;\r\n      right: 32px;\r\n      background: none;\r\n      border: none;\r\n      color: #fff;\r\n      font-size: 1.8rem;\r\n      cursor: pointer;\r\n    }\r\n\r\n    \/* \u2500\u2500 HERO \u2500\u2500 *\/\r\n    #hero {\r\n      position: relative;\r\n      width: 100%;\r\n      height: 100vh;\r\n      min-height: 640px;\r\n      overflow: hidden;\r\n      display: flex;\r\n      flex-direction: column;\r\n      background: var(--mist);\r\n      margin: 0;\r\n    }\r\n\r\n    .hero-parallax {\r\n      position: absolute;\r\n      inset: -12% 0 -8%;\r\n      overflow: hidden;\r\n      z-index: 0;\r\n    }\r\n\r\n    .hero-layer {\r\n      position: absolute;\r\n      inset: -5%;\r\n      background-position: center center;\r\n      background-size: cover;\r\n      background-repeat: no-repeat;\r\n      background-attachment: scroll;\r\n      will-change: transform;\r\n      transition: transform .08s linear;\r\n    }\r\n\r\n    .hero-layer-primary {\r\n      z-index: 0;\r\n      background-image: url('https:\/\/alngubanephysiotherapist.co.za\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-07-24-at-10.19.19.jpeg');\r\n      transform: scale(1.12);\r\n      background-size: cover;\r\n      background-position: center center;\r\n    }\r\n\r\n    .hero-overlay {\r\n      position: absolute;\r\n      inset: 0;\r\n      z-index: 2;\r\n      pointer-events: none;\r\n      background:\r\n        linear-gradient(105deg,\r\n          rgba(18, 59, 84, 0.82) 0%,\r\n          rgba(18, 59, 84, 0.62) 38%,\r\n          rgba(18, 59, 84, 0.28) 58%,\r\n          rgba(243, 249, 253, 0.45) 78%,\r\n          rgba(243, 249, 253, 0.25) 100%),\r\n        linear-gradient(to bottom, rgba(18, 59, 84, 0.4) 0%, transparent 45%);\r\n    }\r\n\r\n    .hero-glow {\r\n      position: absolute;\r\n      inset: 0;\r\n      z-index: 3;\r\n      pointer-events: none;\r\n      transition: transform .12s ease-out;\r\n      background:\r\n        radial-gradient(ellipse at 75% 40%, rgba(46, 134, 171, 0.12) 0%, transparent 50%),\r\n        radial-gradient(ellipse at 20% 90%, rgba(18, 59, 84, 0.2) 0%, transparent 45%);\r\n    }\r\n\r\n    .hero-layout {\r\n      position: relative;\r\n      z-index: 5;\r\n      flex: 1;\r\n      display: flex;\r\n      align-items: flex-start;\r\n      justify-content: space-between;\r\n      gap: 2.5rem;\r\n      width: 100%;\r\n      padding: var(--nav-offset) 1rem 2.5rem;\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    .hero-content {\r\n      flex: 1;\r\n      text-align: left;\r\n      max-width: 580px;\r\n    }\r\n\r\n    .hero-eyebrow {\r\n      display: inline-block;\r\n      font-size: .72rem;\r\n      letter-spacing: .3em;\r\n      text-transform: uppercase;\r\n      color: var(--brand-light);\r\n      margin-bottom: 1.6rem;\r\n      opacity: 0;\r\n      animation: fadeUp .8s .2s forwards;\r\n    }\r\n\r\n    .hero-headline {\r\n      font-size: clamp(2.8rem, 6.5vw, 5rem);\r\n      font-weight: 600;\r\n      line-height: 1.08;\r\n      color: #fff;\r\n      margin-bottom: 1.6rem;\r\n      text-shadow: 0 2px 24px rgba(18, 59, 84, 0.45);\r\n      opacity: 0;\r\n      animation: fadeUp .8s .5s forwards;\r\n    }\r\n\r\n    .hero-headline em { font-style: italic; color: #CFE8F8; font-weight: 500; }\r\n\r\n    .hero-sub {\r\n      font-size: 1rem;\r\n      color: rgba(255, 255, 255, 0.92);\r\n      max-width: 520px;\r\n      margin-bottom: 2.4rem;\r\n      font-weight: 400;\r\n      line-height: 1.8;\r\n      text-shadow: 0 1px 12px rgba(18, 59, 84, 0.35);\r\n      opacity: 0;\r\n      animation: fadeUp .8s .8s forwards;\r\n    }\r\n\r\n    .hero-actions {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      gap: .75rem;\r\n      opacity: 0;\r\n      animation: fadeUp .8s 1.1s forwards;\r\n    }\r\n\r\n    .hero-cta {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: .7rem;\r\n      padding: 14px 36px;\r\n      border: 1px solid var(--brand);\r\n      background: var(--brand);\r\n      color: #fff;\r\n      font-size: .78rem;\r\n      letter-spacing: .18em;\r\n      text-transform: uppercase;\r\n      text-decoration: none;\r\n      font-weight: 600;\r\n      border-radius: 999px;\r\n      box-shadow: 0 6px 20px rgba(18, 59, 84, 0.35);\r\n      transition: background .4s, color .4s, transform .3s, box-shadow .3s;\r\n    }\r\n\r\n    .hero-cta:hover {\r\n      background: var(--brand-dark);\r\n      color: #fff;\r\n      transform: translateY(-2px);\r\n      box-shadow: 0 10px 28px rgba(18, 59, 84, 0.45);\r\n    }\r\n\r\n    .hero-cta-outline {\r\n      background: rgba(255, 255, 255, 0.96);\r\n      color: var(--primary);\r\n      border-color: rgba(255, 255, 255, 0.95);\r\n      box-shadow: 0 6px 20px rgba(18, 59, 84, 0.28);\r\n      font-weight: 600;\r\n    }\r\n\r\n    .hero-cta-outline:hover {\r\n      background: #fff;\r\n      color: var(--brand-dark);\r\n      border-color: #fff;\r\n      box-shadow: 0 10px 28px rgba(18, 59, 84, 0.35);\r\n    }\r\n\r\n    .hero-practitioner {\r\n      flex-shrink: 0;\r\n      width: min(300px, 38vw);\r\n      opacity: 0;\r\n      animation: fadeUp .9s .6s forwards;\r\n    }\r\n\r\n    .hero-practitioner-card {\r\n      display: block;\r\n      text-decoration: none;\r\n      background: var(--surface);\r\n      border: 1px solid var(--border);\r\n      border-radius: 20px;\r\n      overflow: hidden;\r\n      box-shadow: 0 12px 40px rgba(18, 59, 84, 0.12);\r\n      transition: transform .4s cubic-bezier(.4, 0, .2, 1), box-shadow .4s, border-color .4s;\r\n    }\r\n\r\n    .hero-practitioner-card:hover {\r\n      transform: translateY(-6px);\r\n      border-color: rgba(46, 134, 171, 0.4);\r\n      box-shadow: 0 20px 48px rgba(46, 134, 171, 0.18);\r\n    }\r\n\r\n    .hero-practitioner-photo {\r\n      aspect-ratio: 4 \/ 3;\r\n      overflow: hidden;\r\n      background: linear-gradient(135deg, var(--teal-soft), var(--brand));\r\n    }\r\n\r\n    .hero-practitioner-photo img {\r\n      width: 100%;\r\n      height: 100%;\r\n      object-fit: cover;\r\n      display: block;\r\n      transition: transform .6s cubic-bezier(.4, 0, .2, 1);\r\n    }\r\n\r\n    .hero-practitioner-card:hover .hero-practitioner-photo img { transform: scale(1.05); }\r\n\r\n    .hero-practitioner-info {\r\n      padding: 1rem 1.1rem 1.15rem;\r\n      display: flex;\r\n      flex-direction: column;\r\n      gap: .2rem;\r\n    }\r\n\r\n    .hero-practitioner-label {\r\n      font-size: .62rem;\r\n      letter-spacing: .18em;\r\n      text-transform: uppercase;\r\n      color: var(--brand);\r\n      font-weight: 500;\r\n    }\r\n\r\n    .hero-practitioner-name {\r\n      font-family: 'Fraunces', serif;\r\n      font-size: 1.45rem;\r\n      font-weight: 600;\r\n      color: var(--primary);\r\n      line-height: 1.15;\r\n    }\r\n\r\n    .hero-practitioner-role {\r\n      font-size: .72rem;\r\n      color: var(--muted);\r\n      letter-spacing: .04em;\r\n    }\r\n\r\n    .hero-practitioner-link {\r\n      margin-top: .45rem;\r\n      font-size: .68rem;\r\n      letter-spacing: .1em;\r\n      text-transform: uppercase;\r\n      color: var(--brand);\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: .3rem;\r\n    }\r\n\r\n    .scroll-line {\r\n      position: absolute;\r\n      bottom: 40px;\r\n      left: 50%;\r\n      transform: translateX(-50%);\r\n      z-index: 5;\r\n      display: flex;\r\n      flex-direction: column;\r\n      align-items: center;\r\n      gap: 10px;\r\n      opacity: 0;\r\n      animation: fadeUp .8s 1.4s forwards;\r\n    }\r\n\r\n    .scroll-line span {\r\n      font-size: .65rem;\r\n      letter-spacing: .25em;\r\n      text-transform: uppercase;\r\n      color: rgba(255, 255, 255, 0.75);\r\n      text-shadow: 0 1px 8px rgba(18, 59, 84, 0.4);\r\n    }\r\n\r\n    .scroll-line .line {\r\n      width: 1px;\r\n      height: 56px;\r\n      background: linear-gradient(to bottom, rgba(255, 255, 255, 0.85), transparent);\r\n      animation: linePulse 2s ease-in-out infinite;\r\n    }\r\n\r\n    @keyframes fadeUp { to { opacity: 1; transform: none; } }\r\n    @keyframes linePulse { 0%,100%{transform:scaleY(1)} 50%{transform:scaleY(1.3)} }\r\n\r\n    \/* \u2500\u2500 JOURNEY BRIDGE \u2500\u2500 *\/\r\n    .journey-bridge {\r\n      position: relative;\r\n      height: 56px;\r\n      margin-top: -1px;\r\n      background: var(--surface);\r\n      overflow: hidden;\r\n    }\r\n\r\n    .journey-bridge-svg { display: block; width: 100%; height: 100%; }\r\n\r\n    .journey-bridge-path {\r\n      fill: none;\r\n      stroke: var(--brand);\r\n      stroke-width: 2;\r\n      stroke-linecap: round;\r\n      opacity: .4;\r\n      stroke-dasharray: 1440;\r\n      stroke-dashoffset: 1440;\r\n      transition: stroke-dashoffset 1.4s cubic-bezier(.4, 0, .2, 1);\r\n    }\r\n\r\n    .journey-bridge.is-drawn .journey-bridge-path {\r\n      stroke-dashoffset: 0;\r\n      opacity: .55;\r\n    }\r\n\r\n    .journey-bridge--dark { background: var(--bg); }\r\n\r\n    \/* \u2500\u2500 SECTIONS \u2500\u2500 *\/\r\n    section {\r\n      padding: 120px 0;\r\n      width: 100%;\r\n      margin: 0;\r\n    }\r\n\r\n    .section-label {\r\n      display: inline-block;\r\n      font-size: .68rem;\r\n      letter-spacing: .3em;\r\n      text-transform: uppercase;\r\n      color: var(--brand);\r\n      margin-bottom: 1.2rem;\r\n    }\r\n\r\n    .section-title {\r\n      font-size: clamp(2.2rem, 4vw, 3.6rem);\r\n      font-weight: 600;\r\n      line-height: 1.12;\r\n      color: var(--primary);\r\n    }\r\n\r\n    .section-title em { font-style: italic; color: var(--brand); font-weight: 500; }\r\n\r\n    .divider {\r\n      width: 48px;\r\n      height: 2px;\r\n      background: linear-gradient(90deg, var(--brand), var(--teal));\r\n      margin: 1.6rem 0;\r\n    }\r\n\r\n    \/* \u2500\u2500 REVEAL \u2500\u2500 *\/\r\n    .reveal {\r\n      opacity: 0;\r\n      transform: translateY(52px);\r\n      transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);\r\n      transition-delay: var(--reveal-delay, 0s);\r\n      will-change: opacity, transform;\r\n    }\r\n\r\n    .reveal--left { transform: translateX(-72px); }\r\n    .reveal--right { transform: translateX(72px); }\r\n    .reveal--zoom-in { transform: scale(0.82); }\r\n    .reveal--up { transform: translateY(52px); }\r\n    .reveal.visible { opacity: 1; transform: none; will-change: auto; }\r\n\r\n    [data-reveal-stagger] .svc-card.reveal { transition-delay: var(--reveal-delay, 0s); }\r\n\r\n    \/* \u2500\u2500 ABOUT \u2500\u2500 *\/\r\n    #about { background: var(--surface); }\r\n\r\n    .about-image-wrap { position: relative; }\r\n\r\n    .about-image-wrap::before {\r\n      content: '';\r\n      position: absolute;\r\n      top: -20px;\r\n      right: -20px;\r\n      width: 100%;\r\n      height: 100%;\r\n      border: 1px solid var(--brand);\r\n      z-index: 0;\r\n      transition: transform .4s;\r\n    }\r\n\r\n    .about-image-wrap:hover::before { transform: translate(6px, 6px); }\r\n\r\n    .about-image-wrap img {\r\n      position: relative;\r\n      z-index: 1;\r\n      width: 100%;\r\n      height: 480px;\r\n      object-fit: cover;\r\n      display: block;\r\n      transition: transform .6s cubic-bezier(.4,0,.2,1);\r\n    }\r\n\r\n    .about-image-wrap:hover img { transform: scale(1.03); }\r\n\r\n    .about-stat {\r\n      display: inline-block;\r\n      font-family: 'Fraunces', serif;\r\n      font-size: 3rem;\r\n      font-weight: 600;\r\n      color: var(--brand);\r\n    }\r\n\r\n    .about-stat-label {\r\n      font-size: .76rem;\r\n      letter-spacing: .15em;\r\n      text-transform: uppercase;\r\n      color: var(--muted);\r\n      margin-top: .2rem;\r\n    }\r\n\r\n    .credential-plates {\r\n      display: flex;\r\n      gap: .75rem;\r\n      flex-wrap: wrap;\r\n      margin: 1.5rem 0 1.8rem;\r\n    }\r\n\r\n    .credential-plates span {\r\n      background: var(--bg);\r\n      border: 1px solid var(--border);\r\n      padding: 8px 16px;\r\n      border-radius: 999px;\r\n      font-size: .78rem;\r\n      color: var(--primary);\r\n      font-weight: 500;\r\n    }\r\n\r\n    \/* \u2500\u2500 SERVICES \u2500\u2500 *\/\r\n    #services { background: var(--bg); padding: 88px 0; width: 100%; }\r\n\r\n    .services-header { max-width: 520px; margin: 0 auto 2rem; }\r\n\r\n    .services-intro {\r\n      font-size: .88rem;\r\n      color: var(--muted);\r\n      line-height: 1.7;\r\n      margin: 0;\r\n    }\r\n\r\n    .svc-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      gap: 1rem;\r\n      max-width: 1040px;\r\n      width: 100%;\r\n      margin: 0 auto;\r\n    }\r\n\r\n    .svc-card {\r\n      position: relative;\r\n      background: transparent;\r\n      border: 1px solid var(--border);\r\n      border-radius: 12px;\r\n      overflow: hidden;\r\n      transition: border-color .4s ease, box-shadow .4s ease;\r\n    }\r\n\r\n    .svc-card::before {\r\n      content: '';\r\n      position: absolute;\r\n      left: 0;\r\n      top: 0;\r\n      bottom: 0;\r\n      width: 3px;\r\n      background: var(--svc-color, var(--brand));\r\n      transform: scaleY(0);\r\n      transition: transform .35s cubic-bezier(.4, 0, .2, 1);\r\n      z-index: 1;\r\n    }\r\n\r\n    .svc-card:hover {\r\n      border-color: rgba(18, 59, 84, 0.12);\r\n      box-shadow: 0 4px 20px rgba(18, 59, 84, 0.06);\r\n    }\r\n\r\n    .svc-card.is-open {\r\n      border-color: rgba(18, 59, 84, 0.1);\r\n      box-shadow: 0 4px 24px rgba(18, 59, 84, 0.08), 0 0 0 1px rgba(18, 59, 84, 0.04);\r\n    }\r\n\r\n    .svc-card.is-open::before { transform: scaleY(1); }\r\n\r\n    .svc-card-toggle {\r\n      width: 100%;\r\n      display: grid;\r\n      grid-template-columns: auto auto 1fr auto;\r\n      align-items: center;\r\n      gap: .5rem .55rem;\r\n      padding: .85rem .9rem .85rem 1rem;\r\n      border: none;\r\n      background: transparent;\r\n      cursor: pointer;\r\n      text-align: left;\r\n      font-family: 'IBM Plex Sans', sans-serif;\r\n      color: var(--text);\r\n      transition: background .4s ease;\r\n    }\r\n\r\n    .svc-card-toggle:hover { background: rgba(18, 59, 84, 0.03); }\r\n\r\n    .svc-card.is-open .svc-card-toggle {\r\n      background: linear-gradient(90deg, rgba(18, 59, 84, 0.04), transparent);\r\n    }\r\n\r\n    .svc-card-num {\r\n      font-family: 'Fraunces', serif;\r\n      font-size: .95rem;\r\n      font-weight: 600;\r\n      color: var(--svc-color, var(--brand));\r\n      opacity: .85;\r\n      min-width: 1.25rem;\r\n    }\r\n\r\n    .svc-card-thumb {\r\n      width: 32px;\r\n      height: 32px;\r\n      border-radius: 50%;\r\n      overflow: hidden;\r\n      flex-shrink: 0;\r\n    }\r\n\r\n    .svc-card-thumb img {\r\n      width: 100%;\r\n      height: 100%;\r\n      object-fit: cover;\r\n      object-position: center;\r\n      display: block;\r\n    }\r\n\r\n    .svc-card-head {\r\n      display: flex;\r\n      flex-direction: column;\r\n      gap: .15rem;\r\n      min-width: 0;\r\n    }\r\n\r\n    .svc-card-name {\r\n      font-size: .82rem;\r\n      font-weight: 600;\r\n      color: var(--text);\r\n      line-height: 1.2;\r\n    }\r\n\r\n    .svc-card-chip {\r\n      font-size: .58rem;\r\n      letter-spacing: .14em;\r\n      text-transform: uppercase;\r\n      color: var(--svc-color, var(--brand));\r\n      font-weight: 500;\r\n    }\r\n\r\n    .svc-card-chevron {\r\n      font-size: .75rem;\r\n      color: var(--muted);\r\n      transition: transform .35s cubic-bezier(.4, 0, .2, 1), color .3s;\r\n    }\r\n\r\n    .svc-card.is-open .svc-card-chevron {\r\n      transform: rotate(180deg);\r\n      color: var(--svc-color, var(--brand));\r\n    }\r\n\r\n    .svc-card-body {\r\n      overflow: hidden;\r\n      max-height: 0;\r\n      opacity: 0;\r\n      padding: 0 1rem;\r\n      border-top: 1px solid transparent;\r\n      transition: max-height .45s cubic-bezier(.4, 0, .2, 1), opacity .35s ease, padding .45s ease, border-color .35s ease;\r\n    }\r\n\r\n    .svc-card.is-open .svc-card-body {\r\n      max-height: 820px;\r\n      opacity: 1;\r\n      padding: 0 1rem 1rem 1.15rem;\r\n      border-top-color: var(--border);\r\n    }\r\n\r\n    .svc-card-media {\r\n      margin: .75rem 0 .65rem;\r\n      border-radius: 8px;\r\n      overflow: hidden;\r\n      aspect-ratio: 4 \/ 5;\r\n      min-height: 340px;\r\n      background: linear-gradient(135deg, var(--svc-color, var(--brand)), var(--teal));\r\n    }\r\n\r\n    .svc-card-media img {\r\n      width: 100%;\r\n      height: 100%;\r\n      object-fit: contain;\r\n      object-position: center;\r\n      display: block;\r\n      background: #f8fbfc;\r\n    }\r\n\r\n    .svc-card-desc {\r\n      font-size: .8rem;\r\n      line-height: 1.6;\r\n      color: var(--muted);\r\n      margin: .75rem 0 .45rem;\r\n    }\r\n\r\n    .svc-card-features {\r\n      list-style: none;\r\n      margin: 0 0 .85rem;\r\n      padding: 0;\r\n      font-size: .76rem;\r\n      color: var(--text);\r\n      line-height: 1.5;\r\n    }\r\n\r\n    .svc-card-features li {\r\n      padding: .15rem 0 .15rem .85rem;\r\n      position: relative;\r\n    }\r\n\r\n    .svc-card-features li::before {\r\n      content: '';\r\n      position: absolute;\r\n      left: 0;\r\n      top: .55rem;\r\n      width: 4px;\r\n      height: 4px;\r\n      border-radius: 50%;\r\n      background: var(--svc-color, var(--brand));\r\n    }\r\n\r\n    .svc-card-actions { display: flex; flex-wrap: wrap; gap: .45rem; }\r\n\r\n    .svc-btn {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: .35rem;\r\n      padding: 7px 14px;\r\n      font-size: .62rem;\r\n      letter-spacing: .12em;\r\n      text-transform: uppercase;\r\n      text-decoration: none;\r\n      border-radius: 999px;\r\n      transition: background .3s, color .3s, border-color .3s, transform .25s;\r\n    }\r\n\r\n    .svc-btn-primary {\r\n      background: var(--svc-color, var(--brand));\r\n      color: #fff;\r\n      border: 1px solid transparent;\r\n    }\r\n\r\n    .svc-btn-primary:hover {\r\n      filter: brightness(1.08);\r\n      transform: translateY(-1px);\r\n      color: #fff;\r\n    }\r\n\r\n    \/* \u2500\u2500 JOURNEY STRIP \u2500\u2500 *\/\r\n    #journeyBanner {\r\n      padding: 2rem 0;\r\n      width: 100%;\r\n      background: linear-gradient(135deg, var(--aln-ink) 0%, #0a3044 50%, var(--aln-ink) 100%);\r\n      position: relative;\r\n      overflow: hidden;\r\n    }\r\n\r\n    #journeyBanner::before {\r\n      content: '';\r\n      position: absolute;\r\n      inset: 0;\r\n      background:\r\n        radial-gradient(ellipse at 30% 50%, rgba(46, 134, 171, 0.18) 0%, transparent 60%),\r\n        radial-gradient(ellipse at 80% 50%, rgba(95, 168, 206, 0.14) 0%, transparent 60%);\r\n    }\r\n\r\n    #journeyBanner .container { position: relative; z-index: 1; }\r\n\r\n    .journey-strip {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      gap: 0;\r\n      flex-wrap: nowrap;\r\n    }\r\n\r\n    .journey-item {\r\n      flex: 1;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      gap: .45rem .55rem;\r\n      flex-wrap: nowrap;\r\n      min-width: 0;\r\n      padding: 0 .35rem;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    .journey-num {\r\n      font-family: 'Fraunces', serif;\r\n      font-size: 1.15rem;\r\n      font-weight: 600;\r\n      color: var(--brand-light);\r\n      letter-spacing: .06em;\r\n      flex-shrink: 0;\r\n    }\r\n\r\n    .journey-title {\r\n      font-family: 'Fraunces', serif;\r\n      font-size: 1.05rem;\r\n      font-weight: 500;\r\n      color: #fff;\r\n      flex-shrink: 0;\r\n    }\r\n\r\n    .journey-desc {\r\n      font-size: .72rem;\r\n      color: rgba(255, 255, 255, 0.55);\r\n      letter-spacing: .02em;\r\n      line-height: 1.3;\r\n      overflow: hidden;\r\n      text-overflow: ellipsis;\r\n    }\r\n\r\n    .journey-desc::before {\r\n      content: '\u00b7';\r\n      margin-right: .45rem;\r\n      color: rgba(255, 255, 255, 0.25);\r\n    }\r\n\r\n    .journey-sep {\r\n      flex-shrink: 0;\r\n      width: 1px;\r\n      height: 2.25rem;\r\n      background: rgba(255, 255, 255, 0.14);\r\n      margin: 0 .15rem;\r\n    }\r\n\r\n    \/* \u2500\u2500 LOCATION \u2500\u2500 *\/\r\n    #location { background: var(--surface); }\r\n\r\n    .map-frame {\r\n      border-radius: 12px;\r\n      overflow: hidden;\r\n      box-shadow: 0 12px 40px rgba(18, 59, 84, 0.1);\r\n      min-height: 380px;\r\n    }\r\n\r\n    .map-frame iframe {\r\n      width: 100%;\r\n      height: 100%;\r\n      min-height: 380px;\r\n      border: 0;\r\n      display: block;\r\n    }\r\n\r\n    .contact-info-item {\r\n      display: flex;\r\n      align-items: flex-start;\r\n      gap: 1.2rem;\r\n      margin-bottom: 2rem;\r\n    }\r\n\r\n    .contact-icon {\r\n      width: 44px;\r\n      height: 44px;\r\n      flex-shrink: 0;\r\n      border: 1px solid var(--border);\r\n      border-radius: 50%;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      font-size: 1.1rem;\r\n      color: var(--brand);\r\n      transition: background .3s, border-color .3s, color .3s;\r\n    }\r\n\r\n    .contact-info-item:hover .contact-icon {\r\n      background: var(--brand);\r\n      color: #fff;\r\n      border-color: var(--brand);\r\n    }\r\n\r\n    .contact-label {\r\n      font-size: .68rem;\r\n      letter-spacing: .2em;\r\n      text-transform: uppercase;\r\n      color: var(--muted);\r\n      margin-bottom: .2rem;\r\n    }\r\n\r\n    .contact-value {\r\n      font-size: .95rem;\r\n      color: var(--text);\r\n      text-decoration: none;\r\n      font-weight: 400;\r\n    }\r\n\r\n    .contact-value:hover { color: var(--brand); }\r\n\r\n    \/* \u2500\u2500 CTA \u2500\u2500 *\/\r\n    #cta {\r\n      padding: 120px 0;\r\n      width: 100%;\r\n      background: linear-gradient(135deg, var(--warm-soft) 0%, var(--teal-soft) 50%, var(--brand-soft) 100%);\r\n      position: relative;\r\n      overflow: hidden;\r\n      margin: 0;\r\n    }\r\n\r\n    #cta::before {\r\n      content: '';\r\n      position: absolute;\r\n      inset: 0;\r\n      background: url('https:\/\/images.unsplash.com\/photo-1645005513751-e22717a66ae6?q=80&w=1920&auto=format&fit=crop') center\/cover no-repeat;\r\n      opacity: .1;\r\n    }\r\n\r\n    #cta::after {\r\n      content: '';\r\n      position: absolute;\r\n      inset: 0;\r\n      background: linear-gradient(135deg, rgba(255,255,255,.9) 0%, rgba(227,240,250,.85) 100%);\r\n    }\r\n\r\n    .cta-inner { position: relative; z-index: 1; text-align: center; }\r\n\r\n    .cta-title {\r\n      font-size: clamp(2.4rem, 5vw, 4rem);\r\n      font-weight: 600;\r\n      color: var(--primary);\r\n      line-height: 1.1;\r\n      margin-bottom: 1.2rem;\r\n    }\r\n\r\n    .cta-title em { font-style: italic; color: var(--brand); font-weight: 500; }\r\n\r\n    .cta-sub {\r\n      font-size: .95rem;\r\n      color: var(--muted);\r\n      margin-bottom: 2.4rem;\r\n      max-width: 46ch;\r\n      margin-left: auto;\r\n      margin-right: auto;\r\n    }\r\n\r\n    .btn-primary-aln {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: .7rem;\r\n      padding: 15px 44px;\r\n      background: var(--brand);\r\n      color: #fff;\r\n      font-size: .78rem;\r\n      letter-spacing: .2em;\r\n      text-transform: uppercase;\r\n      text-decoration: none;\r\n      font-weight: 500;\r\n      border: none;\r\n      border-radius: 999px;\r\n      transition: background .35s, transform .3s;\r\n      cursor: pointer;\r\n    }\r\n\r\n    .btn-primary-aln:hover {\r\n      background: var(--brand-dark);\r\n      transform: translateY(-2px);\r\n      color: #fff;\r\n    }\r\n\r\n    .btn-outline-aln {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: .7rem;\r\n      padding: 14px 40px;\r\n      border: 1px solid rgba(18, 59, 84, 0.18);\r\n      color: var(--primary);\r\n      background: var(--surface);\r\n      font-size: .78rem;\r\n      letter-spacing: .2em;\r\n      text-transform: uppercase;\r\n      text-decoration: none;\r\n      font-weight: 400;\r\n      border-radius: 999px;\r\n      transition: border-color .35s, box-shadow .35s;\r\n    }\r\n\r\n    .btn-outline-aln:hover {\r\n      border-color: var(--brand);\r\n      box-shadow: 0 8px 24px rgba(46, 134, 171, 0.18);\r\n      color: var(--primary);\r\n    }\r\n\r\n    \/* \u2500\u2500 BOOKING \u2500\u2500 *\/\r\n    #book { background: var(--bg); width: 100%; }\r\n\r\n    .booking-intro-panel {\r\n      background: linear-gradient(160deg, var(--brand), var(--brand-dark));\r\n      color: #fff;\r\n      border-radius: 12px;\r\n      padding: 2.5rem 2rem;\r\n      height: 100%;\r\n    }\r\n\r\n    .booking-intro-panel h3 {\r\n      color: #fff;\r\n      font-size: 1.4rem;\r\n      margin-bottom: 1rem;\r\n    }\r\n\r\n    .booking-intro-panel p {\r\n      color: #d6e7f0;\r\n      font-size: .92rem;\r\n      line-height: 1.7;\r\n      margin-bottom: .75rem;\r\n    }\r\n\r\n    .booking-call-row {\r\n      margin-top: 2rem;\r\n      padding-top: 1.5rem;\r\n      border-top: 1px solid rgba(255, 255, 255, 0.18);\r\n    }\r\n\r\n    .booking-call-row .lbl {\r\n      font-size: .68rem;\r\n      letter-spacing: .18em;\r\n      text-transform: uppercase;\r\n      color: #a9c9db;\r\n      display: block;\r\n      margin-bottom: .4rem;\r\n    }\r\n\r\n    .booking-call-row a {\r\n      color: #fff;\r\n      text-decoration: none;\r\n      font-size: 1.1rem;\r\n      font-weight: 500;\r\n    }\r\n\r\n    .form-field {\r\n      background: var(--surface);\r\n      border: 1px solid var(--border);\r\n      padding: 14px 16px;\r\n      width: 100%;\r\n      font-family: 'IBM Plex Sans', sans-serif;\r\n      font-size: .88rem;\r\n      color: var(--text);\r\n      outline: none;\r\n      transition: border-color .3s;\r\n      margin-bottom: 1rem;\r\n      border-radius: 8px;\r\n    }\r\n\r\n    .form-field:focus { border-color: var(--brand); }\r\n    .form-field::placeholder { color: var(--muted); }\r\n\r\n    textarea.form-field { resize: vertical; min-height: 110px; }\r\n    select.form-field { cursor: pointer; }\r\n\r\n    .checkbox-row {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: .6rem;\r\n      margin-bottom: 1rem;\r\n    }\r\n\r\n    .checkbox-row input { width: auto; margin: 0; }\r\n    .checkbox-row label { font-size: .88rem; color: var(--text); margin: 0; }\r\n\r\n    .form-note { font-size: .82rem; color: var(--muted); margin-bottom: 1rem; }\r\n    .form-status { font-size: .88rem; min-height: 1.2em; }\r\n    .form-status.ok { color: var(--brand); }\r\n    .form-status.err { color: #D9503A; }\r\n\r\n    \/* Contact Form 7 \u2014 matches booking form design *\/\r\n    .aln-cf7-wrap .aln-cf7,\r\n    .aln-cf7-wrap .wpcf7 {\r\n      font-family: 'IBM Plex Sans', sans-serif;\r\n    }\r\n\r\n    .aln-cf7-row {\r\n      display: grid;\r\n      grid-template-columns: 1fr 1fr;\r\n      gap: 0 1rem;\r\n    }\r\n\r\n    .aln-cf7-col--check {\r\n      display: flex;\r\n      align-items: flex-end;\r\n      padding-bottom: 1rem;\r\n    }\r\n\r\n    .aln-cf7-label {\r\n      display: block;\r\n      font-size: .72rem;\r\n      letter-spacing: .12em;\r\n      text-transform: uppercase;\r\n      color: var(--muted);\r\n      font-weight: 500;\r\n      margin-bottom: .4rem;\r\n    }\r\n\r\n    .aln-cf7 .wpcf7-form-control-wrap {\r\n      display: block;\r\n      margin-bottom: 1rem;\r\n    }\r\n\r\n    .aln-cf7 input.aln-cf7-field,\r\n    .aln-cf7 select.aln-cf7-field,\r\n    .aln-cf7 textarea.aln-cf7-field {\r\n      width: 100%;\r\n      background: var(--surface);\r\n      border: 1px solid var(--border);\r\n      padding: 14px 16px;\r\n      font-family: 'IBM Plex Sans', sans-serif;\r\n      font-size: .88rem;\r\n      color: var(--text);\r\n      border-radius: 8px;\r\n      outline: none;\r\n      transition: border-color .3s, box-shadow .3s;\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    .aln-cf7 input.aln-cf7-field:focus,\r\n    .aln-cf7 select.aln-cf7-field:focus,\r\n    .aln-cf7 textarea.aln-cf7-field:focus {\r\n      border-color: var(--brand);\r\n      box-shadow: 0 0 0 3px rgba(46, 134, 171, 0.15);\r\n    }\r\n\r\n    .aln-cf7 textarea.aln-cf7-field {\r\n      resize: vertical;\r\n      min-height: 110px;\r\n    }\r\n\r\n    .aln-cf7 select.aln-cf7-field {\r\n      cursor: pointer;\r\n      appearance: none;\r\n      background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235a7183' d='M1 1l5 5 5-5'\/%3E%3C\/svg%3E\");\r\n      background-repeat: no-repeat;\r\n      background-position: right 14px center;\r\n      padding-right: 2.2rem;\r\n    }\r\n\r\n    .aln-cf7 input.aln-cf7-time,\r\n    .aln-cf7 input[type=\"time\"].aln-cf7-field {\r\n      cursor: pointer;\r\n    }\r\n\r\n    .aln-cf7 input[type=\"time\"].aln-cf7-field::-webkit-calendar-picker-indicator {\r\n      cursor: pointer;\r\n      opacity: 0.65;\r\n    }\r\n\r\n    .aln-cf7 .wpcf7-list-item { margin: 0; }\r\n\r\n    .aln-cf7 .wpcf7-checkbox .wpcf7-list-item-label {\r\n      font-size: .88rem;\r\n      color: var(--text);\r\n      cursor: pointer;\r\n    }\r\n\r\n    .aln-cf7 input[type=\"checkbox\"] {\r\n      width: 1rem;\r\n      height: 1rem;\r\n      accent-color: var(--brand);\r\n      margin-right: .5rem;\r\n    }\r\n\r\n    .aln-cf7-note {\r\n      font-size: .82rem;\r\n      color: var(--muted);\r\n      line-height: 1.6;\r\n      margin: 0 0 1.25rem;\r\n    }\r\n\r\n    .aln-cf7 input.aln-cf7-submit,\r\n    .aln-cf7 .wpcf7-submit.aln-cf7-submit {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      width: 100%;\r\n      padding: 15px 44px;\r\n      background: var(--brand);\r\n      color: #fff !important;\r\n      font-family: 'IBM Plex Sans', sans-serif;\r\n      font-size: .78rem;\r\n      letter-spacing: .18em;\r\n      text-transform: uppercase;\r\n      font-weight: 600;\r\n      border: none;\r\n      border-radius: 999px;\r\n      cursor: pointer;\r\n      transition: background .35s, transform .3s, box-shadow .3s;\r\n      box-shadow: 0 6px 20px rgba(46, 134, 171, 0.3);\r\n    }\r\n\r\n    .aln-cf7 input.aln-cf7-submit:hover,\r\n    .aln-cf7 .wpcf7-submit.aln-cf7-submit:hover {\r\n      background: var(--brand-dark);\r\n      transform: translateY(-2px);\r\n    }\r\n\r\n    .aln-cf7 .wpcf7-response-output {\r\n      margin: 1rem 0 0;\r\n      padding: .85rem 1rem;\r\n      border-radius: 8px;\r\n      font-size: .88rem;\r\n      border: 1px solid var(--border);\r\n    }\r\n\r\n    .aln-cf7 .wpcf7 form.sent .wpcf7-response-output {\r\n      background: #e8f4fa;\r\n      border-color: var(--brand);\r\n      color: var(--brand-dark);\r\n    }\r\n\r\n    .aln-cf7 .wpcf7-not-valid-tip {\r\n      font-size: .78rem;\r\n      color: #D9503A;\r\n      margin-top: .25rem;\r\n    }\r\n\r\n    .aln-cf7 .wpcf7-not-valid {\r\n      border-color: #D9503A !important;\r\n    }\r\n\r\n    @media (max-width: 767px) {\r\n      .aln-cf7-row { grid-template-columns: 1fr; }\r\n      .aln-cf7-col--check { align-items: flex-start; padding-bottom: 0; }\r\n    }\r\n\r\n    \/* \u2500\u2500 FOOTER \u2500\u2500 *\/\r\n    footer {\r\n      background: var(--aln-ink);\r\n      padding: 80px 0 40px;\r\n      width: 100%;\r\n      margin: 0;\r\n    }\r\n\r\n    .footer-bottom {\r\n      margin-top: 3.5rem;\r\n      padding-top: 2rem;\r\n      border-top: 1px solid rgba(255, 255, 255, 0.1);\r\n      font-size: .78rem;\r\n      color: rgba(255, 255, 255, 0.35);\r\n    }\r\n\r\n    .footer-brand {\r\n      font-family: 'Fraunces', serif;\r\n      font-size: 1.4rem;\r\n      color: #fff;\r\n      font-weight: 600;\r\n      letter-spacing: .06em;\r\n      margin-bottom: .8rem;\r\n    }\r\n\r\n    .footer-brand span { color: var(--brand-light); }\r\n\r\n    .footer-tagline { font-size: .82rem; color: rgba(255, 255, 255, 0.45); }\r\n\r\n    .footer-heading {\r\n      font-size: .7rem;\r\n      letter-spacing: .25em;\r\n      text-transform: uppercase;\r\n      color: var(--brand-light);\r\n      margin-bottom: 1.4rem;\r\n    }\r\n\r\n    .footer-links { list-style: none; }\r\n\r\n    .footer-links li { margin-bottom: .7rem; }\r\n\r\n    .footer-links a {\r\n      font-size: .85rem;\r\n      color: rgba(255, 255, 255, 0.55);\r\n      text-decoration: none;\r\n      transition: color .3s;\r\n    }\r\n\r\n    .footer-links a:hover { color: var(--brand-light); }\r\n\r\n    .social-row { display: flex; gap: .75rem; margin-top: 1.2rem; }\r\n\r\n    .social-icon {\r\n      width: 40px;\r\n      height: 40px;\r\n      border: 1px solid rgba(255, 255, 255, 0.15);\r\n      border-radius: 50%;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      color: rgba(255, 255, 255, 0.7);\r\n      text-decoration: none;\r\n      transition: background .3s, border-color .3s, color .3s;\r\n    }\r\n\r\n    .social-icon:hover {\r\n      background: var(--brand);\r\n      border-color: var(--brand);\r\n      color: #fff;\r\n    }\r\n\r\n    .footer-detail {\r\n      font-size: .82rem;\r\n      color: rgba(255, 255, 255, 0.45);\r\n      line-height: 1.7;\r\n    }\r\n\r\n    .footer-bottom a {\r\n      color: rgba(255, 255, 255, 0.5);\r\n      text-decoration: none;\r\n    }\r\n\r\n    .footer-bottom a:hover { color: var(--brand-light); }\r\n\r\n    \/* Full-bleed for Elementor HTML embed (width only \u2014 design unchanged) *\/\r\n    #mobileMenu,\r\n    .journey-bridge,\r\n    #hero,\r\n    #about,\r\n    #services,\r\n    #journeyBanner,\r\n    #location,\r\n    #cta,\r\n    #book,\r\n    footer {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    \/*\r\n     * Force full viewport width inside Elementor \/ Astra constrained columns.\r\n     * calc breakout expands past parent max-width without changing inner design.\r\n     *\/\r\n    #aln-embed-root,\r\n    .aln-embed-root {\r\n      display: block;\r\n      width: 100vw !important;\r\n      max-width: 100vw !important;\r\n      min-width: 100vw !important;\r\n      margin-left: calc(50% - 50vw) !important;\r\n      margin-right: calc(50% - 50vw) !important;\r\n      margin-top: 0 !important;\r\n      margin-bottom: 0 !important;\r\n      padding: 0 !important;\r\n      position: relative;\r\n      overflow-x: clip;\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    \/* First visible block flush to embed top *\/\r\n    #aln-embed-root > #mainNav {\r\n      margin-top: 0 !important;\r\n    }\r\n\r\n    #aln-embed-root > footer:last-child,\r\n    #aln-embed-root footer {\r\n      margin-bottom: 0 !important;\r\n      padding-bottom: 40px;\r\n    }\r\n\r\n    #aln-embed-root > *,\r\n    .aln-embed-root > * {\r\n      max-width: 100%;\r\n    }\r\n\r\n    #aln-embed-root .container,\r\n    #aln-embed-root .container-fluid,\r\n    .aln-embed-root .container,\r\n    .aln-embed-root .container-fluid {\r\n      width: 100% !important;\r\n      max-width: 100% !important;\r\n      margin-left: auto !important;\r\n      margin-right: auto !important;\r\n    }\r\n\r\n    \/* \u2500\u2500 RESPONSIVE \u2500\u2500 *\/\r\n    @media (max-width: 991px) {\r\n      :root { --nav-offset: 104px; }\r\n\r\n      .nav-links, .nav-cta-btn { display: none !important; }\r\n      .burger { display: flex; margin-left: auto; }\r\n      .nav-float {\r\n        width: 100%;\r\n        max-width: 420px;\r\n        justify-content: space-between;\r\n        padding: 8px 14px 8px 12px;\r\n      }\r\n      #mainNav .nav-brand { margin-right: 0; }\r\n\r\n      .hero-layout {\r\n        flex-direction: column;\r\n        align-items: center;\r\n        text-align: center;\r\n        gap: 2rem;\r\n      }\r\n\r\n      .hero-content { text-align: center; max-width: 100%; }\r\n      .hero-sub { margin-left: auto; margin-right: auto; }\r\n      .hero-actions { justify-content: center; }\r\n      .hero-practitioner { width: min(300px, 100%); }\r\n\r\n      .hero-overlay {\r\n        background:\r\n          linear-gradient(to bottom,\r\n            rgba(18, 59, 84, 0.75) 0%,\r\n            rgba(18, 59, 84, 0.55) 45%,\r\n            rgba(18, 59, 84, 0.35) 70%,\r\n            rgba(243, 249, 253, 0.3) 100%);\r\n      }\r\n\r\n      .svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }\r\n\r\n      .journey-strip {\r\n        overflow-x: auto;\r\n        justify-content: flex-start;\r\n        -webkit-overflow-scrolling: touch;\r\n        scrollbar-width: none;\r\n        padding-bottom: .25rem;\r\n      }\r\n\r\n      .journey-strip::-webkit-scrollbar { display: none; }\r\n\r\n      .journey-item {\r\n        flex: 0 0 auto;\r\n        padding: 0 1rem;\r\n      }\r\n\r\n      #contact .col-lg-6.offset-lg-1,\r\n      #location .col-lg-6.offset-lg-1 { margin-top: 1.5rem; }\r\n    }\r\n\r\n    @media (max-width: 767px) {\r\n      :root { --nav-offset: 96px; }\r\n\r\n      section { padding: 72px 0; }\r\n      #services { padding: 64px 0; }\r\n      #cta { padding: 88px 0; }\r\n      footer { padding: 56px 0 32px; }\r\n\r\n      #hero {\r\n        min-height: 100svh;\r\n        min-height: 100dvh;\r\n        height: auto;\r\n      }\r\n\r\n      .hero-layout { padding-bottom: 4.5rem; }\r\n\r\n      .hero-headline {\r\n        font-size: clamp(2.15rem, 10.5vw, 3.2rem);\r\n      }\r\n\r\n      .about-image-wrap::before { display: none; }\r\n      .about-image-wrap img {\r\n        height: min(380px, 58vw);\r\n        min-height: 240px;\r\n      }\r\n\r\n      .about-stat { font-size: 2.35rem; }\r\n    }\r\n\r\n    @media (max-width: 575px) {\r\n      .svc-grid { grid-template-columns: 1fr; }\r\n\r\n      #journeyBanner { padding: 1.35rem 0; }\r\n\r\n      .journey-item {\r\n        flex-direction: column;\r\n        align-items: center;\r\n        gap: .15rem;\r\n      }\r\n\r\n      .journey-desc::before { display: none; }\r\n      .journey-desc { font-size: .65rem; max-width: 9rem; }\r\n    }\r\n\r\n    @media (prefers-reduced-motion: reduce) {\r\n      html { scroll-behavior: auto; }\r\n      .reveal, .hero-eyebrow, .hero-headline, .hero-sub, .hero-actions, .hero-practitioner, .scroll-line {\r\n        animation: none !important;\r\n        opacity: 1 !important;\r\n        transform: none !important;\r\n      }\r\n      .reveal { opacity: 1; transform: none; }\r\n      .journey-bridge-path { stroke-dashoffset: 0 !important; }\r\n      .svc-card-body, .svc-card-chevron, .svc-card::before { transition: none !important; }\r\n    }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div id=\"aln-embed-root\" class=\"aln-embed-root\">\r\n\r\n<div id=\"mobileMenu\">\r\n  <button id=\"mobileClose\" aria-label=\"Close menu\"><i class=\"bi bi-x-lg\"><\/i><\/button>\r\n  <a href=\"#services\">Services<\/a>\r\n  <a href=\"#about\">About<\/a>\r\n  <a href=\"#location\">Location<\/a>\r\n  <a href=\"#book\">Book<\/a>\r\n<\/div>\r\n\r\n<nav id=\"mainNav\" aria-label=\"Main navigation\">\r\n  <div class=\"nav-float\">\r\n    <a href=\"#\" class=\"nav-brand\">\r\n      <span class=\"nav-brand-text\">ALNgubane <span>Physiotherapy<\/span><\/span>\r\n    <\/a>\r\n    <ul class=\"nav-links mb-0\">\r\n      <li><a href=\"#services\">Services<\/a><\/li>\r\n      <li><a href=\"#about\">About<\/a><\/li>\r\n      <li><a href=\"#location\">Location<\/a><\/li>\r\n      <li><a href=\"#book\">Book<\/a><\/li>\r\n    <\/ul>\r\n    <a href=\"#book\" class=\"nav-cta-btn\">Book Now<\/a>\r\n    <button class=\"burger\" id=\"burgerBtn\" aria-label=\"Open menu\">\r\n      <span><\/span><span><\/span><span><\/span>\r\n    <\/button>\r\n  <\/div>\r\n<\/nav>\r\n\r\n<section id=\"hero\">\r\n  <div class=\"hero-parallax\" aria-hidden=\"true\">\r\n    <div class=\"hero-layer hero-layer-primary\" id=\"heroLayerBg\"><\/div>\r\n  <\/div>\r\n  <div class=\"hero-overlay\"><\/div>\r\n  <div class=\"hero-glow\" id=\"heroGlow\"><\/div>\r\n  <div class=\"container hero-layout\">\r\n    <div class=\"hero-content\">\r\n      <span class=\"hero-eyebrow\">Stanger, KwaZulu-Natal &middot; South Africa<\/span>\r\n      <h1 class=\"hero-headline\">Continuing your <em>recovery<\/em>.<\/h1>\r\n      <p class=\"hero-sub\">\r\n        Ayanda Ngubane is a registered physiotherapist treating joint, back and neck pain, and guiding recovery after surgery &mdash; in the practice or at home.\r\n      <\/p>\r\n      <div class=\"hero-actions\">\r\n        <a href=\"#services\" class=\"hero-cta\"><span>Our Services<\/span> <i class=\"bi bi-arrow-right\"><\/i><\/a>\r\n        <a href=\"tel:+27679814790\" class=\"hero-cta hero-cta-outline\"><span>Call 067 981 4790<\/span><\/a>\r\n      <\/div>\r\n    <\/div>\r\n    <aside class=\"hero-practitioner\">\r\n      <a href=\"#services\" class=\"hero-practitioner-card\">\r\n        <div class=\"hero-practitioner-photo\">\r\n          <img decoding=\"async\" src=\"https:\/\/alngubanephysiotherapist.co.za\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-07-07-at-19.31.37.jpeg\"\r\n               alt=\"Ayanda Ngubane &mdash; Physiotherapist\" \/>\r\n        <\/div>\r\n        <div class=\"hero-practitioner-info\">\r\n          <span class=\"hero-practitioner-label\">Registered Physiotherapist<\/span>\r\n          <strong class=\"hero-practitioner-name\">Ayanda Ngubane<\/strong>\r\n          <span class=\"hero-practitioner-role\">BSc Physio (UKZN) &middot; PR 1178865<\/span>\r\n          <span class=\"hero-practitioner-link\">Our Services <i class=\"bi bi-arrow-right\"><\/i><\/span>\r\n        <\/div>\r\n      <\/a>\r\n    <\/aside>\r\n  <\/div>\r\n  <div class=\"scroll-line\">\r\n    <span>Scroll<\/span>\r\n    <div class=\"line\"><\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<div class=\"journey-bridge\" aria-hidden=\"true\">\r\n  <svg class=\"journey-bridge-svg\" viewBox=\"0 0 1440 72\" preserveAspectRatio=\"none\">\r\n    <path class=\"journey-bridge-path\" d=\"M0,36 C240,72 480,0 720,36 S1200,72 1440,36\" \/>\r\n  <\/svg>\r\n<\/div>\r\n\r\n<section id=\"about\">\r\n  <div class=\"container\">\r\n    <div class=\"row align-items-center g-5\">\r\n      <div class=\"col-lg-5 reveal reveal--left\">\r\n        <div class=\"about-image-wrap\">\r\n          <img decoding=\"async\" src=\"https:\/\/alngubanephysiotherapist.co.za\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-07-07-at-19.31.48.jpeg\"\r\n               alt=\"A physiotherapist supporting a patient during a session\" loading=\"lazy\" \/>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-lg-6 offset-lg-1 reveal reveal--right\">\r\n        <span class=\"section-label\">About the Practice<\/span>\r\n        <h2 class=\"section-title\">Care that starts with <em>listening<\/em><\/h2>\r\n        <div class=\"divider\"><\/div>\r\n        <div class=\"credential-plates\">\r\n          <span>BSc Physio (UKZN)<\/span>\r\n          <span>PR 1178865<\/span>\r\n          <span>PT 0127302<\/span>\r\n        <\/div>\r\n        <p style=\"font-size:.95rem;color:var(--muted);line-height:1.9;margin-bottom:1.5rem;\">\r\n          Ayanda Ngubane holds a BSc in Physiotherapy from the University of KwaZulu-Natal and is registered with the relevant professional bodies. The practice is based on Mahatma Gandhi Street in Stanger, treating patients from across the surrounding area.\r\n        <\/p>\r\n        <p style=\"font-size:.95rem;color:var(--muted);line-height:1.9;margin-bottom:1.5rem;\">\r\n          Every appointment begins with understanding how the pain or injury affects daily life, not just the joint or muscle involved. From there, treatment is built to get patients back to the movement they need &mdash; whether that's returning to sport, managing a chronic condition, or recovering after an operation.\r\n        <\/p>\r\n        <!--<p style=\"font-size:.95rem;color:var(--muted);line-height:1.9;margin-bottom:2.4rem;\">-->\r\n        <!--  For patients who find it difficult to travel, home visits bring the same standard of care to the front door.-->\r\n        <!--<\/p>-->\r\n        <div class=\"row g-4\">\r\n          <div class=\"col-6 col-lg-4\">\r\n            <div class=\"about-stat\">BSc<\/div>\r\n            <div class=\"about-stat-label\">Physio, University<br>of KwaZulu-Natal<\/div>\r\n          <\/div>\r\n          <div class=\"col-6 col-lg-4\">\r\n            <div class=\"about-stat\">2<\/div>\r\n            <div class=\"about-stat-label\">Professional<br>registrations<\/div>\r\n          <\/div>\r\n          <div class=\"col-12 col-lg-4\">\r\n            <div class=\"about-stat\">5<\/div>\r\n            <div class=\"about-stat-label\">Core treatment<br>services<\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<section id=\"services\">\r\n  <div class=\"container\">\r\n    <header class=\"services-header reveal reveal--zoom-in text-center\">\r\n      <span class=\"section-label\">Our Services<\/span>\r\n      <h2 class=\"section-title\">Treatment built around <em>where it hurts<\/em><\/h2>\r\n      <div class=\"divider mx-auto\"><\/div>\r\n      <p class=\"services-intro\">Every plan starts with an assessment of the joint, muscle or movement pattern that's giving trouble &mdash; then a course of hands-on treatment and exercise to fix it. Tap a service to explore details.<\/p>\r\n    <\/header>\r\n\r\n    <div class=\"svc-grid\" id=\"svcGrid\" data-reveal-stagger=\"alternate-lr\" data-reveal-step=\"0.09\">\r\n\r\n      <article class=\"svc-card is-open\" style=\"--svc-color:#2E86AB\">\r\n        <button type=\"button\" class=\"svc-card-toggle\" aria-expanded=\"true\" aria-controls=\"svc-body-0\" id=\"svc-tab-0\">\r\n          <span class=\"svc-card-num\">01<\/span>\r\n          <span class=\"svc-card-thumb\">\r\n            <img decoding=\"async\" src=\"https:\/\/alngubanephysiotherapist.co.za\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-07-14-at-10.10.38.jpeg\" alt=\"\" width=\"32\" height=\"32\" \/>\r\n          <\/span>\r\n          <span class=\"svc-card-head\">\r\n            <strong class=\"svc-card-name\">Joint pain<\/strong>\r\n            <span class=\"svc-card-chip\">Joints<\/span>\r\n          <\/span>\r\n          <i class=\"bi bi-chevron-down svc-card-chevron\" aria-hidden=\"true\"><\/i>\r\n        <\/button>\r\n        <div class=\"svc-card-body\" id=\"svc-body-0\" role=\"region\" aria-labelledby=\"svc-tab-0\">\r\n          <div class=\"svc-card-media\">\r\n            <img decoding=\"async\" src=\"https:\/\/alngubanephysiotherapist.co.za\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-07-14-at-10.10.38.jpeg\" alt=\"A physiotherapist examining a patient's knee joint\" loading=\"lazy\" \/>\r\n          <\/div>\r\n          <p class=\"svc-card-desc\">Assessment and hands-on treatment for stiff, swollen or painful joints, with a home exercise plan to keep them moving.<\/p>\r\n          <ul class=\"svc-card-features\">\r\n            <li>Joint mobility assessment<\/li>\r\n            <li>Hands-on mobilisation<\/li>\r\n            <li>Home exercise programme<\/li>\r\n          <\/ul>\r\n          <div class=\"svc-card-actions\">\r\n            <a href=\"#book\" class=\"svc-btn svc-btn-primary\">Book<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <article class=\"svc-card is-open\" style=\"--svc-color:#5FA8CE\">\r\n        <button type=\"button\" class=\"svc-card-toggle\" aria-expanded=\"true\" aria-controls=\"svc-body-1\" id=\"svc-tab-1\">\r\n          <span class=\"svc-card-num\">02<\/span>\r\n          <span class=\"svc-card-thumb\">\r\n            <img decoding=\"async\" src=\"https:\/\/alngubanephysiotherapist.co.za\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-07-14-at-10.10.55.jpeg\" alt=\"\" width=\"32\" height=\"32\" \/>\r\n          <\/span>\r\n          <span class=\"svc-card-head\">\r\n            <strong class=\"svc-card-name\">Therapeutic massage<\/strong>\r\n            <span class=\"svc-card-chip\">Soft tissue<\/span>\r\n          <\/span>\r\n          <i class=\"bi bi-chevron-down svc-card-chevron\" aria-hidden=\"true\"><\/i>\r\n        <\/button>\r\n        <div class=\"svc-card-body\" id=\"svc-body-1\" role=\"region\" aria-labelledby=\"svc-tab-1\">\r\n          <div class=\"svc-card-media\">\r\n            <img decoding=\"async\" src=\"https:\/\/alngubanephysiotherapist.co.za\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-07-14-at-10.10.55.jpeg\" alt=\"A therapist treating a patient's back and neck\" loading=\"lazy\" \/>\r\n          <\/div>\r\n          <p class=\"svc-card-desc\">Targeted massage to ease tight muscles, improve circulation and speed up recovery between sessions.<\/p>\r\n          <ul class=\"svc-card-features\">\r\n            <li>Deep tissue release<\/li>\r\n            <li>Improved circulation<\/li>\r\n            <li>Recovery between sessions<\/li>\r\n          <\/ul>\r\n          <div class=\"svc-card-actions\">\r\n            <a href=\"#book\" class=\"svc-btn svc-btn-primary\">Book<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n     <article class=\"svc-card is-open\" style=\"--svc-color:#123B54\">\r\n  <button type=\"button\" class=\"svc-card-toggle\" aria-expanded=\"true\" aria-controls=\"svc-body-2\" id=\"svc-tab-2\">\r\n    <span class=\"svc-card-num\">03<\/span>\r\n    <span class=\"svc-card-thumb\">\r\n      <img decoding=\"async\" src=\"https:\/\/alngubanephysiotherapist.co.za\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-07-15-at-13.14.57.jpeg\" alt=\"\" width=\"32\" height=\"32\" \/>\r\n    <\/span>\r\n    <span class=\"svc-card-head\">\r\n      <strong class=\"svc-card-name\">Patient Transport<\/strong>\r\n      <span class=\"svc-card-chip\">Free Service<\/span>\r\n    <\/span>\r\n    <i class=\"bi bi-chevron-down svc-card-chevron\" aria-hidden=\"true\"><\/i>\r\n  <\/button>\r\n\r\n  <div class=\"svc-card-body\" id=\"svc-body-2\" role=\"region\" aria-labelledby=\"svc-tab-2\">\r\n    <div class=\"svc-card-media\">\r\n      <img decoding=\"async\" src=\"https:\/\/alngubanephysiotherapist.co.za\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-07-15-at-13.14.57.jpeg\" alt=\"Patient transport service provided by AL Ngubane Physiotherapy\" loading=\"lazy\" \/>\r\n    <\/div>\r\n\r\n    <p class=\"svc-card-desc\">\r\n      Don't let transport prevent you from getting the professional treatment you need. We provide <strong>FREE, safe transport<\/strong> for eligible Back and Neck Assistance Program (BNAP) patients, ensuring you can attend your physiotherapy appointments with ease.\r\n    <\/p>\r\n\r\n    <ul class=\"svc-card-features\">\r\n      <li>FREE transport for eligible BNAP patients<\/li>\r\n      <li>Pickup from your location<\/li>\r\n      <li>Safe return home after your appointment<\/li>\r\n    <\/ul>\r\n\r\n    <div class=\"svc-card-actions\">\r\n      <a href=\"#book\" class=\"svc-btn svc-btn-primary\">Book Transport<\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/article>\r\n      <article class=\"svc-card\" style=\"--svc-color:#3D9EC4\">\r\n        <button type=\"button\" class=\"svc-card-toggle\" aria-expanded=\"false\" aria-controls=\"svc-body-3\" id=\"svc-tab-3\">\r\n          <span class=\"svc-card-num\">04<\/span>\r\n          <span class=\"svc-card-thumb\">\r\n            <img decoding=\"async\" src=\"https:\/\/alngubanephysiotherapist.co.za\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-07-14-at-10.10.55.jpeg\" alt=\"\" width=\"32\" height=\"32\" \/>\r\n          <\/span>\r\n          <span class=\"svc-card-head\">\r\n            <strong class=\"svc-card-name\">Back &amp; neck pain<\/strong>\r\n            <span class=\"svc-card-chip\">Spine<\/span>\r\n          <\/span>\r\n          <i class=\"bi bi-chevron-down svc-card-chevron\" aria-hidden=\"true\"><\/i>\r\n        <\/button>\r\n        <div class=\"svc-card-body\" id=\"svc-body-3\" role=\"region\" aria-labelledby=\"svc-tab-3\" hidden>\r\n          <div class=\"svc-card-media\">\r\n            <img decoding=\"async\" src=\"https:\/\/alngubanephysiotherapist.co.za\/wp-content\/uploads\/2026\/07\/WhatsApp-Image-2026-07-14-at-10.10.55.jpeg\" alt=\"A therapist treating a patient's back and neck\" loading=\"lazy\" \/>\r\n          <\/div>\r\n          <p class=\"svc-card-desc\">Relief and rehabilitation for acute and chronic back and neck pain, from posture correction to strengthening.<\/p>\r\n          <ul class=\"svc-card-features\">\r\n            <li>Posture correction<\/li>\r\n            <li>Acute &amp; chronic pain relief<\/li>\r\n            <li>Strengthening programme<\/li>\r\n          <\/ul>\r\n          <div class=\"svc-card-actions\">\r\n            <a href=\"#book\" class=\"svc-btn svc-btn-primary\">Book<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <article class=\"svc-card\" style=\"--svc-color:#1A6B8A\">\r\n        <button type=\"button\" class=\"svc-card-toggle\" aria-expanded=\"false\" aria-controls=\"svc-body-4\" id=\"svc-tab-4\">\r\n          <span class=\"svc-card-num\">05<\/span>\r\n          <span class=\"svc-card-thumb\">\r\n            <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1645005513709-77336f075dc8?q=80&w=200&auto=format&fit=crop\" alt=\"\" width=\"32\" height=\"32\" \/>\r\n          <\/span>\r\n          <span class=\"svc-card-head\">\r\n            <strong class=\"svc-card-name\">Post-operative condition<\/strong>\r\n            <span class=\"svc-card-chip\">Recovery<\/span>\r\n          <\/span>\r\n          <i class=\"bi bi-chevron-down svc-card-chevron\" aria-hidden=\"true\"><\/i>\r\n        <\/button>\r\n        <div class=\"svc-card-body\" id=\"svc-body-4\" role=\"region\" aria-labelledby=\"svc-tab-4\" hidden>\r\n          <div class=\"svc-card-media\">\r\n            <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1645005513709-77336f075dc8?q=80&w=800&auto=format&fit=crop\" alt=\"A patient doing resistance band rehabilitation exercises\" loading=\"lazy\" \/>\r\n          <\/div>\r\n          <p class=\"svc-card-desc\">Structured rehabilitation after surgery to restore strength, range of motion and confidence in the body.<\/p>\r\n          <ul class=\"svc-card-features\">\r\n            <li>Post-surgery rehabilitation<\/li>\r\n            <li>Strength &amp; range of motion<\/li>\r\n            <li>Confidence in movement<\/li>\r\n          <\/ul>\r\n          <div class=\"svc-card-actions\">\r\n            <a href=\"#book\" class=\"svc-btn svc-btn-primary\">Book<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<div class=\"journey-bridge journey-bridge--dark\" aria-hidden=\"true\">\r\n  <svg class=\"journey-bridge-svg\" viewBox=\"0 0 1440 72\" preserveAspectRatio=\"none\">\r\n    <path class=\"journey-bridge-path\" d=\"M0,40 C360,0 720,56 1080,24 S1320,40 1440,48\" \/>\r\n  <\/svg>\r\n<\/div>\r\n\r\n<div id=\"journeyBanner\">\r\n  <div class=\"container position-relative\">\r\n    <div class=\"journey-strip reveal reveal--zoom-in\">\r\n      <div class=\"journey-item\">\r\n        <span class=\"journey-num\">01<\/span>\r\n        <span class=\"journey-title\">Assess<\/span>\r\n        <span class=\"journey-desc\">Understand your pain and movement<\/span>\r\n      <\/div>\r\n      <span class=\"journey-sep\" aria-hidden=\"true\"><\/span>\r\n      <div class=\"journey-item\">\r\n        <span class=\"journey-num\">02<\/span>\r\n        <span class=\"journey-title\">Treat<\/span>\r\n        <span class=\"journey-desc\">Hands-on therapy and massage<\/span>\r\n      <\/div>\r\n      <span class=\"journey-sep\" aria-hidden=\"true\"><\/span>\r\n      <div class=\"journey-item\">\r\n        <span class=\"journey-num\">03<\/span>\r\n        <span class=\"journey-title\">Strengthen<\/span>\r\n        <span class=\"journey-desc\">Exercise and rehabilitation<\/span>\r\n      <\/div>\r\n      <span class=\"journey-sep\" aria-hidden=\"true\"><\/span>\r\n      <div class=\"journey-item\">\r\n        <span class=\"journey-num\">04<\/span>\r\n        <span class=\"journey-title\">Recover<\/span>\r\n        <span class=\"journey-desc\">Return to daily life and sport<\/span>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<section id=\"location\">\r\n  <div class=\"container\">\r\n    <div class=\"row g-5\">\r\n      <div class=\"col-lg-5 reveal reveal--left\">\r\n        <span class=\"section-label\">Find the Practice<\/span>\r\n        <h2 class=\"section-title\">Visit us in <em>Stanger<\/em><\/h2>\r\n        <div class=\"divider\"><\/div>\r\n        <p style=\"font-size:.9rem;color:var(--muted);line-height:1.9;margin-bottom:2.4rem;\">\r\n          Open Monday to Friday, with home visits arranged for patients who can't travel.\r\n        <\/p>\r\n\r\n        <div class=\"contact-info-item\">\r\n          <div class=\"contact-icon\"><i class=\"bi bi-geo-alt-fill\"><\/i><\/div>\r\n          <div>\r\n            <div class=\"contact-label\">Address<\/div>\r\n            <div class=\"contact-value\">181 Mahatma Gandhi Street<br>Narainsingh Building, Stanger, 4450<\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"contact-info-item\">\r\n          <div class=\"contact-icon\"><i class=\"bi bi-telephone-fill\"><\/i><\/div>\r\n          <div>\r\n            <div class=\"contact-label\">Phone<\/div>\r\n            <a href=\"tel:+27679814790\" class=\"contact-value\">067 981 4790<\/a>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"contact-info-item\">\r\n          <div class=\"contact-icon\"><i class=\"bi bi-envelope-fill\"><\/i><\/div>\r\n          <div>\r\n            <div class=\"contact-label\">Email<\/div>\r\n            <a href=\"mailto:physioactive760@gmail.com\" class=\"contact-value\">physioactive760@gmail.com<\/a>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"contact-info-item\">\r\n          <div class=\"contact-icon\"><i class=\"bi bi-clock-fill\"><\/i><\/div>\r\n          <div>\r\n            <div class=\"contact-label\">Hours<\/div>\r\n            <div class=\"contact-value\">Monday &ndash; Friday, 08:00 &ndash; 17:00<br>Home visits by arrangement<\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"col-lg-6 offset-lg-1 reveal reveal--right\">\r\n        <div class=\"map-frame\">\r\n          <iframe\r\n            src=\"https:\/\/maps.google.com\/maps?q=181%20Mahatma%20Gandhi%20Street%2C%20Stanger%2C%204450&t=&z=15&ie=UTF8&iwloc=&output=embed\"\r\n            loading=\"lazy\"\r\n            referrerpolicy=\"no-referrer-when-downgrade\"\r\n            title=\"Map to 181 Mahatma Gandhi Street, Stanger\">\r\n          <\/iframe>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<div id=\"cta\">\r\n  <div class=\"container\">\r\n    <div class=\"cta-inner reveal reveal--zoom-in\">\r\n      <h2 class=\"cta-title\">Your recovery starts<br><em>today.<\/em><\/h2>\r\n      <p class=\"cta-sub\">One session can set the direction for weeks of progress. Reach out and take the first step.<\/p>\r\n      <div class=\"d-flex flex-wrap gap-3 justify-content-center\">\r\n        <a href=\"https:\/\/wa.me\/27679814790\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"btn-primary-aln\">\r\n          <i class=\"bi bi-whatsapp\"><\/i> <span>WhatsApp Us<\/span>\r\n        <\/a>\r\n        <a href=\"#book\" class=\"btn-outline-aln\"><span>Book a Session<\/span><\/a>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<section id=\"book\">\r\n  <div class=\"container\">\r\n    <div class=\"row g-5\">\r\n      <div class=\"col-lg-5 reveal reveal--left\">\r\n        <div class=\"booking-intro-panel\">\r\n          <div>\r\n            <h3>Prefer to speak directly?<\/h3>\r\n            <p>Call or send a message any time during practice hours and we'll find a slot that works.<\/p>\r\n            <p>Home visits can be arranged for patients unable to travel to Stanger.<\/p>\r\n          <\/div>\r\n          <div class=\"booking-call-row\">\r\n            <span class=\"lbl\">Direct line<\/span>\r\n            <a href=\"tel:+27679814790\">067 981 4790<\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"col-lg-6 offset-lg-1 reveal reveal--right\">\r\n        <span class=\"section-label\">Book a Session<\/span>\r\n        <h2 class=\"section-title\" style=\"font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:1rem;\">Tell us what's going on<\/h2>\r\n        <div class=\"divider\"><\/div>\r\n        <p style=\"font-size:.88rem;color:var(--muted);line-height:1.7;margin-bottom:1.5rem;\">\r\n          Fill in the form below and we'll get back to you during practice hours to confirm your appointment.\r\n        <\/p>\r\n\r\n        <div class=\"aln-cf7-wrap\">\r\n          \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f34-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"34\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F6#wpcf7-f34-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"34\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.6\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f34-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<div class=\"aln-cf7\">\n\t<div class=\"aln-cf7-row\">\n\t\t<div class=\"aln-cf7-col\">\n\t\t\t<p><label class=\"aln-cf7-label\">Full name<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required aln-cf7-field\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Full name\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"aln-cf7-col\">\n\t\t\t<p><label class=\"aln-cf7-label\">Phone number<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-phone\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel aln-cf7-field\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Phone number\" value=\"\" type=\"tel\" name=\"your-phone\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"aln-cf7-row\">\n\t\t<div class=\"aln-cf7-col\">\n\t\t\t<p><label class=\"aln-cf7-label\">Reason for visit<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"service\"><select class=\"wpcf7-form-control wpcf7-select wpcf7-validates-as-required aln-cf7-field\" aria-required=\"true\" aria-invalid=\"false\" name=\"service\"><option value=\"\">&#8212;Please choose an option&#8212;<\/option><option value=\"Joint pain\">Joint pain<\/option><option value=\"Therapeutic massage\">Therapeutic massage<\/option><option value=\"Back &amp; neck pain\">Back &amp; neck pain<\/option><option value=\"Post-operative condition\">Post-operative condition<\/option><option value=\"Home visit\">Home visit<\/option><option value=\"Not sure yet\">Not sure yet<\/option><\/select><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"aln-cf7-col\">\n\t\t\t<p><label class=\"aln-cf7-label\">Preferred date<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"preferred-date\"><input class=\"wpcf7-form-control wpcf7-date wpcf7-validates-as-required wpcf7-validates-as-date aln-cf7-field\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"date\" name=\"preferred-date\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"aln-cf7-row\">\n\t\t<div class=\"aln-cf7-col\">\n\t\t\t<p><label class=\"aln-cf7-label\">Preferred time<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"preferred-time\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required aln-cf7-field aln-cf7-time\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"preferred-time\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"aln-cf7-col aln-cf7-col--check\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"home-visit\"><span class=\"wpcf7-form-control wpcf7-checkbox aln-cf7-check\"><span class=\"wpcf7-list-item first last\"><label><input type=\"checkbox\" name=\"home-visit[]\" value=\"This is a home visit request\" \/><span class=\"wpcf7-list-item-label\">This is a home visit request<\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"aln-cf7-full\">\n\t\t<p><label class=\"aln-cf7-label\">Anything we should know<\/label><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"notes\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea aln-cf7-field\" aria-invalid=\"false\" placeholder=\"e.g. lower back pain for two weeks, previous surgery, etc.\" name=\"notes\"><\/textarea><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<p class=\"aln-cf7-note\">Submit this form and we'll get back to you during practice hours to confirm your appointment.\n\t<\/p>\n\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner aln-cf7-submit\" type=\"submit\" value=\"Send Booking Request\" \/>\n\t<\/p>\n<\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<footer>\r\n  <div class=\"container\">\r\n    <div class=\"row g-5\">\r\n      <div class=\"col-lg-4 reveal reveal--up\">\r\n        <div class=\"footer-brand\">ALNgubane <span>Physiotherapy<\/span><\/div>\r\n        <p class=\"footer-tagline\" style=\"margin-bottom:1.2rem;\">Hands-on care for joint, back and neck pain in Stanger.<\/p>\r\n        <div class=\"social-row\">\r\n          <a href=\"https:\/\/wa.me\/27679814790\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"social-icon\" aria-label=\"WhatsApp\"><i class=\"bi bi-whatsapp\"><\/i><\/a>\r\n          <a href=\"tel:+27679814790\" class=\"social-icon\" aria-label=\"Phone\"><i class=\"bi bi-telephone\"><\/i><\/a>\r\n          <a href=\"mailto:physioactive760@gmail.com\" class=\"social-icon\" aria-label=\"Email\"><i class=\"bi bi-envelope\"><\/i><\/a>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-lg-2 col-6 reveal reveal--left\" style=\"--reveal-delay:.1s\">\r\n        <div class=\"footer-heading\">Quick Links<\/div>\r\n        <ul class=\"footer-links\">\r\n          <li><a href=\"#services\">Services<\/a><\/li>\r\n          <li><a href=\"#about\">About<\/a><\/li>\r\n          <li><a href=\"#location\">Location<\/a><\/li>\r\n          <li><a href=\"#book\">Book<\/a><\/li>\r\n        <\/ul>\r\n      <\/div>\r\n      <div class=\"col-lg-3 col-6 reveal reveal--right\" style=\"--reveal-delay:.15s\">\r\n        <div class=\"footer-heading\">Practice<\/div>\r\n        <p class=\"footer-detail\">\r\n          181 Mahatma Gandhi Street<br>\r\n          Narainsingh Building, Stanger, 4450<br>\r\n          067 981 4790\r\n        <\/p>\r\n      <\/div>\r\n      <div class=\"col-lg-3 reveal reveal--zoom-in\" style=\"--reveal-delay:.2s\">\r\n        <div class=\"footer-heading\">Registrations<\/div>\r\n        <p class=\"footer-detail\">\r\n          PR 1178865<br>\r\n          PT 0127302<br>\r\n          BSc Physio (UKZN)\r\n        <\/p>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"footer-bottom\">\r\n      <div class=\"d-flex flex-wrap justify-content-between align-items-center gap-3\">\r\n        <p>&copy; 2026 ALNgubane Physiotherapy &middot; Stanger, KwaZulu-Natal<\/p>\r\n        <p><a href=\"mailto:physioactive760@gmail.com\">physioactive760@gmail.com<\/a><\/p>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/footer>\r\n\r\n<\/div><!-- \/#aln-embed-root -->\r\n\r\n<script>\r\n(function () {\r\n  \/* Force full bleed \u2014 Elementor \/ Astra (sides, top, bottom) *\/\r\n  var root = document.getElementById('aln-embed-root');\r\n\r\n  var BLEED_SELECTORS = [\r\n    '.elementor-section',\r\n    '.elementor-top-section',\r\n    '.elementor-widget-wrap',\r\n    '.elementor-widget-container',\r\n    '.elementor-widget-html',\r\n    '.elementor-element',\r\n    '.elementor-column',\r\n    '.elementor-column-wrap',\r\n    '.e-con',\r\n    '.e-con-inner',\r\n    '.entry-content',\r\n    '.ast-container',\r\n    '.ast-separate-container',\r\n    '.site-content',\r\n    '.content-area',\r\n    '.page .site-content',\r\n    '#content',\r\n    '#primary',\r\n    '.ast-plain-container',\r\n    '.ast-page-builder-template'\r\n  ];\r\n\r\n  function forceEmbedBleed() {\r\n    if (!root) return;\r\n\r\n    var parent = root.parentElement;\r\n    var depth = 0;\r\n    while (parent && parent !== document.documentElement && depth < 18) {\r\n      parent.style.setProperty('max-width', 'none', 'important');\r\n      parent.style.setProperty('width', '100%', 'important');\r\n      parent.style.setProperty('padding', '0', 'important');\r\n      parent.style.setProperty('padding-top', '0', 'important');\r\n      parent.style.setProperty('padding-bottom', '0', 'important');\r\n      parent.style.setProperty('padding-left', '0', 'important');\r\n      parent.style.setProperty('padding-right', '0', 'important');\r\n      parent.style.setProperty('margin-top', '0', 'important');\r\n      parent.style.setProperty('margin-bottom', '0', 'important');\r\n      parent.style.setProperty('margin-left', '0', 'important');\r\n      parent.style.setProperty('margin-right', '0', 'important');\r\n      parent.style.setProperty('overflow', 'visible', 'important');\r\n      parent.style.setProperty('overflow-x', 'visible', 'important');\r\n      parent.style.setProperty('overflow-y', 'visible', 'important');\r\n      parent = parent.parentElement;\r\n      depth++;\r\n    }\r\n\r\n    BLEED_SELECTORS.forEach(function (sel) {\r\n      var node = root.closest(sel);\r\n      if (!node) return;\r\n      node.style.setProperty('padding-top', '0', 'important');\r\n      node.style.setProperty('padding-bottom', '0', 'important');\r\n      node.style.setProperty('margin-top', '0', 'important');\r\n      node.style.setProperty('margin-bottom', '0', 'important');\r\n      node.style.setProperty('max-width', 'none', 'important');\r\n      node.style.setProperty('gap', '0', 'important');\r\n    });\r\n\r\n    root.style.removeProperty('margin-top');\r\n    root.style.removeProperty('margin-bottom');\r\n\r\n    var topGap = root.getBoundingClientRect().top;\r\n    if (topGap > 0.5) {\r\n      root.style.setProperty('margin-top', (-topGap) + 'px', 'important');\r\n    }\r\n\r\n    var bottomGap = 0;\r\n    var p = root.parentElement;\r\n    if (p) {\r\n      var pcs = window.getComputedStyle(p);\r\n      bottomGap += parseFloat(pcs.paddingBottom) || 0;\r\n      bottomGap += parseFloat(pcs.marginBottom) || 0;\r\n    }\r\n    var section = root.closest('.elementor-section, .e-con, .elementor-top-section');\r\n    if (section) {\r\n      var scs = window.getComputedStyle(section);\r\n      bottomGap += parseFloat(scs.paddingBottom) || 0;\r\n      bottomGap += parseFloat(scs.marginBottom) || 0;\r\n      section.style.setProperty('padding-top', '0', 'important');\r\n      section.style.setProperty('padding-bottom', '0', 'important');\r\n      section.style.setProperty('margin-top', '0', 'important');\r\n      section.style.setProperty('margin-bottom', '0', 'important');\r\n      section.style.setProperty('gap', '0', 'important');\r\n    }\r\n    if (bottomGap > 0.5) {\r\n      root.style.setProperty('margin-bottom', (-bottomGap) + 'px', 'important');\r\n    }\r\n  }\r\n\r\n  function scheduleBleed() {\r\n    forceEmbedBleed();\r\n    requestAnimationFrame(forceEmbedBleed);\r\n    setTimeout(forceEmbedBleed, 100);\r\n    setTimeout(forceEmbedBleed, 400);\r\n  }\r\n\r\n  if (root) {\r\n    scheduleBleed();\r\n    window.addEventListener('load', scheduleBleed);\r\n    window.addEventListener('resize', scheduleBleed);\r\n  }\r\n\r\n  \/* Nav scroll *\/\r\n  const nav = document.getElementById('mainNav');\r\n\r\n  function syncNavOffset() {\r\n    if (!nav) return;\r\n    document.documentElement.style.setProperty('--nav-offset', nav.offsetHeight + 20 + 'px');\r\n  }\r\n\r\n  syncNavOffset();\r\n  window.addEventListener('resize', syncNavOffset);\r\n  window.addEventListener('load', syncNavOffset);\r\n\r\n  window.addEventListener('scroll', function () {\r\n    nav.classList.toggle('scrolled', window.scrollY > 80);\r\n    syncNavOffset();\r\n  });\r\n\r\n  \/* Mobile menu *\/\r\n  const mobileMenu = document.getElementById('mobileMenu');\r\n  const burgerBtn = document.getElementById('burgerBtn');\r\n  const mobileClose = document.getElementById('mobileClose');\r\n\r\n  function setMobileMenuOpen(open) {\r\n    mobileMenu.classList.toggle('open', open);\r\n    document.body.classList.toggle('mobile-menu-open', open);\r\n  }\r\n\r\n  burgerBtn.addEventListener('click', function () { setMobileMenuOpen(true); });\r\n  mobileClose.addEventListener('click', function () { setMobileMenuOpen(false); });\r\n  document.querySelectorAll('#mobileMenu a').forEach(function (a) {\r\n    a.addEventListener('click', function () { setMobileMenuOpen(false); });\r\n  });\r\n\r\n  \/* Hero parallax *\/\r\n  const heroBg = document.getElementById('heroLayerBg');\r\n  const heroGlow = document.getElementById('heroGlow');\r\n  const heroSection = document.getElementById('hero');\r\n  const heroBaseScale = 1.12;\r\n\r\n  function updateHeroParallax() {\r\n    if (!heroSection || !heroBg) return;\r\n    const sy = window.scrollY;\r\n    const heroH = heroSection.offsetHeight;\r\n    const progress = Math.min(sy \/ heroH, 1);\r\n    heroBg.style.transform = 'scale(' + (heroBaseScale + progress * 0.05) + ') translateY(' + (sy * 0.32) + 'px)';\r\n  }\r\n\r\n  window.addEventListener('scroll', updateHeroParallax, { passive: true });\r\n  updateHeroParallax();\r\n\r\n  if (heroSection && heroBg) {\r\n    heroSection.addEventListener('mousemove', function (e) {\r\n      const rect = heroSection.getBoundingClientRect();\r\n      const xPct = (e.clientX - rect.left) \/ rect.width - 0.5;\r\n      const yPct = (e.clientY - rect.top) \/ rect.height - 0.5;\r\n      const sy = window.scrollY;\r\n      heroBg.style.transform = 'scale(' + heroBaseScale + ') translate(' + (xPct * -22) + 'px, ' + (sy * 0.32 + yPct * -14) + 'px)';\r\n      if (heroGlow) heroGlow.style.transform = 'translate(' + (xPct * 24) + 'px, ' + (yPct * 16) + 'px)';\r\n    });\r\n\r\n    heroSection.addEventListener('mouseleave', function () {\r\n      updateHeroParallax();\r\n      if (heroGlow) heroGlow.style.transform = '';\r\n    });\r\n  }\r\n\r\n  \/* Journey bridge draw *\/\r\n  const bridges = document.querySelectorAll('.journey-bridge');\r\n  if (bridges.length && !window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\r\n    const bridgeObs = new IntersectionObserver(function (entries) {\r\n      entries.forEach(function (entry) {\r\n        if (entry.isIntersecting) entry.target.classList.add('is-drawn');\r\n      });\r\n    }, { threshold: 0.2 });\r\n    bridges.forEach(function (b) { bridgeObs.observe(b); });\r\n  } else {\r\n    bridges.forEach(function (b) { b.classList.add('is-drawn'); });\r\n  }\r\n\r\n  \/* Services accordion *\/\r\n  const svcCards = document.querySelectorAll('.svc-card');\r\n\r\n  function closeSvcCard(card) {\r\n    card.classList.remove('is-open');\r\n    const body = card.querySelector('.svc-card-body');\r\n    const toggle = card.querySelector('.svc-card-toggle');\r\n    if (body) body.hidden = true;\r\n    if (toggle) toggle.setAttribute('aria-expanded', 'false');\r\n  }\r\n\r\n  function openSvcCard(card) {\r\n    card.classList.add('is-open');\r\n    const body = card.querySelector('.svc-card-body');\r\n    const toggle = card.querySelector('.svc-card-toggle');\r\n    if (body) body.hidden = false;\r\n    if (toggle) toggle.setAttribute('aria-expanded', 'true');\r\n  }\r\n\r\n  svcCards.forEach(function (card) {\r\n    const toggle = card.querySelector('.svc-card-toggle');\r\n    if (!toggle) return;\r\n    toggle.addEventListener('click', function () {\r\n      if (card.classList.contains('is-open')) closeSvcCard(card);\r\n      else openSvcCard(card);\r\n    });\r\n  });\r\n\r\n  \/* Scroll reveal *\/\r\n  const STAGGER_PATTERNS = {\r\n    'alternate-lr': ['reveal--left', 'reveal--right', 'reveal--zoom-in', 'reveal--left', 'reveal--right', 'reveal--zoom-in']\r\n  };\r\n\r\n  document.querySelectorAll('[data-reveal-stagger]').forEach(function (parent) {\r\n    const pattern = STAGGER_PATTERNS[parent.dataset.revealStagger] || STAGGER_PATTERNS['alternate-lr'];\r\n    const step = parseFloat(parent.dataset.revealStep) || 0.1;\r\n    parent.querySelectorAll('.svc-card').forEach(function (child, i) {\r\n      child.classList.add('reveal', pattern[i % pattern.length]);\r\n      child.style.setProperty('--reveal-delay', (i * step).toFixed(2) + 's');\r\n    });\r\n  });\r\n\r\n  const reveals = document.querySelectorAll('.reveal');\r\n  if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\r\n    reveals.forEach(function (el) { el.classList.add('visible'); });\r\n  } else {\r\n    const io = new IntersectionObserver(function (entries) {\r\n      entries.forEach(function (entry) {\r\n        if (entry.isIntersecting) {\r\n          entry.target.classList.add('visible');\r\n          io.unobserve(entry.target);\r\n        }\r\n      });\r\n    }, { threshold: 0.12, rootMargin: '0px 0px -40px 0px' });\r\n    reveals.forEach(function (el) { io.observe(el); });\r\n  }\r\n\r\n  \/* CF7 \u2014 native time picker for preferred-time field *\/\r\n  function initAlnTimeFields() {\r\n    document.querySelectorAll(\r\n      '.aln-cf7 input.aln-cf7-time, .aln-cf7-wrap input[name=\"preferred-time\"], input[name=\"preferred-time\"].aln-cf7-field'\r\n    ).forEach(function (el) {\r\n      el.type = 'time';\r\n      el.min = '08:00';\r\n      el.max = '17:00';\r\n      el.required = true;\r\n    });\r\n  }\r\n\r\n  initAlnTimeFields();\r\n  window.addEventListener('load', initAlnTimeFields);\r\n  document.addEventListener('wpcf7mailsent', initAlnTimeFields);\r\n  document.addEventListener('wpcf7invalid', initAlnTimeFields);\r\n  document.addEventListener('wpcf7submit', initAlnTimeFields);\r\n})();\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>ALNgubane Physiotherapy \u2014 Stanger, KZN Services About Location Book ALNgubane Physiotherapy Services About Location Book Book Now Stanger, KwaZulu-Natal &middot; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-6","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/alngubanephysiotherapist.co.za\/index.php?rest_route=\/wp\/v2\/pages\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alngubanephysiotherapist.co.za\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/alngubanephysiotherapist.co.za\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/alngubanephysiotherapist.co.za\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alngubanephysiotherapist.co.za\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6"}],"version-history":[{"count":64,"href":"https:\/\/alngubanephysiotherapist.co.za\/index.php?rest_route=\/wp\/v2\/pages\/6\/revisions"}],"predecessor-version":[{"id":98,"href":"https:\/\/alngubanephysiotherapist.co.za\/index.php?rest_route=\/wp\/v2\/pages\/6\/revisions\/98"}],"wp:attachment":[{"href":"https:\/\/alngubanephysiotherapist.co.za\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}