/*
Theme Name: HealthActions PT
Theme URI: https://healthactionspt.com/
Author: Waqar Abbas
Description: Custom theme for HealthActions PT to replace Divi for better performance.
Version: ve 45
Text Domain: healthactions-pt
*/

/* Modern Reset & Variables */
:root {
    /* Brand Colors */
    --primary-color: #0e3f6c; /* Dark Blue */
    --secondary-color: #7ab800; /* Green */
    --text-color: #0e3f6c;
    --text-light: #666;
    --bg-color: #fff;
    --light-bg: #f4f4f4;
    
    /* Typography */
    --font-main: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    
    /* Fluid Typography (Modern Clamp) */
    --font-size-h1: clamp(2rem, 5vw, 3rem); 
    --font-size-h2: clamp(1.75rem, 4vw, 2.5rem);
    --font-size-h3: clamp(1.25rem, 3vw, 1.75rem);
    
    /* Spacing */
    --container-width: 100%; /* Fluid width */
    --spacing-section: clamp(3rem, 8vw, 6rem); 
}

/* Unified Container Logic */
/* General container settings for all screens */ 
.container { 
    width: 100%;           /* Full width of the screen */ 
    max-width: 1200px;     /* Default max width for smaller desktop/tablet */ 
    margin: 0 auto;        /* Center the content horizontally */ 
    padding-left: 20px;    /* Left padding for smaller screens */ 
    padding-right: 20px;   /* Right padding for smaller screens */ 
} 

/* For screens 1200px - 1440px: Keep standard container */
@media (min-width: 1200px) and (max-width: 1440px) {
    .container {
        max-width: 1200px; /* Keep contained */
        padding-left: 30px;
        padding-right: 30px;
    }
}

/* ONLY expand on significantly larger screens (> 1440px) */ 
@media (min-width: 1441px) { 
    .container { 
        max-width: 1920px;  /* Now expand */ 
        padding-left: 40px; 
        padding-right: 40px; 
    } 
} 

/* For very large screens, add more padding */
@media (min-width: 1600px) {
    .container {
        padding-left: 60px;
        padding-right: 60px;
    }
}

/* Smaller devices like tablets and phones (less than 1200px) */ 
@media (max-width: 1199px) { 
    .container { 
        padding-left: 30px;  /* More padding for smaller devices */ 
        padding-right: 30px; /* More padding for smaller devices */ 
    } 
} 

@media (max-width: 992px) { 
    .container { 
        padding-left: 25px;  /* Less padding for tablets */ 
        padding-right: 25px; /* Less padding for tablets */ 
    } 
} 

@media (max-width: 768px) { 
    .container { 
        padding-left: 20px;  /* Further reduced padding for mobile */ 
        padding-right: 20px; /* Further reduced padding for mobile */ 
    } 
} 

@media (max-width: 576px) { 
    .container { 
        padding-left: 15px;   /* Less padding for smaller mobile screens */ 
        padding-right: 15px;  /* Less padding for smaller mobile screens */ 
    } 
} 

/* Grid Helpers from request */
@media (min-width: 1200px) { 
    .grid-container { 
        display: grid; 
        grid-template-columns: repeat(3, 1fr); 
        gap: 20px; 
    } 
} 

@media (max-width: 1200px) { 
    .grid-container { 
        display: grid;
        grid-template-columns: repeat(2, 1fr); 
        gap: 20px;
    } 
} 

@media (max-width: 768px) { 
    .grid-container { 
        display: grid;
        grid-template-columns: 1fr; 
        gap: 20px;
    } 
} 

.grid-item { 
    background: #f9f9f9; 
    padding: 15px; 
    border-radius: 8px; 
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 
} 

.grid-item img { 
    width: 100%; 
    height: auto; 
    border-radius: 5px; 
}

/* =========================================
   Animations
   ========================================= */
.feature-card, .service-card {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 1.2s ease-out, transform 1.2s ease-out;
}

.feature-card.visible, .service-card.visible {
    opacity: 1;
    transform: translateX(0);
}

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

body {
    font-family: var(--font-main);
    color: var(--text-color);
    line-height: 1.6;
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-main);
    color: var(--text-color);
    margin-top: 0;
    margin-bottom: 1rem;
    line-height: 1.2;
}

/* Ensure global font application for form elements */
input, button, select, textarea, label, option, optgroup {
    font-family: var(--font-main);
}

input::placeholder, textarea::placeholder {
    font-family: var(--font-main);
    opacity: 1; /* Firefox fix */
}

h1 { font-size: var(--font-size-h1); }
h2 { font-size: var(--font-size-h2); }
h3 { font-size: var(--font-size-h3); }

/* Removed duplicate .container definition that was overriding settings */

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Header Structure */
.site-header {
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    position: relative;
    z-index: 1000;
    transition: box-shadow .25s ease;
}

/* Top Bar */
.header-top {
    padding-block: 10px;
    background: #fff;
    transition: height .25s ease, padding .25s ease, opacity .2s ease;
    overflow: hidden;
    opacity: 1;
    min-height: 0;
    height: 64px;
    max-height: 64px;
    will-change: height, padding, opacity;
}

 @media (min-width: 992px) {
    .site-header.is-stuck .header-top {
        height: 0;
        padding-block: 0;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
}
 
 @media (min-width: 992px) {
    .site-header.is-stuck .header-cta-buttons {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
}
 
 /* Sticky Mini Header (separate, fixed, no layout shift) */
.sticky-mini-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99999;
    background: #fff;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    transform: translateY(-100%);
    transition: transform .25s ease;
    pointer-events: auto;
    min-height: 56px;
}

/* Adjust top position when WP Admin bar is present */
body.admin-bar .sticky-mini-header {
    top: 32px;
}
@media screen and (max-width: 782px) {
    body.admin-bar .sticky-mini-header {
        top: 46px;
    }
}
 
 .sticky-mini-inner {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 24px;
     padding: 10px 0;
 }
 
 .sticky-mini-logo {
     display: flex;
     align-items: center;
 }
 
 .sticky-mini-logo img {
     display: block;
     height: 38px;
     width: auto;
 }
 
 .sticky-mini-nav .menu {
     display: flex;
     gap: 20px;
     margin: 0;
     padding: 0;
     list-style: none;
 }
 
.sticky-mini-nav .menu > li {
    margin: 0;
    padding: 0;
}

.sticky-mini-nav .menu > li > a {
    display: block;
    padding: 8px 0;
    text-decoration: none;
    font-weight: 600;
    color: #071F36;
    line-height: 1.2;
}

.sticky-mini-nav .menu > li > a:hover,
.sticky-mini-nav .menu > li > a:focus {
    color: var(--primary-color);
}

 body.has-sticky .sticky-mini-header {
    transform: translateY(0);
    display: block !important;
    visibility: visible;
    pointer-events: auto;
 }
 
 /* Ensure page content is not covered when mini header is visible */
 body.has-sticky {
     scroll-padding-top: 60px; /* for anchor links */
 }
 
 @media (max-width: 991.98px) {
     .sticky-mini-header {
         display: none;
     }
 }
 
/* Spacer removed */
 
 /* Preserve natural height on smaller screens to avoid layout issues */
 @media (max-width: 768px) {
     .header-top {
         height: auto;
     }
 }
 
.header-cta-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    flex-wrap: wrap; 
}

.cta-button {
    background-color: var(--primary-color);
    color: #fff;
    padding: 12px 16px; /* Updated padding */
    border-radius: 25px;
    text-decoration: none;
    font-weight: 700;
    font-size: 12px; /* Smaller font to save space */
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.3s;
    text-transform: uppercase;
    border: 2px solid var(--primary-color);
}

.cta-button:hover {
    background-color: transparent;
    color: var(--primary-color);
}

.cta-button i {
    font-size: 12px;
}

/* Main Header Area */
.site-header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center; /* Ensures logo and menu are vertically centered */
    padding-block: 12px 24px;
    flex-wrap: nowrap; /* Prevent wrapping on desktop */
    gap: 32px;
    transition: padding .25s ease;
    will-change: padding;
}

.site-header.is-stuck .site-header-inner {
    padding-block: 8px 12px;
}
/* Removed override that zeroed container padding for specialist section */
.new-to-pt-content h2 {
    text-align: center !important;
}
.new-to-pt-content p {
    text-align: center !important;
}
.new-to-pt-btn-wrapper {
    text-align: center !important;
}
.new-to-pt-content
{
    text-align: center !important;
}
/* Logo - Fixed Layout */
.site-branding {
    flex-shrink: 1;
    max-width: 36%;
    min-width: 0;
}

.site-branding a {
    text-decoration: none;
}

.logo-placeholder {
    display: flex;
    align-items: center;
    gap: 10px; /* Space between icon and text */
}

.logo-image {
    display: block;
    width: 250px; /* Explicit width for CLS */
    height: auto;
    max-height: 52px;
    max-width: 100%;
    aspect-ratio: 250/52; /* Enforce aspect ratio */
}

.logo-icon {
    font-size: 32px;
    color: var(--primary-color);
}

.logo-text {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: nowrap;
    min-width: 0;
}

.logo-main {
    font-family: var(--font-main);
    font-size: 22px;
    font-weight: 800;
    color: var(--primary-color);
    line-height: 1;
}

.logo-sub {
    font-family: var(--font-main);
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #888;
    font-weight: 300;
}

/* Navigation */
.main-navigation {
    flex-grow: 1; /* Allows menu to take remaining space */
    display: flex;
    justify-content: flex-end; /* Align menu to the right */
    margin-left: 20px;
}

.main-navigation ul {
    list-style: none;
    display: flex;
    gap: 20px; /* Reduced gap slightly */
    margin: 0;
    padding: 0;
    align-items: center;
}

.main-navigation a {
    text-decoration: none;
    color: rgb(0, 46, 98); /* User specified color */
    font-weight: 600; /* User specified weight */
    font-size: 15px; /* User specified size */
    line-height: 14px; /* User specified line-height */
    transition: color 0.3s;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap; /* Prevent menu items from breaking lines */
}

.main-navigation a:hover {
    color: #0C436A;
}

.main-navigation .menu a i {
    font-size: 12px;
    line-height: 1;
}

.main-navigation .menu-item-has-children > a::after {
    content: "\f078";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 11px;
    line-height: 1;
}

.main-navigation .menu-item-has-children {
    position: relative;
}

.main-navigation .sub-menu {
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary-color);
    padding: 14px 0;
    min-width: 220px;
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
    display: none;
    flex-direction: column;
    gap: 0;
    z-index: 1200;
}

/* Fix dropdown menu gap issue */
.main-navigation .sub-menu::before {
    content: "";
    position: absolute;
    top: -20px; /* Bridge the gap */
    left: 0;
    width: 100%;
    height: 20px;
    background: transparent;
}

.main-navigation .menu-item-has-children:hover > .sub-menu,
.main-navigation .menu-item-has-children:focus-within > .sub-menu,
.main-navigation .menu-item-has-children.focus > .sub-menu {
    display: flex;
}

.main-navigation .sub-menu li {
    width: 100%;
}

.main-navigation .sub-menu a {
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    line-height: 18px;
    padding: 8px 16px;
    gap: 8px;
}

.main-navigation .sub-menu a:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
}

.main-navigation .sub-menu i {
    font-size: 12px;
}

/* Add leading location icon only for specific dropdowns */
.main-navigation .menu-item.submenu-with-icon .sub-menu a::before {
    content: "\f3c5";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    display: inline-block;
    margin-right: 8px;
    color: #fff;
    font-size: 14px;
    line-height: 1;
}

.mobile-header-actions {
    display: none;
}

.header-cta {
    display: none;
}

/* Mobile Toggle */
.menu-toggle {
    display: none; /* Hidden on desktop */
    background: transparent;
    border: none;
    font-size: 24px;
    color: var(--primary-color);
    cursor: pointer;
    padding: 0;
}

/* Custom Header Container Width */
.site-header .container {
    /* max-width: 1100px !important; */
}

/* Header Max Width for Large Screens */
@media (min-width: 1367px) {
    .site-header .container {
        max-width: 1400px !important;
    }
}

/* Hero Section */
.hero-section {
    background: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)); /* Black overlay only */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #fff;
    padding-block: 80px; /* More vertical breathing room */
    position: relative;
}

.hero-grid {
    display: grid;
    grid-template-columns: 1fr minmax(380px, 450px); /* Slightly wider form column */
    gap: 80px; /* Increased separation */
    align-items: center; /* Vertically center content */
}

/* Prevent hero content from spreading too wide on large screens */
@media (min-width: 1441px) {
    .hero-grid {
        max-width: 1400px; 
        margin-inline: auto;
    }
}

.hero-copy {
    text-align: center;
    padding-right: 20px;
}

.hero-copy h1 {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 65px;
    line-height: 85px;
    color: rgb(255, 255, 255);
    margin-bottom: 10px;
    letter-spacing: -0.5px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.hero-subheading {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 23px;
    color: rgb(255, 255, 255);
    margin-bottom: 15px;
    text-transform: none;
    letter-spacing: 0.5px;
    opacity: 1;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.hero-tagline {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 38px;
    line-height: 49px;
    color: rgb(255, 255, 255);
    margin-bottom: 25px;
    opacity: 1;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.hero-footer-text {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    color: rgb(255, 255, 255);
    margin-bottom: 0;
    letter-spacing: 0.5px;
    opacity: 1;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.hero-form-card {
    background: rgba(19, 67, 101, 0.9); /* #134365 with 90% opacity */
    border-radius: 8px; /* Softer corners */
    padding: 40px; /* More internal space */
    box-shadow: 0 20px 40px rgba(0,0,0,0.4); /* Deeper shadow for lift */
    border: 1px solid rgba(255,255,255,0.05); /* Subtle bezel */
}

.hero-form-card h3 {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 22px;
    line-height: 29px;
    color: rgb(255, 255, 255);
    margin: 0 0 15px 0;
    text-align: center;
}

.hero-form-card p {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 23px;
    color: rgb(255, 255, 255);
    margin: 0 0 25px 0;
    text-align: center;
}

.hero-form-card input,
.hero-form-card select,
.hero-form-card textarea {
    width: 100%;
    padding: 12px 15px;
    border-radius: 3px;
    border: none;
    outline: none;
    background: #fff;
    color: #333;
    font-size: 14px;
    margin-bottom: 15px;
}

.hero-form-card .form-row {
    display: block; /* Stack on mobile, grid on desktop if needed, but simple block is safer for narrow columns */
}

.hero-form-card .checkbox-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: #fff;
    font-size: 13px; /* Slightly larger for readability */
    margin-bottom: 25px;
    line-height: 1.4;
    cursor: pointer;
}

.hero-form-card .checkbox-row input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    background-color: #fff;
    width: 20px;
    height: 20px;
    min-width: 20px; /* Prevent shrinking */
    border-radius: 3px;
    cursor: pointer;
    position: relative;
    margin-top: 1px; /* Optical alignment with first line of text */
}

.hero-form-card .checkbox-row input[type="checkbox"]:checked::after {
    content: 'Ã¢Å“â€œ';
    position: absolute;
    color: #071F36;
    font-weight: 900;
    font-size: 14px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.hero-form-card .submit-btn {
    display: inline-block;
    width: 100%;
    padding: 15px;
    border-radius: 3px;
    background: #fff;
    color: #071F36;
    font-weight: 700;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    transition: background 0.3s;
}

.hero-form-card .submit-btn:hover {
    background: #f0f0f0;
}

/* Gravity Forms Overrides for Hero */
.hero-form-card .gform_wrapper {
    margin: 0 !important;
}

.hero-form-card .gform_heading {
    display: none; /* We use our own header */
}

.gform_wrapper .gform_body .gfield input[type="text"],
.gform_wrapper .gform_body .gfield input[type="email"],
.gform_wrapper .gform_body .gfield input[type="tel"] {
    padding: 12px 15px !important;
    border-radius: 3px !important;
    background: #fff !important;
    color: #333 !important;
    border: none !important;
    margin-bottom: 0 !important;
}

.gform_wrapper .gform_footer input[type="submit"] {
    width: 100%;
    padding: 15px !important;
    border-radius: 3px !important;
    background: #fff !important;
    color: #071F36 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    border: none !important;
}

.gform_wrapper .gform_fields {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gform_wrapper .gform_footer {
    margin-top: 12px;
}

.gform_wrapper .gfield_label {
    display: none;
}

/* GRAVITY FORM */
		
		.gform_wrapper .gform_body .gfield input[type="text"], .gform_wrapper .gform_body .gfield input[type="email"], .gform_wrapper .gform_body .gfield input[type="tel"] 
		{
			
			    background: #E9ECEF ! IMPORTANT;
    /* border: none !important; */
    /* padding: 15px !important; */
    margin-bottom: 15px !important;
    width: 100%;
    border-radius: 4px !important;
    font-size: 14px;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    padding-top: 25px !important;
    padding-bottom: 25px ! IMPORTANT;
			color: #999 !important;
		}
		.gform-field-label{
			
			color:white !important;
		}
		.gfield_select {
    background: #E9ECEF !important; 
    margin-bottom: 15px !important; 
    width: 100%; 
    border-radius: 4px !important; 
    font-size: 14px; 
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif; 
    padding: 10px 15px !important; /* Reduced padding for a cleaner look */
    box-sizing: border-box !important; 
    height: 50px !important; /* Set height instead of auto */
    max-height: none; /* Removing max-height */
			color: #999 !important;
}

		.gfield_select::placeholder {
    color: #999 !important; /* Placeholder text color */
    font-size: 14px;
}
		.gform_fields
		{
			row-gap:2px !important;
		}

	.gform_footer{
			    display: flex !important;
    flex-wrap: wrap !important;
    gap: var(--gf-form-footer-gap) !important;
    flex-direction: column !important;
    justify-content: space-evenly !important;
		}



.gform_button{
			color: #0c436a !important;
    border-width: 3px !important;
    border-color: #FFF;
    border-radius: 3px;
    font-size: 17px;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    background-color: #fcfbfb !important;
    padding-top: 17px !important;
    padding-bottom: 17px !important;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

@media (max-width: 768px) {
   .location-details-list li
   {
    font-size: 17px !important;
    
   }
   .location-info{
    padding-right: 0px !important;
   }
}
/* Core Values & Mission */
.core-values-section {
    padding-block: 50px;
    background: #eef4f8; /* Light blue/grey from reference */
    text-align: center;
    color: rgb(24, 25, 27);
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
}

.core-values-section .section-title {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-size: 36px;
    line-height: 58px;
    color: #0C436A; /* Updated to requested color */
    font-weight: 700;
    margin-bottom: 15px;
}

@media (max-width: 768px) {
    .core-values-section .section-title {
        font-size: 28px;
        line-height: 40px;
    }
}

@media (max-width: 480px) {
    .core-values-section .section-title {
        font-size: 24px;
        line-height: 34px;
    }
}

.values-intro {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 400;
    color: rgb(24, 25, 27);
    font-size: 16px;
    line-height: 26px;
    max-width: 1300px;
    margin: 0 auto 20px;
}

.values-list {
    max-width: 1300px;
    margin: 0 auto 20px;
    text-align: center;
}

.values-list p {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 400;
    color: rgb(24, 25, 27);
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 5px; /* Reduced to match reference tightness */
}

/* Ensure strong tags inside values match brand color for professionalism */
.values-list p strong {
    color: rgb(7, 31, 54);
    font-weight: 700;
}

.mission-block {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 400;
    color: rgb(24, 25, 27);
    font-size: 16px;
    line-height: 26px;
    max-width: 1300px;
    margin: 20px auto;
}

.values-cta {
    margin-top: 30px;
}

.cta-button-large {
    display: inline-block;
    background-color: #0C436A;
    color: #ffffff;
    padding: 16px 38px; /* Adjusted for border */
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    border: 2px solid #0C436A;
    transition: all 0.3s ease;
    white-space: normal; /* Allow text to wrap */
    text-align: center; /* Center wrapped text */
    line-height: 1.2; /* Better line height for wrapped text */
}

.cta-button-large::after {
    content: "\25B6"; /* Arrow icon */
    font-size: 12px;
    margin-left: 0;
    opacity: 0;
    display: inline-block;
    transform: translateX(-10px);
    transition: all 0.3s ease;
    white-space: nowrap; /* Prevent arrow from breaking alone if possible */
}

.cta-button-large:hover {
    background-color: transparent;
    color: #0C436A;
}

.cta-button-large:hover::after {
    opacity: 1;
    margin-left: 10px;
    transform: translateX(0);
}

@media (max-width: 500px) {
    .cta-button-large {
        padding: 14px 20px;
        font-size: 13px;
        width: 100%;
        box-sizing: border-box;
    }
}

/* Four Phases */
.four-phases-section {
    padding-block: 60px;
    background-color: #fff; /* Fallback */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    text-align: center;
}

.four-phases-section .section-title {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    color: #0C436A;
    font-weight: 600;
    font-size: 37px;
    line-height: 48px;
    margin-bottom: 50px;
}

.phases-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 30px;
}

.phase-item {
    text-align: center;
    padding: 20px;
    height: 100%;
}

.phase-icon {
    height: 100px;
    width: auto;
    margin: 0 auto 20px auto;
    object-fit: contain;
    display: block;
}

.phase-item h3 {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-size: 20px;
    color: #0C436A;
    font-weight: 500;
    line-height: 26px;
    margin-bottom: 15px;
}

.phase-item p {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-size: 15px;
    color: #0C436A;
    font-weight: 400;
    line-height: 26px;
}

@media (max-width: 768px) {
    .four-phases-section .section-title {
        font-size: 28px;
        line-height: 40px;
    }
}

@media (max-width: 480px) {
    .four-phases-section .section-title {
        font-size: 24px;
        line-height: 34px;
    }
}

/* Locations */
.locations-section {
    background-color: #fff; /* Fallback */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #333;
    padding-block: 60px;
    text-align: center;
}

.locations-section .section-title {
    color: #0C436A; /* Updated to requested color */
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 36px;
    margin-bottom: 40px;
}

/* Custom container for full width grid */
.locations-container {
    width: 100%;
    padding-inline: 20px;
    margin-inline: auto;
}

@media (max-width: 768px) {
    .locations-section .section-title {
        font-size: 28px;
        line-height: 40px;
    }
}

@media (max-width: 480px) {
    .locations-section .section-title {
        font-size: 24px;
        line-height: 34px;
    }
}

.locations-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    max-width: none; /* Removed max-width constraint */
    margin: 0 auto;
}

.location-item {
    background-color: var(--primary-color); /* Fallback */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 30px 15px;
    border-radius: 6px;
    text-align: center;
    color: #fff;
    flex: 0 0 calc(16.666% - 15px); /* 6 items per row approx */
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    min-height: 220px; /* Ensure uniform height */
    box-sizing: border-box;
}

.location-item h4 {
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #fff;
}

.location-item p {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    line-height: 1.4;
    margin-bottom: 20px;
    color: rgba(255, 255, 255, 0.9);
    flex-grow: 1; /* Push button to bottom */
}

.btn-view-location {
    display: inline-block;
    background-color: #ffffff;
    color: #0C436A;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    padding: 12px 20px;
    border-radius: 2px;
    transition: all 0.3s ease;
    width: 100%;
    max-width: 140px; /* Match button width in image */
    box-sizing: border-box;
}

.btn-view-location:hover {
    background-color: #f0f0f0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* Responsive Locations */
@media (max-width: 1200px) {
    .location-item {
        flex: 0 0 calc(25% - 15px); /* 4 per row */
    }
}

@media (max-width: 900px) {
    .location-item {
        flex: 0 0 calc(33.333% - 15px); /* 3 per row */
    }
}

@media (max-width: 600px) {
    .location-item {
        flex: 0 0 calc(50% - 15px); /* 2 per row */
    }
}

@media (max-width: 400px) {
    .location-item {
        flex: 0 0 100%; /* 1 per row */
    }
}

/* Single-column locations on very small screens */
@media (max-width: 432px) {
    .location-item {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .locations-grid {
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box;
    }
}

/* Insurance Section */
.insurance-section {
    padding-block: 60px;
    background: #fff;
    text-align: center;
}

.insurance-section .container {
    /* max-width: none;  Remove max-width constraint */
    /* width: 100%; */
    /* padding-inline: 20px; */
}

.insurance-section .section-title {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 600;
    color: rgb(12, 67, 106);
    font-size: 37px;
    line-height: 48px;
    margin-bottom: 20px;
}

.insurance-subtitle {
    margin-bottom: 40px;
}

.insurance-subtitle p {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 700;
    color: rgb(12, 67, 106);
    font-size: 20px;
    line-height: 26px;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.insurance-logos {
    display: flex;
    flex-wrap: wrap; /* Allow wrapping */
    justify-content: center;
    align-items: center;
    gap: 30px;
    max-width: 100%; /* Allow full width to fit single line on desktop */
    margin: 0 auto;
    padding-inline: 20px; /* Add padding to prevent edge touching */
}

.insurance-logo-item {
    flex: 0 1 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.insurance-logo-item img {
    max-width: 150px;
    /* Reduce size slightly on desktop to ensure single line fit if needed */
    width: 100%; 
    height: auto;
    filter: grayscale(0%);
    transition: transform 0.3s ease;
}

.insurance-logo-item img:hover {
    transform: scale(1.05);
}

@media (min-width: 992px) {
    .insurance-logos {
        flex-wrap: nowrap;
        max-width: 100%; /* Allow full width */
        gap: 15px; /* Reduced gap */
    }
    .insurance-logo-item {
        flex: 1 1 auto;
    }
    .insurance-logo-item img {
        max-width: 160px; /* Increased size */
    }
}

/* Responsive Insurance */
@media (max-width: 768px) {
    .insurance-section .section-title {
        font-size: 28px;
    }
    
    /* .insurance-subtitle p {
        font-size: 14px;
    } */
    
    .insurance-logos {
        gap: 20px;
    }
    
    .insurance-logo-item img {
        max-width: 120px;
    }
}

@media (max-width: 480px) {
    .insurance-section .section-title {
        font-size: 24px;
    }
    
    /* .insurance-subtitle p {
        font-size: 12px;
    } */
    
    /* .insurance-logo-item {
        flex: 0 0 45%;
    } */
    
    .insurance-logo-item img {
        max-width: 100%;
    }
}

/* Top Rated Section (NPS) */
.top-rated-promo-section {
    position: relative;
    overflow: hidden;
    background: #0C436A !important;
    background-size: cover !important;
    padding-block: 60px !important;
}

/* Specific override for PT section desktop view */
.top-rated-promo-section.top-rated-pt-section {
    background-position: center top 32% !important;
    background-image: linear-gradient(69deg, #ededed -23%, #0c436a 0%, #0c436a 53%, #fff0 53%), url('images/slant1.webp') !important;
    background-size: cover !important;
}

.nps-promo-section {
    padding-block: 100px;
}

.nps-promo-layout {
    display: flex;
    flex-direction: row;
    /* width, max-width, margin removed as container handles it */
    align-items: center;
    justify-content: space-between;
    gap: 40px; /* Reduced gap to bring elements closer */
}

.nps-promo-content {
    width: 100%;
    max-width: 800px;
    text-align: left;
}

/* Only force full width on very large screens for this promo section */
@media (min-width: 1441px) {
    .top-rated-promo-section .container {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 5% !important;
        padding-right: 5% !important; /* Balanced padding */
        margin: 0 !important;
    }
}

/* On standard laptops (1200-1440px), behave like normal container */
@media (max-width: 1440px) {
    .top-rated-promo-section .container {
        /* Let it inherit global .container styles */
        width: 100%;
        /* max-width is controlled by global rule */
    }
}

.top-rated-promo-section .promo-content {
    max-width: 50% !important;
    padding-right: 80px !important;
    padding-top: 50px !important;
}

.top-rated-promo-section .promo-content .section-title {
    font-family: 'Poppins', sans-serif !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 37px !important;
    line-height: 48px !important;
    margin-bottom: 20px !important;
    text-align: left !important;
}

.nps-subtitle {
    font-family: 'Poppins', sans-serif !important;
    /* color: #ffffff !important; */
    font-weight: 700 !important;
    font-size: 26px !important;
    line-height: 34px !important;
    margin: 0 !important;
    text-transform: uppercase !important;
}
.nps-promo-content .section-title {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 600;
    color: rgb(12, 67, 106);
    font-size: 37px;
    line-height: 48px;
    text-align: left;
    margin-bottom: 15px;
}

.nps-subtitle {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 700;
    color: rgb(12, 67, 106);
    font-size: 26px;
    line-height: 34px;
    text-align: left;
    margin-bottom: 20px;
}

.nps-promo-content p {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif !important;
    font-weight: 400 !important;
    color: rgb(24, 25, 27) !important;
    font-size: 16px !important;
    line-height: 26px !important;
    font-style: normal !important;
    margin-bottom: 30px !important;
    opacity: 1 !important;
    text-align: left !important;
}


.nps-button {
    display: inline-block;
    background-color: #0C436A;
    color: #fff;
    padding: 15px 30px;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    align-self: flex-start;
    transition: all 0.3s ease;
    font-size: 14px;
    letter-spacing: 0.5px;
    border: 2px solid #0C436A;
}

.nps-button::after {
    content: "\25B6"; /* Arrow icon */
    font-size: 12px;
    margin-left: 0;
    opacity: 0;
    display: inline-block;
    transform: translateX(-10px);
    transition: all 0.3s ease;
    white-space: nowrap;
}

.nps-button:hover {
    background-color: transparent;
    color: #0C436A;
}

.nps-button:hover::after {
    opacity: 1;
    margin-left: 10px;
    transform: translateX(0);
}

.nps-wrapper {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    padding: 10px 0;
}

.nps-circle-container {
    position: relative;
}

.nps-circle {
    width: 220px;
    height: 220px;
    border-radius: 50%;
    border: 30px solid #78BE20; /* Thicker border */
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    position: relative; /* Context for pseudo-element */
}

/* White cut at the top */
.nps-circle::after {
    content: '';
    position: absolute;
    top: -30px; /* Matches border width to sit on top */
    left: 50%;
    transform: translateX(-50%);
    width: 6px; /* Width of the cut */
    height: 30px; /* Matches border width */
    background: #fff;
}

.nps-score-large {
    font-size: 80px;
    font-weight: 600;
    color: #6CA6D8; /* Light Blue */
    font-family: 'Poppins', sans-serif;
}

.nps-stats-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 220px;
}

.nps-stat-row {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: #555;
}

.nps-total-row {
    border-bottom: 1px solid #6CA6D8;
    margin-top: 5px;
    font-weight: 700;
    color: #6CA6D8;
}

.stat-label {
    color: #78BE20; /* Promoters Green */
}

.stat-label.highlight-red {
    color: #D32F2F;
}

.stat-percent {
    color: #78BE20;
}

.stat-percent.highlight-red {
    color: #D32F2F;
}

.stat-value {
    color: #6CA6D8;
}

.nps-promo-image {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
}

/* Desktop Layout: Flatten structure to separate Circle and Stats */
@media (min-width: 1025px) {
    .nps-promo-layout .nps-wrapper {
        display: contents;
    }
}

/* Responsive Top Rated / NPS */
@media (max-width: 1024px) {
    .nps-promo-section {
        padding-block: 50px;
    }

    .nps-promo-layout {
        flex-direction: column-reverse;
        /* padding-left: 6%; Removed */
        /* padding-right: 6%; Removed */
        gap: 40px;
        align-items: flex-start;
    }

    .nps-promo-content {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        max-width: 100%;
        padding: 0;
        text-align: left;
    }
    
    .nps-promo-content .section-title {
        text-align: left;
        font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
        font-style: normal;
        font-weight: 600;
        color: rgb(12, 67, 106);
        font-size: 37px;
        line-height: 48px;
        margin-bottom: 15px !important;
    }
    
    .nps-subtitle {
        text-align: left;
        font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
        font-style: normal;
        font-weight: 700;
        color: rgb(12, 67, 106);
        font-size: 26px;
        line-height: 34px;
        margin-bottom: 20px !important;
    }

    .nps-promo-content p {
        text-align: left;
        margin-bottom: 25px;
    }

    .nps-button {
        align-self: flex-start;
        margin: 0;
    }
    
    .nps-wrapper {
        gap: 20px;
        padding: 0;
        width: 100%;
        justify-content: center;
        align-items: center;
    }
}

@media (max-width: 768px) {
    .nps-promo-content .section-title {
        font-size: 24px;
        line-height: 34px;
    }
    
    .nps-subtitle {
        font-size: 18px;
        line-height: 26px;
    }
    
    .nps-promo-content p {
        font-size: 15px;
    }

    /* Reduce NPS element sizes for mobile */
    .nps-wrapper {
        gap: 15px;
        flex-wrap: wrap; /* Allow wrapping if needed, but try to fit */
        justify-content: center;
    }

    .nps-circle {
        width: 160px;
        height: 160px;
        border-width: 15px;
    }

    .nps-circle::after {
        top: -15px;
        height: 15px;
        width: 5px;
    }

    .nps-score-large {
        font-size: 50px;
    }

    .nps-stats-list {
        min-width: 160px; /* Reduce min-width */
        gap: 8px;
    }

    .nps-stat-row {
        font-size: 12px;
        padding-bottom: 4px;
    }
}

/* Leadership Team Section */
.leadership-section {
    padding-block: 60px;
    background: #ededed;
}

.leadership-section .section-title {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    color: #0C436A;
    font-weight: 600;
    font-size: 37px;
    line-height: 48px;
    text-align: center;
    margin-bottom: 60px;
}

.leadership-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    margin-top: 40px;
    margin-bottom: 40px; /* Margin below team image/grid */
    max-width: 100%; /* Allow full width */
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Remove Grid specific centering hacks */
/* Desktop: center last 2 cards horizontally while keeping grid */
@media (min-width: 1025px) {
    /* Rules removed as Flexbox handles centering automatically */
}

.leader-card {
    /* 3 columns on Desktop */
    flex: 0 0 calc((100% - 60px) / 3);
    /* max-width: 400px; Optional cap removed to force 3-column layout on large screens */
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease;
}

@media (max-width: 1024px) {
    .leader-card {
        /* 2 columns on Tablet */
        flex: 0 0 calc((100% - 30px) / 2);
    }
}

@media (max-width: 768px) {
    .leader-card {
        /* 1 column on Mobile */
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.leader-card:hover {
    transform: translateY(-5px);
}

.leader-image-wrapper {
    position: relative;
    width: 100%;
    padding-top: 100%; /* Aspect ratio 1:1 (Square) */
    overflow: hidden;
}

.leader-image-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center; /* Focus on faces */
}

.leader-details {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.leader-info {
    position: relative;
    bottom: auto;
    left: auto;
    width: 90%;
    background: rgba(12, 67, 106, 0.95); /* Dark Blue Overlay */
    padding: 15px 20px;
    color: #fff;
    z-index: 2;
}

.leader-name {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 5px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
}

.leader-title {
    font-size: 14px;
    font-weight: 400;
    margin: 0;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    opacity: 0.9;
}

@media (max-width: 768px) {
    .leadership-section .section-title {
        font-size: 28px;
        line-height: 38px;
    }
}

/* Active Neuromuscular Release Page Hero Styles */
.hero-cta-btn {
    display: inline-flex;
    align-items: center;
    background-color: #0e3f6c; /* Primary Dark Blue */
    color: #fff;
    padding: 15px 30px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
    border: 2px solid #0e3f6c;
    gap: 10px;
    font-size: 14px;
    letter-spacing: 0.5px;
    font-family: 'Poppins', sans-serif;
}

.hero-cta-btn i {
    line-height: 1;
}

.hero-cta-btn:hover {
    background-color: #fff;
    color: #0e3f6c;
    border-color: #fff;
}

/* ANR Hero Typography & Responsiveness */
.anr-hero-subheading {
    color: #fff;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 10px;
    font-family: 'Poppins', sans-serif;
}

.anr-hero-title {
    font-size: 56px;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 30px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
}

/* Ensure Dropdown Styling Matches Inputs */
.hero-form-card select,
.hero-form-card input,
.hero-form-card label,
.hero-form-card button {
    font-family: 'Poppins', sans-serif;
}

.hero-form-card select {
    width: 100%;
    padding: 12px 15px;
    border-radius: 3px;
    border: none;
    outline: none;
    background-color: #fff;
    color: #666; /* Match placeholder color */
    font-size: 14px;
    margin-bottom: 15px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 12px;
}

/* Responsive Adjustments for ANR Hero */
@media (max-width: 1200px) {
    .anr-hero-title {
        font-size: 48px;
    }
}

@media (max-width: 991px) {
    .anr-hero-title {
        font-size: 42px;
    }
}

/* ANR Content Section Styles */
.anr-content-section {
    padding: 80px 0 20px;
    background-color: #fff;
}

.anr-content-block {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px;
}

/* User Requested Heading Style */
.anr-content-block h2,
.anr-content-block h3 {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    color: #0e3f6c;
    font-size: 32px;
    line-height: 42px;
    font-weight: 700;
    margin-bottom: 25px;
    margin-top: 40px;
}

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

/* User Requested Content Style */
.anr-content-block p,
.anr-content-block li {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    color: rgb(24, 25, 27);
    font-size: 16px;
    line-height: 26px;
    font-weight: 400;
    margin-bottom: 20px;
}

.anr-content-block a {
    color: #0e3f6c;
    text-decoration: none;
    font-weight: 700;
}

.anr-content-block a:hover {
    text-decoration: underline;
}

.anr-content-block ul {
    margin-bottom: 20px;
    padding-left: 20px;
}

.anr-content-block li {
    margin-bottom: 10px;
}

.anr-content-block li strong {
    color: rgb(24, 25, 27);
}

/* FAQ Styles matching reference */
.anr-faq {
    margin-top: 20px;
}

.anr-faq-item {
    margin-bottom: 30px;
}

.anr-faq-question {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    color: #000000;
    font-size: 16px; /* Keeping size consistent with body, but bold */
    line-height: 26px;
    font-weight: 700;
    margin-bottom: 5px;
    margin-top: 0;
}

.anr-faq-answer {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    color: rgb(24, 25, 27);
    font-size: 16px;
    line-height: 26px;
    font-weight: 400;
    margin-bottom: 0;
}

/* Responsive Styles for ANR Section */
@media (max-width: 768px) {
    .anr-hero-title {
        font-size: 36px;
        margin-bottom: 20px;
    }
    .anr-hero-subheading {
        font-size: 13px;
        letter-spacing: 1.5px;
    }
    
    /* Content Responsiveness */
    .anr-content-block h2,
    .anr-content-block h3 {
        font-size: 26px; /* Reduced for tablet */
        line-height: 34px;
        margin-top: 30px;
    }
    
    .anr-content-block p,
    .anr-content-block li,
    .anr-faq-question,
    .anr-faq-answer {
        font-size: 15px;
        line-height: 25px;
    }

    .anr-content-block {
        padding: 0 20px;
    }
    
    .anr-content-section {
        padding: 50px 0;
    }
}

@media (max-width: 480px) {
    .anr-hero-title {
        font-size: 28px;
        line-height: 1.2;
    }
    .anr-hero-subheading {
        font-size: 12px;
        letter-spacing: 1px;
    }
    .hero-cta-btn {
        width: 100%;
        justify-content: center;
    }
    
    /* Content Responsiveness for Mobile */
    .anr-content-block h2,
    .anr-content-block h3 {
        font-size: 22px; /* Further reduced for mobile */
        line-height: 30px;
        margin-top: 25px;
    }
    
    .anr-content-block p,
    .anr-content-block li,
    .anr-faq-question,
    .anr-faq-answer {
        font-size: 14px;
        line-height: 24px;
    }
    
    .anr-content-section {
        padding: 40px 0;
    }
}

.leader-bio-btn {
    position: relative;
    bottom: auto;
    left: auto;
    background: #fff;
    color: #0C436A;
    padding: 15px 30px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    z-index: 3;
    transition: all 0.3s ease;
    min-width: 140px;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.leader-bio-btn .bio-arrow {
    opacity: 0;
    max-width: 0;
    transform: translateX(-5px);
    transition: all 0.3s ease;
    display: inline-block;
    overflow: hidden;
}

.leader-bio-btn:hover .bio-arrow {
    opacity: 1;
    max-width: 20px;
    transform: translateX(0);
}

.leader-bio-btn:hover {
    background: #fff;
    color: #0C436A;
}

/* Video Spotlight Section */
.video-spotlight-section {
    padding-block: 60px;
    background: #fff;
}

.video-grid {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}

.video-wrapper {
    position: relative;
    width: 450px; /* Max width for each video */
    max-width: 100%;
    aspect-ratio: 16/9;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.video-wrapper iframe {
    width: 100%;
    height: 100%;
}

/* Live Pain-Free Section (Updated to Programs Section) */
.pain-free-section {
    width: 100%;
    overflow: hidden;
    background-color: #ffffff;
}

.pain-free-container {
    display: flex;
    flex-wrap: wrap;
    min-height: 500px;
    max-width: 1300px;
    margin: 0 auto;
    gap: 60px; /* Use gap for cleaner separation */
    align-items: stretch; /* Ensure equal height columns */
    padding-inline: 20px; /* Added base padding for desktop to match .container */
}

.pain-free-content {
    flex: 1;
    background-color: #ffffff;
    color: rgb(24, 25, 27);
    padding: 80px 0; /* Vertical padding only */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.pain-free-content .section-title {
    color: rgb(12, 67, 106);
    text-align: left;
    margin-bottom: 30px;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
    font-size: 37px;
    line-height: 48px;
    max-width: 90%; /* Prevent title from stretching too wide on large screens */
}

.pain-free-content p {
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 20px;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 400;
    color: rgb(24, 25, 27);
    max-width: 100%; /* Allow text to use full column width */
}

.pain-free-image {
    flex: 1;
    position: relative;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 0; /* Match content vertical padding if desired, or set to 0 for full height */
}

.pain-free-image img {
    position: relative;
    width: 100%;
    height: 100%; /* Fill the container height */
    object-fit: cover;
    border-radius: 8px;
}

/* White CTA Button - Removed as per new content, keeping class just in case */
.cta-button-white {
    display: none; 
}

@media (max-width: 1200px) {
    .pain-free-container {
        padding-inline: 40px;
        gap: 40px;
    }
}

@media (max-width: 900px) {
    .pain-free-container {
        flex-direction: column;
        padding-inline: 20px; /* Reduced from 0 to 20px for mobile gutters */
        gap: 0;
    }

    .pain-free-image {
        order: -1;
        min-height: 300px;
        width: 100%;
        padding: 20px 0; /* Remove horizontal padding, keep vertical */
    }
    
    .pain-free-image img {
        height: auto;
        min-height: 300px;
    }

    .pain-free-content {
        padding: 40px 0; /* Remove side padding, container has it */
        align-items: center;
        text-align: center;
    }

    .pain-free-content .section-title {
        text-align: center;
        font-size: 28px;
        line-height: 1.3;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .pain-free-content .section-title {
        font-size: 24px;
    }

    .pain-free-content p {
        font-size: 15px;
    }

    .cta-button-white {
        width: 100%;
        box-sizing: border-box;
    }
}

/* Testimonials Section */
.testimonials-section {
    background-color: #0C436A; /* Dark Blue from brand colors */
    padding-block: 80px;
    text-align: center;
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 50px;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
}

.testimonial-card {
    background: #ffffff;
    border-radius: 8px;
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
    height: 100%; /* Ensure equal height cards */
}

.testimonial-card:hover {
    transform: translateY(-5px);
}

.testimonial-icon {
    width: 80px;
    height: 80px;
    background-color: #0C436A;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    color: #ffffff;
    font-size: 32px;
    overflow: hidden; /* Ensure image stays within circle */
}

.testimonial-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.testimonial-text {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: italic;
    font-size: 16px;
    line-height: 26px;
    color: #4a4a4a; /* Dark gray for text */
    margin-bottom: 25px;
    flex-grow: 1; /* Pushes name/stars to bottom if text lengths vary */
}

.testimonial-name {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #0C436A;
    margin-bottom: 15px;
    text-transform: capitalize;
}

.testimonial-stars {
    color: #FFC107; /* Amber/Gold for stars */
    font-size: 18px;
    gap: 5px;
    display: flex;
}

.testimonials-cta {
    margin-top: 40px;
}

/* ANR Reviews Section */
.anr-reviews-section {
    padding-top: 20px;
    padding-bottom: 60px;
    background-color: #f9f9f9;
}

.anr-reviews-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

@media (min-width: 992px) {
    .anr-reviews-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.anr-review-card {
    background: #fff;
    padding: 50px 40px;
    border-radius: 12px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.05);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

.anr-review-icon {
    width: 100px;
    height: 100px;
    background-color: #0e3f6c;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    overflow: hidden; /* Ensure image stays in circle */
}

.anr-review-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Fill the circle */
    filter: none; /* Show original image colors */
}

.anr-review-text {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: italic;
    font-weight: 600;
    color: rgb(80, 106, 126);
    font-size: 17px;
    line-height: 30px;
    margin-bottom: 30px;
    /* Removed flex-grow to keep author close to text */
}

.anr-review-author {
    font-family: var(--font-main);
    color: #0e3f6c;
    font-weight: 800;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    margin-top: 0;
}

.anr-review-stars {
    color: #ffc107;
    font-size: 24px;
    letter-spacing: 5px;
}


@media (max-width: 768px) {
    .testimonials-grid {
        grid-template-columns: 1fr; /* Stack cards on mobile */
        padding-inline: 20px;
    }
    
    .testimonial-card {
        padding: 30px 20px;
    }
}

/* FAQ Section */
.faq-section {
    padding: 80px 0;
    background-color: #f4f4f4; /* Light grey background */
}

.faq-title {
    text-align: center;
    color: #0C436A;
    margin-bottom: 50px;
    font-size: 36px;
    font-weight: 700;
}

.faq-container {
    margin-left: 20px;
    margin-right: 20px;
}

.faq-item {
    margin-bottom: 20px;
    background-color: #0C436A; /* Default closed state bg */
    border: 1px solid #0C436A;
    transition: all 0.3s ease;
}

.faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 30px;
    cursor: pointer;
    color: #ffffff; /* Default closed state text color */
}

.faq-question h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    color: inherit;
}

.faq-icon {
    font-size: 20px;
    transition: transform 0.3s ease;
    display: flex;
    align-items: center;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    background-color: #ffffff;
    color: #4a4a4a;
}

.faq-answer p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
}

/* Active State */
.faq-item.active {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.faq-item.active .faq-question {
    color: #0C436A;
    border-bottom: 1px solid transparent; 
}

.faq-item.active .faq-answer {
    padding: 0 30px 30px 30px;
    max-height: 500px; /* Arbitrary large height */
}

.faq-item.active .faq-icon {
    transform: rotate(45deg); /* Turn plus to x */
}

.faq-cta {
    text-align: center;
    margin-top: 50px;
}

.cta-button-blue-solid {
    display: inline-flex;
    align-items: center;
    background-color: #0C436A;
    color: #ffffff;
    padding: 16px 38px;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
    border: 2px solid #0C436A;
}

.cta-button-blue-solid:hover {
    background-color: #ffffff;
    color: #0C436A;
    transform: translateY(-2px);
}

.cta-button-blue-solid i {
    margin-left: 0;
    opacity: 0;
    max-width: 0;
    overflow: hidden;
    display: inline-block;
    transition: all 0.3s ease;
    line-height: 1;
}

.cta-button-blue-solid:hover i {
    margin-left: 10px;
    opacity: 1;
    max-width: 20px;
    transform: translateX(5px);
}

.cta-button-white-solid {
    display: inline-flex;
    align-items: center;
    background-color: #ffffff;
    color: #0c436a;
    padding: 15px 30px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
    margin-top: 20px;
}

.cta-button-white-solid:hover {
    background-color: #ffffff;
    color: #0c436a;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.cta-button-white-solid i {
    margin-left: 0;
    opacity: 0;
    max-width: 0;
    overflow: hidden;
    display: inline-block;
    transition: all 0.3s ease;
    line-height: 1;
}

.cta-button-white-solid:hover i {
    margin-left: 10px;
    opacity: 1;
    max-width: 20px;
    transform: translateX(5px);
}

/* Specialist Section */
.specialist-section {
    padding: 80px 0;
    background-color: #0C436A; /* Brand Dark Blue */
}

.specialist-section .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.specialist-card {
    background-color: #EFEEF0;
    border-radius: 12px;
    padding: 60px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.specialist-grid {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
}

.specialist-content {
    flex: 1;
    padding-right: 20px;
}

.specialist-content .section-title {
    text-align: left;
    margin-bottom: 30px;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 35px;
    line-height: 46px;
    color: rgb(12, 67, 106);
}

.specialist-question {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 20px;
    line-height: 28px;
    color: rgb(0, 0, 0);
    margin-bottom: 20px;
}

.specialist-content p {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 20px;
    line-height: 28px;
    color: rgb(0, 0, 0);
    margin-bottom: 20px;
}

.specialist-call {
    font-size: 20px;
    color: rgb(0, 0, 0) !important;
    margin-top: 30px;
    position: relative; /* For positioning the arrow if needed */
}

.specialist-call strong {
    color: #0C436A;
    font-size: 24px;
}

.specialist-arrow {
    display: block;
    margin-top: 10px;
    margin-left: auto; /* Push to the right */
    margin-right: 40px; /* Adjust to position near form */
    max-width: 150px;
    transform: rotate(-10deg); /* Slight rotation if needed */
}

/* Right Column Form */
.specialist-form-wrapper {
    flex: 0 0 450px; /* Fixed width for form */
    background-color: #0C436A;
    padding: 40px;
    border-radius: 8px;
    color: #ffffff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

@media (min-width: 1367px) {
    .specialist-content {
        padding-top: 30px;
    }

    .specialist-form-wrapper {
        flex: 0 0 550px;
    }
}

.specialist-form-wrapper h3 {
    text-align: center;
    color: #ffffff;
    font-size: 28px;
    margin-bottom: 30px;
    font-weight: 700;
}

.form-group {
    margin-bottom: 20px;
}

.form-group input,
.form-group textarea,
.form-group select {
    width: 100%;
    padding: 16px 20px;
    border: none;
    border-radius: 4px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    background-color: #ffffff;
}

.form-group textarea {
    resize: vertical;
}

.form-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 25px;
    font-size: 12px;
    line-height: 1.4;
}

.form-check input[type="checkbox"] {
    margin-top: 3px;
}

.submit-button {
    width: 100%;
    padding: 15px;
    background-color: #ffffff;
    color: #0C436A;
    border: none;
    border-radius: 4px;
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
}

.submit-button:hover {
    background-color: #f0f0f0;
    transform: translateY(-2px);
}

@media (max-width: 900px) {
    .specialist-card {
        padding: 30px;
    }

    .specialist-grid {
        flex-direction: column;
        gap: 40px;
    }

    .specialist-form-wrapper {
        width: 100%;
        flex: none;
    }
    
    .specialist-arrow {
        margin: 20px auto; /* Center on mobile */
        transform: rotate(90deg); /* Point down to form */
    }
    
    .specialist-content .section-title {
        text-align: center;
        font-size: 32px;
    }
    
    .specialist-content {
        text-align: center;
        padding-right: 0;
    }
}

/* Hiring Specialist Section (Dedicated for Hiring Page) */
.hiring-specialist-section {
    padding: 80px 0;
    background-color: #f4f4f4; /* Light Grey Background */
}

.hiring-specialist-card {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 60px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.hiring-specialist-grid {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
}

.hiring-specialist-content {
    flex: 1;
    padding-right: 20px;
}

.hiring-specialist-content .section-title {
    text-align: left;
    margin-bottom: 30px;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 35px;
    line-height: 46px;
    color: rgb(12, 67, 106);
}

.hiring-specialist-question {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 20px;
    line-height: 28px;
    color: rgb(0, 0, 0);
    margin-bottom: 20px;
}

.hiring-specialist-content p {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 26px;
    color: rgb(24, 25, 27);
    margin-bottom: 20px;
}

.hiring-specialist-call {
    font-size: 20px;
    color: rgb(0, 0, 0) !important;
    margin-top: 30px;
    position: relative;
}

.hiring-specialist-call strong {
    color: #0C436A;
    font-size: 24px;
}

.hiring-specialist-arrow {
    display: block;
    margin-top: 10px;
    margin-left: auto;
    margin-right: 40px;
    max-width: 150px;
    transform: rotate(-10deg);
}

/* Right Column Form */
.hiring-specialist-form-wrapper {
    flex: 0 0 450px;
    background-color: #0C436A;
    padding: 40px;
    border-radius: 8px;
    color: #ffffff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.hiring-specialist-form-wrapper h3 {
    text-align: center;
    color: #ffffff;
    font-size: 28px;
    margin-bottom: 30px;
    font-weight: 700;
}

@media (max-width: 900px) {
    .hiring-specialist-card {
        padding: 30px;
    }

    .hiring-specialist-grid {
        flex-direction: column;
        gap: 40px;
    }

    .hiring-specialist-form-wrapper {
        width: 100%;
        flex: none;
    }
    
    .hiring-specialist-arrow {
        margin: 20px auto;
        transform: rotate(90deg);
    }
    
    .hiring-specialist-content .section-title {
        text-align: center;
        font-size: 32px;
    }
    
    .hiring-specialist-content {
        text-align: center;
        padding-right: 0;
    }
}

/* Locations Section */
.locations-section {
    padding: 60px 0;
    background-color: #0C436A; /* Fallback */
    background-size: cover;
    background-position: center;
}

@media (max-width: 1366px) {
    .locations-section .container {
        padding-left: 60px;
        padding-right: 60px;
    }
}

/* Tabs */
.locations-tabs-container {
    position: relative;
    max-width: 100%;
    margin-bottom: 40px;
    display: flex;
    align-items: center;
}

.locations-tabs-wrapper {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    flex: 1;
    /* Add padding to prevent arrow cut-off */
    padding-bottom: 15px;
    margin-bottom: -15px; /* Compensate for padding to keep spacing */
    scroll-behavior: smooth;
}
.locations-tabs-wrapper::-webkit-scrollbar {
    display: none;
}

.tab-scroll-btn {
    background: #0C436A;
    color: #fff;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    font-size: 18px;
    transition: background 0.3s;
    flex-shrink: 0;
}

.tab-scroll-btn:hover {
    background: #082d47;
}

.tab-scroll-btn.prev {
    margin-right: 15px;
}

.tab-scroll-btn.next {
    margin-left: 15px;
}

.locations-tabs {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    background: rgba(255, 255, 255, 0.9); /* Slight transparency for tabs bar if needed, or keep solid */
    background: #fff;
    border: 1px solid #e0e0e0;
    width: max-content;
    min-width: 100%;
}

.location-tab {
    padding: 20px 25px;
    cursor: pointer;
    background-color: #fff;
    border-right: 1px solid #e0e0e0;
    text-align: center;
    transition: all 0.3s ease;
    position: relative;
    min-width: 140px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.location-tab:last-child {
    border-right: none;
}

.location-tab:hover {
    background-color: #f0f0f0;
}

.location-tab.active {
    background-color: #0C436A;
    color: #ffffff;
}

.location-tab .loc-name {
    font-family: var(--font-main);
    font-weight: 700;
    font-size: 18px;
    display: block;
    margin-bottom: 5px;
    color: #0C436A;
}

.location-tab.active .loc-name {
    color: #ffffff;
}

.location-tab .loc-state {
    font-size: 12px;
    text-transform: uppercase;
    color: #888;
}

.location-tab.active .loc-state {
    color: rgba(255, 255, 255, 0.8);
}

/* Triangle for active tab */
.location-tab.active::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 0; 
    height: 0; 
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #0C436A;
    z-index: 2;
}

/* Content */
.location-content {
    display: none;
    animation: fadeIn 0.5s ease;
}

.location-content.active {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.location-grid {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.location-info {
    flex: 1;
    background: transparent;
    padding: 0;
    padding-right: 40px;
}

.location-info h3 {
    color: rgb(12, 67, 106);
    font-family: Poppins, Helvetica, Arial, Lucida, sans-serif;
    font-size: 25px;
    line-height: 33px;
    margin-bottom: 30px;
    font-weight: 500;
    text-shadow: none;
    text-align: left;
}
.location-info p {
    color: rgb(12, 67, 106);
    font-family: Poppins, Helvetica, Arial, Lucida, sans-serif;
    font-size: 25px;
    line-height: 33px;
    margin-bottom: 30px;
    font-weight: 500;
    text-shadow: none;
    text-align: left;
}
.location-details-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

.location-details-list li {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
    font-family: Poppins, Helvetica, Arial, Lucida, sans-serif;
    font-size: 18px;
    line-height: 23px;
    color: rgb(12, 67, 106);
    align-items: flex-start;
    font-weight: 500;
    text-shadow: none;
}

/* Top Rated Physical Therapy Promo Section */
.top-rated-promo-section {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 100px 0;
    color: #fff;
    position: relative;
}

.top-rated-promo-section .promo-content {
    max-width: 50%; /* Constrain text to the left blue area */
    padding-right: 40px;
}

.top-rated-promo-section .section-title.white-text {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 600;
    color: rgb(255, 255, 255);
    font-size: 37px;
    line-height: 48px;
    margin-bottom: 30px;
    text-align: left;
}

.top-rated-promo-section p {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: rgb(255, 255, 255);
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 25px;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    .top-rated-promo-section,
    .top-rated-promo-section.top-rated-pt-section {
        background: linear-gradient(152deg, #ededed -23%, #002e62 0%, rgb(0 46 98 / .69) 82%), url('images/slant1.webp') !important;
        background-blend-mode: normal;
        background-size: cover !important;
    }
}

@media (max-width: 1025px) {
    .top-rated-pt-section .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
        margin: 0 auto !important;
    }

    .top-rated-pt-section .promo-content {
        max-width: 100% !important;
        padding-right: 0 !important;
        padding-top: 0 !important;
        text-align: center !important;
    }

    .top-rated-pt-section .promo-content .section-title {
        text-align: center !important;
    }

    .top-rated-pt-section .section-title.white-text {
        text-align: center;
        font-size: 32px;
    }
}

.location-details-list li i {
    color: rgb(12, 67, 106);
    font-size: 20px;
    width: 25px;
    text-align: center;
    margin-top: 3px;
}

.location-details-list a {
    color: rgb(12, 67, 106);
    text-decoration: none;
    transition: color 0.3s;
}

.location-details-list a:hover {
    color: #082d47;
}

.hours-item .hours-text p {
    margin: 0 0 5px 0;
    text-align: left;
}

.location-social {
    display: flex;
    gap: 15px;
}

.location-social a {
    width: 40px;
    height: 40px;
    background-color: #0C436A;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background 0.3s;
    font-size: 18px;
    border: 2px solid #fff;
}

.location-social a:hover {
    background-color: #082d47;
}

.location-map {
    flex: 1;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

/* Responsive */
@media (max-width: 900px) {
    .location-grid {
        flex-direction: column;
    }
    
    .location-map {
        width: 100%;
        height: 300px;
    }
}

/* Our Programs Section */
.programs-section {
    padding: 80px 0;
    background-color: #fff;
}

.programs-grid {
    display: flex;
    align-items: center;
    gap: 50px;
    margin-left: 20px;
    margin-right: 20px;
}

.programs-content {
    flex: 1;
}

.programs-content h2 {
    color: #0c436a;
    margin-bottom: 20px;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
    font-size: 37px;
    line-height: 1.2;
}

.programs-content p {
    margin-bottom: 20px;
    color: #333;
    line-height: 1.6;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 400;
    font-size: 16px;
}

.programs-image {
    flex: 1;
}

.programs-image img {
    width: 100%;
    /* border-radius: 20px; Removed border-radius */
    display: block;
}

@media (max-width: 991px) {
    .programs-grid {
        flex-direction: column-reverse; /* Image on top, Content below */
        gap: 30px;
    }
    
    .programs-image {
        width: 100%;
    }

    .programs-content h2 {
        font-size: 28px; /* Responsive font size for mobile */
        line-height: 1.3;
        text-align: center; /* Center align on mobile */
    }

    .programs-content p {
        font-size: 15px; /* Slightly smaller body text */
        text-align: center; /* Center align on mobile */
    }
}

/* Match section width to Testimonials Section on large screens (>1366px) */
@media (min-width: 1367px) {
    .leadership-grid,
    .insurance-logos,
    .phases-grid,
    .faq-container,
    .programs-grid,
    .nps-promo-layout,
    .footer-bottom,
    .specialist-grid,
    .specialist-card,
    .locations-tabs-container,
    .locations-content-wrapper {
        max-width: 1300px;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }
    
    .nps-promo-section .container {
        padding-left: 0;
        padding-right: 0;
    }
}

/* Success Stories & Testimonials Section */
.success-stories-section {
    background-color: #EDF0F5;
    padding: 60px 0;
}

.success-stories-title {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 600;
    color: rgb(12, 67, 106);
    font-size: 37px;
    line-height: 48px;
    text-align: center;
    margin-bottom: 40px;
}

/* Footer */
.site-footer {
    font-family: var(--font-main);
    background: #ffffff;
    color: #333333;
    padding: 0;
}

.footer-widgets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    padding: 60px 0; /* Moved padding here for when widgets are active */
}

.footer-widget h4 {
    color: #0C436A;
    margin-bottom: 20px;
    font-size: 1.2rem;
}

.footer-bottom {
    border-top: 1px solid #eee;
    padding: 20px 0;
    text-align: center;
    font-size: 14px;
}

.site-info {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 11px;
    line-height: 18px;
    color: rgb(24, 25, 27);
}

.site-info a {
    color: rgb(12, 67, 106);
    text-decoration: underline;
    font-weight: 300; /* Ensure weight is consistent */
}

.site-info a:hover {
    text-decoration: underline;
    opacity: 0.8; /* Slight hover effect */
}

.site-info a.footer-phone {
    text-decoration: none;
    color: rgb(12, 67, 106); /* Ensure consistent color */
}

.site-info a.footer-phone:hover {
    text-decoration: none; /* No underline on hover for phones */
    opacity: 0.8;
}

/* Responsive Navigation Breakpoint */
@media screen and (max-width: 1200px) {
    body {
        overflow-x: hidden;
    }
    
    /* Primary Color Background for Header on Mobile */
    .site-header {
        background: #071F36;
    }

    /* Adjust Logo Colors for Dark Background */
    .logo-main {
        color: #fff;
        font-size: 20px; /* Force smaller size on mobile/tablet */
    }
    
    .logo-sub {
        color: rgba(255, 255, 255, 0.8);
    }

    .logo-icon {
        color: var(--secondary-color); /* Use green for icon on dark bg */
    }

    .logo-image {
        max-height: 44px;
    }

    /* Hide top bar on mobile */
    .header-top {
        display: none;
    }

    /* Show mobile actions */
    .mobile-header-actions {
        display: flex;
        align-items: center;
        gap: 0;
        margin-right: 8px;
    }

    /* Increased size for better touch target and visibility */
    .mobile-action-btn {
        color: #ffffff !important;
        font-size: 30px;
        text-decoration: none;
        width: 48px;
        height: 48px; 
        display: flex;
        align-items: center;
        justify-content: center;
        background: transparent;
    }

    .mobile-action-btn i {
        color: #ffffff !important;
    }

    .mobile-action-btn:hover, .mobile-action-btn:focus {
        background: transparent;
        color: #ffffff !important;
    }

    .menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        color: #ffffff !important;
        font-size: 30px;
        background: transparent;
        border: none;
        width: 48px;
        height: 48px;
        padding: 0;
    }

    .menu-toggle i {
        color: #ffffff !important;
    }

    .main-navigation {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        position: static;
    }

    .main-navigation ul {
        display: none;
        flex-direction: column;
        width: 100%;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        transform: none;
        background: #071F36;
        padding: 12px 0;
        box-shadow: 0 12px 30px rgba(0,0,0,0.18);
        z-index: 1001;
        border-top: 1px solid rgba(255,255,255,0.15);
        max-height: calc(100vh - 90px);
        overflow-y: auto;
    }

    .main-navigation.toggled ul {
        display: flex; /* Show when toggled */
    }
    
    .main-navigation .menu > li {
        width: 100%;
    }
    
    .main-navigation .menu > li > a {
        color: #fff;
        padding: 12px 16px;
        justify-content: center;
    }
    
    .main-navigation .menu-item-has-children .sub-menu {
        display: none;
        position: static;
        transform: none;
        background: rgba(0,0,0,0.15);
        padding: 8px 0;
        box-shadow: none;
    }
    
    .main-navigation .menu-item-has-children.focus > .sub-menu,
    .main-navigation .menu-item-has-children.open > .sub-menu {
        display: flex;
    }
    
    .main-navigation .sub-menu a {
        color: #fff;
        padding: 10px 24px;
        font-size: 14px;
    }
    
    .site-header-inner {
        position: relative;
        flex-wrap: nowrap; /* Prevent wrapping to keep everything in one row */
        justify-content: space-between;
    }
    
    /* Removed conflicting main-navigation styles to keep it in line with logo */
    
    .site-branding {
        max-width: 50%;
        flex-shrink: 1; 
        margin-right: auto;
    }
    
    .header-cta-buttons {
        justify-content: center;
        margin-bottom: 10px;
    }

    .hero-grid {
        grid-template-columns: 1fr;
        gap: 40px; /* Reduce gap for mobile/tablet */
    }

    .hero-copy {
        text-align: center;
        margin-inline: auto;
        max-width: 800px;
    }

    .hero-copy h1 {
        font-size: 42px; /* Reduced for tablet/mobile */
        line-height: 1.2;
    }

    .hero-subheading {
        font-size: 16px;
        margin-bottom: 15px;
    }

    .hero-tagline {
        font-size: 24px;
    }
}

/* =========================================
   Flexible Location Template Styles
   ========================================= */
.location-info-section {
    padding: 80px 0;
    background-color: var(--light-bg);
}

.location-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

.location-details h2 {
    font-family: var(--font-main);
    font-size: 36px;
    color: var(--primary-color);
    margin-bottom: 30px;
}

.contact-info {
    background: #fff;
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    margin-bottom: 30px;
}

.info-item {
    margin-bottom: 10px;
    padding-bottom: 0;
}

.info-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.info-item strong {
    display: block;
    color: var(--primary-color);
    margin-bottom: 8px;
    font-size: 16px;
}

.info-text {
    color: var(--text-light);
    font-size: 16px;
    line-height: 1.5;
}

.directions-info {
    padding: 40px;
}

.directions-info h3 {
    color: var(--primary-color);
    margin-bottom: 20px;
    font-size: 24px;
}

.editable-content-section {
    padding: 60px 0;
}

.location-custom-content {
    max-width: 800px;
    margin: 0 auto;
}

.additional-location-content {
    background: #f9f9f9;
    padding: 30px;
    border-radius: 8px;
    border-left: 4px solid var(--secondary-color);
    margin: 30px 0;
}

/* Responsive for location template */
@media (max-width: 768px) {
    .location-info-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .contact-info,
    .directions-info {
        padding: 30px;
    }
    
    .location-details h2 {
        font-size: 28px;
    }
}
        margin-bottom: 20px;
    }

    .hero-footer-text {
        font-size: 15px;
    }

    .hero-form-card {
        margin-top: 0;
        max-width: 500px;
        margin-inline: auto; /* Center the form */
    }
}

@media screen and (max-width: 600px) {
    .hero-copy h1 {
        font-size: 32px; /* Even smaller for mobile */
    }
    
    .hero-tagline {
        font-size: 20px;
    }

    .hero-form-card {
        padding: 25px; /* Reduce padding on small screens */
    }

    .header-cta-buttons {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
    
    .cta-button {
        width: 100%; 
        justify-content: center;
    }
    
    .logo-text {
        flex-direction: column; /* Stack logo text on very small screens */
        gap: 0;
    }
    
    .logo-main {
        font-size: 20px;
    }
    
    .logo-sub {
        font-size: 12px;
    }
}

/* Live Pain-Free Promo Section - Split Layout */
.live-pain-free-promo-section {
    padding: 0;
    width: 100%;
}

.live-pain-free-grid {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.live-pain-free-text-panel {
    width: 50%;
    background-color: #0c436a;
    display: flex;
    align-items: center;
    justify-content: flex-end; /* Align content to the right of this left-half block */
    padding: 100px 0;
}

.promo-content-inner {
    width: 100%;
    max-width: 100%;
    padding-right: 40px;
    padding-left: 40px;
    box-sizing: border-box;
}

.live-pain-free-image-panel {
    width: 50%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 400px;
}

.live-pain-free-promo-section .section-title.white-text {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 600;
    color: rgb(255, 255, 255);
    font-size: 35px;
    line-height: 46px;
    margin-bottom: 30px;
    text-align: left;
}

.live-pain-free-promo-section p {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: rgb(255, 255, 255);
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 25px;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    .live-pain-free-grid {
        flex-direction: column-reverse; /* Image first (top), Content second (bottom) */
    }

    .live-pain-free-text-panel {
        width: 100%;
        justify-content: center;
        padding: 60px 20px;
        text-align: center;
    }

    .promo-content-inner {
        width: 100%;
        max-width: 100%;
        padding-right: 40px;
        padding-left: 40px;
        box-sizing: border-box;
    }

    .live-pain-free-image-panel {
        width: 100%;
        height: 300px; /* Explicit height for mobile image */
    }

    .live-pain-free-promo-section .section-title.white-text {
        text-align: center;
        font-size: 30px;
    }
}

/* =========================================
   Features Intro Section 
   ========================================= */
.features-intro-section {
    padding-block: 60px;
    background: #fff;
    margin-top: 60px;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.feature-card {
    background-color: var(--primary-color);
    padding: 40px 30px;
    color: #fff;
    border-radius: 4px;
    height: 100%;
    text-align: center; /* Center align text as per design trend or keep left if preferred, image shows centered text? No, image text looks centered or justified. Let's stick to left or center. The user didn't specify alignment but "heading Poppins - 900" usually implies strong headers. Let's use default alignment (left) for now as typical for this amount of text, or center if it looks better. The provided text block has centered feel in some designs. Let's default to left but maybe center the heading. Actually the image provided has LEFT aligned text. I will use text-align: left (default). */
    text-align: left;
}

.feature-card h3 {
    font-family: var(--font-main);
    font-weight: 900;
    font-size: 16px;
    line-height: 21px;
    color: rgb(255, 255, 255);
    text-transform: uppercase;
    margin-bottom: 20px;
    text-align: center; /* Headings often centered in cards */
}

.feature-card p {
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 15px;
    line-height: 24px;
    color: rgb(255, 255, 255);
    margin: 0;
    text-align: center; /* Let's center the body text too if the heading is centered. Image check: "A MULTITUDE OF TREATMENT OPTIONS" - text looks centered in the image provided in prompt description? "A MULTITUDE OF TREATMENT OPTIONS... Our physical therapists..." - usually these 3-col blurbs are centered. I'll center them. */
}

@media (max-width: 991px) {
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .feature-card {
        padding: 30px;
    }
}

/* =========================================
   Services Page Styles
   ========================================= */

.page-hero {
    background-color: #0c436a;
    background-image: linear-gradient(180deg, rgba(12, 67, 106, 0.74) 0%, rgba(86, 86, 86, 0.82) 100%), url('images/Musculoskeletal-copy.webp');
    background-size: cover;
    background-position: center;
    padding-top: 120px;
    padding-bottom: 40px;
    text-align: left;
    margin-bottom: 0;
    color: #fff;
    min-height: 500px;
    display: flex;
    align-items: flex-end;
}

.hero-content-wrapper {
    max-width: 800px;
    margin-left: 0;
}

.hero-kicker {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.page-hero h1 {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 45px;
    line-height: 59px;
    color: #ffffff;
    margin-bottom: 20px;
}

.page-hero .hero-description {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    color: #ffffff;
    margin-bottom: 35px;
    max-width: 700px;
}

.hero-cta-btn {
    display: inline-flex;
    align-items: center;
    background-color: #0c436a;
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 14px;
    padding: 15px 30px;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.hero-cta-btn i {
    margin-left: 0;
    opacity: 0;
    max-width: 0;
    overflow: hidden;
    display: inline-block;
    transition: all 0.3s ease;
    line-height: 1;
}

.hero-cta-btn:hover i {
    margin-left: 10px;
    opacity: 1;
    max-width: 20px;
    transform: translateX(5px);
}

.hero-cta-btn:hover {
    background-color: #ffffff;
    color: #0c436a;
    border: 2px solid #0c436a;
}

.services-section {
    margin-top: 100px;
    padding: 80px 0;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    background-color: #f4f4f4 !important;
    position: relative;
}

.services-section::before {
    content: '';
    position: absolute;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDBweCIgdmlld0JveD0iMCAwIDEyODAgMTQwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiNGNEY0RjQiPjxwYXRoIGQ9Ik0wIDE0MGgxMjgwQzU3My4wOCAxNDAgMCAwIDAgMHoiIGZpbGwtb3BhY2l0eT0iLjMiLz48cGF0aCBkPSJNMCAxNDBoMTI4MEM1NzMuMDggMTQwIDAgMzAgMCAzMHoiIGZpbGwtb3BhY2l0eT0iLjUiLz48cGF0aCBkPSJNMCAxNDBoMTI4MEM1NzMuMDggMTQwIDAgNjAgMCA2MHoiLz48L2c+PC9zdmc+);
    background-size: 100% 100px;
    top: -100px;
    height: 100px;
    z-index: 1;
    transform: scale(1, 1);
    left: 0;
    width: 100%;
    pointer-events: none;
}

.services-header {
    text-align: center;
    margin-bottom: 40px;
}

.services-heading {
    font-family: var(--font-main);
    font-weight: 600;
    color: rgb(12, 67, 106);
    font-size: 37px;
    line-height: 48px;
    position: relative;
    display: inline-block;
    padding-bottom: 0;
}

.services-heading::after {
    display: none;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* Ensure 3 columns persist on larger screens */
@media (min-width: 1367px) {
    .services-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

.service-card {
    background-color: #fff;
    background-image: none;
    background-size: cover;
    background-position: center;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
    text-align: left;
    transition: box-shadow 0.3s ease;
}

.service-card:hover {
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.service-card h3 {
    font-family: var(--font-main);
    font-weight: 600;
    color: #0c436a;
    font-size: 22px;
    line-height: 29px;
    margin-bottom: 15px;
}

.service-card p {
    font-family: var(--font-main);
    font-weight: 400;
    color: #333;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 25px;
    flex-grow: 1;
}

.learn-more-btn {
    display: inline-flex;
    align-items: center;
    padding: 12px 24px;
    background-color: rgb(12, 67, 106);
    color: #fff;
    font-family: var(--font-main);
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid rgb(12, 67, 106);
    margin-top: auto;
}

.learn-more-btn:hover {
    background-color: #fff;
    color: rgb(12, 67, 106);
    border-color: rgb(12, 67, 106);
}

.learn-more-btn i {
    margin-left: 0;
    transition: all 0.3s ease;
    opacity: 0;
    max-width: 0;
    overflow: hidden;
    display: inline-block;
    line-height: 1;
}

.learn-more-btn:hover i {
    margin-left: 8px;
    opacity: 1;
    max-width: 20px; /* Adjust based on icon size */
    transform: translateX(5px);
}

@media (max-width: 991px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.cta-section {
    background-color: #0C436A;
    color: #fff;
    padding: 100px 0;
    text-align: center;
}

.cta-section h2 {
    color: #fff;
    margin-bottom: 20px;
    font-size: 36px;
}

.cta-section p {
    margin-bottom: 40px;
    font-size: 20px;
    opacity: 0.9;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* Responsive adjustments for Services Page */
@media screen and (max-width: 768px) {
    .page-hero {
        padding: 60px 0;
    }
    
    .page-hero h1 {
        font-size: 36px;
    }
    
    .services-grid {
        grid-template-columns: 1fr;
        padding: 0 15px;
    }
    
    .service-card {
        padding: 30px 20px;
    }
}


/* Treatments Section */
.treatments-section {
    padding-block: 80px;
    background-color: #fff;
}

.treatments-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    margin-top: 40px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.treatment-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    width: 100%;
    max-width: 380px;
    margin-bottom: 40px;
}

.treatment-image {
    width: 294px; /* Exact width requested */    
    height: 196px; /* Exact height requested */
    border-radius: 5px 5px 0 0; /* Top corners 5px, bottom corners 0 */
    overflow: hidden;
    z-index: 2;
    position: relative;
    margin: 0 auto 0;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);   
    top: auto;
    left: auto;
    transform: none;
}

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

.treatment-content {
    background: #eff1f3;
    border: 2px solid #0C436A;
    border-radius: 5px; /* Matching radius */
    margin-top: 0;
    padding: 20px; /* Updated padding as requested */
    text-align: center;
    flex: 1;
    z-index: 1;
    position: relative;
}

.treatments-section .section-title {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 600;
    color: #0C436A;
    font-size: 37px;
    line-height: 48px;
    text-align: center;
    margin-bottom: 50px;
}

.treatment-title {
    color: #0C436A;
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 1.3;
}

.treatment-excerpt {
    color: #18191B;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 25px;
}

.treatment-link {
    color: #0C436A;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    text-decoration: none;
    text-transform: capitalize;
    font-size: 16px;
}

.treatment-link:hover {
    text-decoration: none;
}

@media (max-width: 768px) {
    .treatments-section .section-title {
        font-size: 32px;
        line-height: 42px;
    }
    
    .treatments-grid {
        flex-direction: column;
        align-items: center;
    }
    .treatment-image {
        width: 294px;
        height: 196px;
    }
    .treatment-content {
        margin-top: 0;
    }
}

/* Testimonials Section */
.testimonials-section {
    padding-block: 80px;
    background-color: #edf0f5 !important;
}

.testimonials-section .section-title {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 600;
    color: #0C436A;
    font-size: 37px;
    line-height: 48px;
    text-align: center;
    margin-bottom: 50px;
}

@media (max-width: 768px) {
    .testimonials-section .section-title {
        font-size: 32px;
        line-height: 42px;
    }
}

@media (max-width: 480px) {
    .testimonials-section .section-title {
        font-size: 28px;
        line-height: 36px;
    }
}

/* Therapy Works Section */
.therapy-works-section {
    padding: 100px 0;
    background-color: #ffffff;
    overflow: hidden;
}

.therapy-works-container {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
    align-items: center;
    position: relative;
    padding: 0 20px;
}

.therapy-content {
    background-color: #0C436A;
    color: #ffffff;
    padding: 60px;
    border-radius: 6px;
    position: relative;
    z-index: 2;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    box-sizing: border-box;
}

.therapy-title {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 37px;
    line-height: 48px;
    color: rgb(255, 255, 255);
    margin-bottom: 30px;
}

.therapy-content p {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    color: rgb(239, 238, 240);
    margin-bottom: 25px;
}

.therapy-content p:last-child {
    margin-bottom: 0;
}

.therapy-image {
    position: relative;
    z-index: 1;
}

.therapy-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

/* Large Screens (> 1200px) - Overlap Card Design */
@media (min-width: 1201px) {
    .therapy-works-container {
        max-width: 1450px; /* Increased to fit larger image and overlap */
    }

    .therapy-content {
        margin-right: -100px;
        width: calc(50% + 100px);
        flex-shrink: 0;
    }
    
    .therapy-image {
        width: 50%;
        display: flex;
        flex-shrink: 0;
    }

    .therapy-image img {
        width: 827px;
        max-width: 827px;
        height: 551px;
    }
}

/* Medium/Small Screens (<= 1200px) */
@media (max-width: 1200px) {
    .therapy-works-section {
        padding: 80px 0;
    }

    .therapy-works-container {
        flex-direction: column; /* Stack vertically */
        align-items: center;
    }

    .therapy-content {
        width: 100%;
        margin-right: 0;
        margin-bottom: 40px; /* Space between content and image */
        text-align: center;
        padding: 40px;
    }

    .therapy-image {
        width: 100%;
        display: flex;
        justify-content: center;
    }
    
    .therapy-image img {
        width: 100%;
        max-width: 455px; /* Match requested small dimension width */
        height: auto; /* Maintain aspect ratio or set fixed height */
    }
    
    .therapy-title {
        font-size: 32px;
        line-height: 42px;
    }
}

@media (max-width: 480px) {
    .therapy-content {
        padding: 40px 20px;
    }
    
    .therapy-title {
        font-size: 24px;
        line-height: 32px;
    }
    
    .therapy-content p {
        font-size: 15px;
        line-height: 24px;
    }
}

/* Experience Section */
.experience-section {
    padding: 0;
    width: 100%;
    overflow: hidden;
}

.experience-wrapper {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.experience-content-box {
    width: 50%;
    padding: 100px 80px;
    box-sizing: border-box;
    background-color: #0C436A;
    background-image: repeating-linear-gradient(
        120deg,
        rgba(255, 255, 255, 0.03) 0px,
        rgba(255, 255, 255, 0.03) 1px,
        transparent 1px,
        transparent 30px
    );
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.experience-image-box {
    width: 50%;
    margin: 0;
    padding: 0;
    position: relative;
    line-height: 0;
}

.experience-image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0;
    box-shadow: none;
}

.experience-title {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 37px;
    line-height: 48px;
    color: rgb(255, 255, 255);
    margin-bottom: 30px;
}

.experience-text {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    color: rgb(255, 255, 255);
    margin-bottom: 40px;
}

.experience-btn {
    display: inline-flex;
    align-items: center;
    background-color: #ffffff;
    color: #0C436A;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    padding: 16px 32px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    letter-spacing: 0.5px;
    width: fit-content;
}

.experience-btn:hover {
    background-color: #ffffff;
}

.experience-btn .arrow-icon {
    max-width: 0;
    opacity: 0;
    margin-left: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
}

.experience-btn:hover .arrow-icon {
    max-width: 20px;
    opacity: 1;
    margin-left: 10px;
}

@media (max-width: 991px) {
    .experience-content-box {
        padding: 60px 40px;
    }
}

@media (max-width: 768px) {
    .hero-section {
        background-size: cover;
        background-position: center;
        padding-block: 40px;
    }
    .hero-copy h1 {
        font-size: 36px;
    }
    .hero-tagline {
        font-size: 24px;
    }
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .experience-wrapper {
        flex-direction: column;
    }
    
    .experience-content-box {
        width: 100%;
        padding: 60px 20px;
    }

    .experience-image-box {
        width: 100%;
        min-height: 300px; /* Ensure image has height on mobile */
    }
    
    .experience-title {
        font-size: 28px;
        line-height: 38px;
    }
}

/* Directions Section */
.directions-section {
    padding: 60px 0;
    background-color: #fff;
    position: relative;
}

.directions-header {
    text-align: center;
    margin-bottom: 40px;
}

.directions-header h2 {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
    font-size: 37px;
    line-height: 48px;
    color: rgb(12, 67, 106);
    margin: 0;
}

.directions-card {
    background-color: #fff;
    background-image: url('images/slant.webp');
    background-size: cover;
    background-position: center;
    border: 1px solid #1a2b49;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    display: flex;
    flex-wrap: wrap;
    max-width: 1080px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

/* Map Wrapper */
.map-wrapper {
    width: 100%;
    aspect-ratio: 16 / 9; /* desktop landscape */
    position: relative;
    overflow: hidden;
}

.map-wrapper iframe {
    width: 100%;
    height: 100%;
    border: 0;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.directions-map {
    flex: 1 1 50%;
    padding: 40px;
}

.directions-info {
    flex: 1 1 50%;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.info-item {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    padding-bottom: 0;
}

.info-icon {
    width: 30px;
    font-size: 20px;
    color: rgb(12, 67, 106);
    margin-right: 15px;
    text-align: center;
}

.info-text {
    flex: 1;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-size: 18px;
    line-height: 23px;
    color: rgb(12, 67, 106);
    font-weight: 600;
}

.info-text a {
    color: rgb(12, 67, 106);
    text-decoration: none;
    transition: color 0.3s;
}

/* Removed hover effect as requested */
/*.info-text a:hover {
    color: #2ea3f2;
}*/

.directions-btn {
    background-color: rgb(12, 67, 106);
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 14px;
    padding: 15px 30px;
    text-transform: uppercase;
    border: 2px solid rgb(12, 67, 106);
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-block;
    margin-top: 20px;
    text-decoration: none;
    text-align: center;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.directions-btn:hover {
    background-color: #fff;
    color: rgb(12, 67, 106);
}

.directions-btn .btn-arrow {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.directions-btn:hover .btn-arrow {
    display: inline-block;
    opacity: 1;
}

@media (max-width: 991px) {
    .directions-section {
        padding: 40px 0;
    }
    .directions-card {
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        border-left: none;
        border-right: none;
    }
    .directions-map {
        width: 100%;
        flex: auto;
        min-height: 0; /* Let aspect-ratio dictate height */
        padding: 20px;
        margin-bottom: 0;
    }
    .directions-map iframe {
        border-radius: 4px;
    }

    .directions-info {
        width: 100%;
        flex: auto;
        padding: 20px 40px 40px 40px;
        margin-top: 0;
        text-align: center;
    }
    .info-item {
        flex-direction: column;
        align-items: center;
        margin-bottom: 5px;
        text-align: center;
    }
    .info-icon {
        margin-right: 0;
        margin-bottom: 10px;
        font-size: 24px;
        width: auto;
    }
    .info-text {
        text-align: center;
        flex: none;
    }
    .directions-btn {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 767px) {
    .directions-header h2 {
        font-size: 28px;
        line-height: 38px;
    }
    .map-wrapper {
        aspect-ratio: 4 / 5; /* portrait feel */
    }
    .info-item {
        margin-bottom: 5px; /* Reduce gap on mobile */
    }
}

@media (min-width: 1367px) {
    .directions-card,
    .directions-description {
        max-width: 1300px;
    }

    /* Services Section Modifications */
    .services-section .container {
        max-width: 1600px; /* Increase width to remove extra gap */
        padding-left: 20px;
        padding-right: 20px;
    }

    .services-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 services per row */
        gap: 40px; /* Increase gap for better spacing */
    }

    .service-card {
        padding: 40px; /* Increase padding for larger feel */
    }

    .service-image {
        width: 100%;
        height: auto;
        margin-bottom: 20px; /* Ensure spacing below image */
    }
    
    .service-card h3 {
        font-size: 26px; /* Increase font size */
    }

    /* Treatments Section Modifications */
    .treatments-section .container {
        max-width: 1400px; /* Increase width to remove extra gap */
    }

    .treatments-grid {
        max-width: 100%; /* Fill the container */
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* 2 services per row */
        gap: 60px; /* Increase gap */
        margin-top: 60px;
    }

    .treatment-card {
        max-width: 100%;
        margin-bottom: 0;
    }

    .treatment-image {
        width: 500px;
        height: 333px;
        margin: 0 auto;
    }

    .treatment-content {
        padding: 40px; /* Increase padding */
    }
    
    .treatment-title {
        font-size: 28px; /* Increase font size */
    }
}


/* Testimonials Section */
.testimonials-section {
    padding: var(--spacing-section, 60px) 0;
    background: #EDF0F5 !important;
}

.testimonials-grid {
    display: grid;
    /* Default for smaller screens: auto-fit with flexible cards */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
    padding-inline: 20px; 
}

/* Force 3 columns (one line) on standard desktop and larger (including 1200px) */
@media (min-width: 1100px) {
    .testimonials-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.testimonial-card {
    background: #fff;
    border-radius: 8px;
    padding: 40px 30px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-5px);
}

.testimonial-icon-wrapper {
    width: 120px;
    height: 120px;
    background-color: var(--primary-color, #0e3f6c);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    color: #fff;
    font-size: 48px;
}

.testimonial-text {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-style: italic;
    font-weight: 600;
    color: rgb(80, 106, 126);
    font-size: 17px;
    line-height: 30px;
    margin-bottom: 20px;
}

.testimonial-author {
    color: var(--primary-color, #0e3f6c);
    font-weight: 700;
    margin-bottom: 15px;
    font-size: 1.1rem;
}

.testimonial-rating {
    color: #ffc107;
    font-size: 1.2rem;
}

.testimonial-rating i {
    margin: 0 2px;
}

/* Testimonials Header */
.testimonials-header {
    text-align: center;
    margin-bottom: 40px;
}

.testimonials-title {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
    color: rgb(12, 67, 106);
    font-size: 37px;
    line-height: 48px;
    margin-bottom: 10px;
}

.testimonials-subtitle {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 700;
    color: rgb(12, 67, 106);
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 0;
}

/* Override for Locations Tabs to fit in one line on Desktop */
@media (min-width: 1025px) {
    .locations-tabs-container .locations-tabs {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    .locations-tabs-container .location-tab {
        flex: 1;
        min-width: auto;
        padding: 15px 5px;
        text-align: center;
        align-items: center;
    }
    
    .locations-tabs-container .location-tab .loc-name {
        font-size: 13px;
        white-space: normal;
        line-height: 1.2;
    }
    
    .locations-tabs-container .tab-scroll-btn {
        display: none;
    }
    
    /* Ensure wrapper doesn't force scroll */
    .locations-tabs-wrapper {
        overflow-x: visible;
    }
	
	
}

.sticky-mini-header{
	
	padding-left : 100px !important;
	padding-right : 100px !important;
}




