     /*=======================================
        | 1. GLOBAL VARIABLES & BASE STYLES
        =======================================*/
        :root {
            /* Color Palette */
            --bg-main: #ffffff;             /* White (Main Background) */
            --accent-primary: #7B2F18;      /* Primary Accent (Text, Buttons) */
            --accent-secondary: #FCE6C8;    /* Secondary Accent (CTA Fills, Hovers) */
            --text-base: #333333;           /* Standard dark text */
            --text-subtle: #6a6a6a;         /* New subtle text color for captions */
            
            /* BADGE COLOR */
            --badge-gold: #FFC300;          /* Yellow/Gold for badge background */
            --badge-text: #5d2414;          /* Darker brown for text on gold */
            
            /* Fonts */
            --font-heading: 'Poppins', sans-serif;
            --font-body: 'Open Sans', sans-serif;

            /* Transitions & Effects */
            --transition-speed: 0.3s;
        }

        *, *::before, *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html {
            scroll-behavior: smooth; /* Global Rule: Smooth scrolling */
        }

        body {
            font-family: var(--font-body);
            color: var(--text-base);
            background-color: var(--bg-main);
            line-height: 1.6;
            overflow-x: hidden;
        }

        /* Headings (Poppins, Primary Color) */
        h1, h2, h3 {
            font-family: var(--font-heading);
            color: var(--accent-primary);
            line-height: 1.2;
        }
        
        /* Utility Container for Max-Width and Centering (ACF Friendly) */
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /*=======================================
        | 2. UI COMPONENTS (Buttons)
        =======================================*/
        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 14px 28px;
            border-radius: 8px;
            font-family: var(--font-heading);
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            transition: all var(--transition-speed) ease;
            cursor: pointer;
            border: 2px solid transparent;
            text-decoration: none;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); /* Subtle Shadow */
        }

        /* Primary Button (Solid Brown) */
        .btn-primary {
            background-color: var(--accent-primary);
            color: var(--bg-main); /* White text */
        }

        .btn-primary:hover {
            background-color: #5d2414; /* Slightly darker brown */
            transform: translateY(-2px);
            box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
        }

        /* Secondary Button (Outline/White background) */
        .btn-secondary {
            background-color: var(--bg-main); /* White background */
            color: var(--accent-primary);
            border-color: var(--accent-primary);
            box-shadow: none;
        }

        .btn-secondary:hover {
            background-color: var(--accent-secondary); /* Secondary accent for hover fill */
            transform: translateY(-2px);
            box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
        }

        /*=======================================
        | 3. HERO SECTION STYLES
        =======================================*/
        .hero-section {
            padding: 100px 0;
            min-height: 80vh;
            display: flex;
            align-items: center;
        }

        /* This wrapper handles the main grid/flex layout (content | image) */
        .hero-layout {
            display: flex;
            align-items: center;
            gap: 60px;
        }

        /* Left Side: Content */
        .hero-content {
            flex: 1;
            max-width: 50%;
        }

        .hero-content h1 {
            font-size: 3.5rem; /* Large desktop heading */
            margin-bottom: 20px;
            font-weight: 700;
        }

        .hero-content p {
            font-size: 1.125rem;
            color: var(--text-base);
            margin-bottom: 40px;
        }
        
        .hero-cta-group {
            display: flex;
            gap: 15px;
            margin-bottom: 30px;
            flex-wrap: wrap; 
        }

        /* Google Badge Styling */
        .hero-social-proof {
            display: flex;
            gap: 15px;
            color: #888;
            font-size: 0.85rem;
        }
        .google-badge {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 5px 10px;
            border: 1px solid #ddd;
            border-radius: 4px;
            background-color: var(--bg-main);
        }
        .google-badge .google-icon {
            /* Using Font Awesome for Google Brand */
            color: #4285F4; /* Google Blue */
        }
        .google-badge .star-icon {
            color: gold;
        }
        
        /* Right Side: Image and Caption Container */
        .hero-image-block {
            flex: 1;
            max-width: 50%;
            display: flex;
            flex-direction: column; /* Stack image and text */
            align-items: center;
        }
        
        .hero-image-block img {
            width: 100%;
            max-width: 550px; 
            height: auto;
            border-radius: 12px;
            object-fit: cover;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            margin-bottom: 15px; /* Space before the new text section */
        }

        /* New Text Section below the Hero Image (ACF Field: image_caption) */
        .image-caption {
            width: 100%;
            max-width: 550px; /* Match the image max-width */
            text-align: center;
            padding: 10px 0;
        }

        /* Custom style for the caption text: small, italic, distinguished */
        .image-caption p {
            font-family: var(--font-body);
            font-size: 0.95rem; /* Smaller size */
            font-style: italic; 
            font-weight: 400; /* Less bold than standard body text */
            color: var(--text-subtle); /* More subtle color */
            margin-bottom: 0;
            line-height: 1.4;
            padding: 0 10px; /* Slight horizontal padding for mobile readability */
        }
        
        /*=======================================
        | 4. TESTIMONIAL SECTION STYLES
        =======================================*/
        .testimonial-section {
            padding: 80px 0;
            background-color: var(--accent-secondary); 
            text-align: center;
        }

        .testimonial-section h2 {
            font-size: 2.5rem;
            margin-bottom: 50px;
            color: var(--text-base); 
            font-weight: 700;
        }

        .testimonial-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr); 
            gap: 30px;
        }

        .testimonial-card {
            background-color: var(--bg-main); 
            padding: 30px;
            border-radius: 12px;
            text-align: left; 
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05); 
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            height: auto; 
        }
        
        .testimonial-rating {
            color: gold;
            font-size: 1rem;
            margin-bottom: 15px;
        }

        .testimonial-card p {
            font-family: var(--font-body);
            font-size: 1rem;
            color: var(--text-base);
            line-height: 1.5;
            margin-bottom: 20px;
            flex-grow: 1; 
        }

        .testimonial-author-block {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: auto; 
            padding-top: 10px;
        }
        
        .testimonial-author {
            font-family: var(--font-heading);
            font-weight: 700;
            font-size: 1.1rem;
            color: var(--accent-primary);
        }
        
        .yelp-icon {
            color: #D3251D; 
            font-size: 1.5rem;
        }

/* Why Choose Us (themed bg) */
.why-themed {
  background: #f8f9f7;
  padding: clamp(48px, 7vw, 96px) 0;
}
  .why-themed .why-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
  .why-themed .eyebrow{color:rgba(27,16,11,.9);text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.8rem;margin:0 0 8px;opacity:.85}
  .why-themed h2{font-family:Poppins,system-ui,sans-serif;margin:0 0 8px;font-weight:700;color:#1f1f1f;font-size:clamp(24px,3.8vw,40px)}
  .why-themed .lede{margin:0 0 26px;color:rgba(27,16,11,.85);max-width:75ch}
  .why-themed .why-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
  @media (max-width:980px){.why-themed .why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media (max-width:640px){.why-themed .why-grid{grid-template-columns:1fr}}
  .why-themed .why-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:18px;box-shadow:0 10px 26px rgba(0,0,0,.06);
    transition:transform .2s,box-shadow .2s}
  .why-themed .why-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.09)}
  .why-themed .icon{width:44px;height:44px;border-radius:12px;background:#fff;color:var(--primary);display:grid;place-items:center;
    border:1px solid rgba(0,0,0,.07);box-shadow:0 8px 18px rgba(123,47,24,.12);margin-bottom:10px}
  .why-themed .card-title{font-family:Poppins,system-ui,sans-serif;color:var(--primary);margin:0 0 6px;font-weight:700;font-size:1.12rem}
  .why-themed .card-text{margin:0;color:#3c3c3c}

        /*=======================================
        | 5. DOCTOR / LOCATION SECTION STYLES
        =======================================*/
        .info-section {
            padding: 80px 0;
            background-color: var(--bg-main); /* White background */
        }
        
        .info-grid {
            display: grid;
            grid-template-columns: 3fr 2fr; /* Doctor bio takes slightly more space */
            gap: 60px;
            align-items: flex-start;
        }

        /* Left Column: Doctor Bio */
        .doctor-bio {
            display: flex;
            gap: 30px;
            align-items: flex-start;
        }
        
        /* Wrapper to contain the image and badge */
        .doctor-image-wrapper {
            display: flex;
            flex-direction: column;
            align-items: flex-start; /* Keep image and text left-aligned with surrounding content */
            flex-shrink: 0; 
        }
        
        .doctor-bio img {
            width: 150px;
            height: 150px;
            border-radius: 50%; /* Circular image */
            object-fit: cover;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            margin-bottom: 10px; /* Space above badge */
        }
        
        /* New Badge Style (Gold/Yellow and pill shape) */
        .doctor-badge {
            background-color: var(--badge-gold); /* New Gold Color */
            color: var(--badge-text); /* Darker text for contrast */
            padding: 5px 15px;
            border-radius: 9999px; /* Pill shape */
            font-family: var(--font-heading);
            font-size: 0.75rem; 
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            display: inline-block;
            
            /* Sparkle Animation Setup */
            position: relative; /* Needed for absolute positioning of pseudo-element */
            overflow: hidden; /* Important to hide the shine before it enters and after it leaves */
        }

        /* Pseudo-element for the sparkle/shine */
        .doctor-badge::after {
            content: '';
            position: absolute;
            top: 0;
            left: -100%; /* Start off-screen to the left */
            width: 30%; /* Width of the shine band */
            height: 100%;
            /* Gradient: Transparent -> White (at 50%) -> Transparent */
            background: linear-gradient(
                90deg, 
                transparent, 
                rgba(255, 255, 255, 0.5), /* Subtle white shimmer */
                transparent
            );
            transform: skewX(-20deg); /* Tilt the shine for a slicker look */
            animation: sparkle 4s infinite ease-in-out; /* 4s duration, continuous, subtle timing */
        }

        /* Keyframes for the sparkle/shine animation */
        @keyframes sparkle {
            0% {
                left: -100%; /* Start far left */
            }
            100% {
                left: 100%; /* End far right, completely crossing the badge */
            }
        }
        
        .doctor-content h3 {
            font-size: 1.5rem;
            margin-bottom: 10px;
            color: var(--text-base);
            font-weight: 700;
        }
        
        .doctor-content p {
            font-size: 1rem;
            color: var(--text-base);
            line-height: 1.6;
        }
        
        /* Right Column: Location & Hours */
        .location-info h3 {
            font-size: 1.5rem;
            margin-bottom: 10px;
            color: var(--text-base);
            font-weight: 700;
        }
        
        /* --- Text Size & Alignment for Right Column --- */
        .hours-block,
        .location-block p {
            font-size: 0.85rem; /* Restored "small" size */
            text-align: left; 
        }

        .hours-block {
            margin-bottom: 15px; 
            margin-top: 15px; 
        }
        
        .hours-block strong {
            display: block;
            margin-bottom: 3px; 
            font-weight: 700;
            color: var(--accent-primary);
        }

        .location-block {
            margin-bottom: 10px; 
        }
        
        .location-block p {
            line-height: 1.5;
            margin-bottom: 3px; 
        }
        
        .location-call {
            margin-top: 15px; 
        }

        .location-call a {
            font-size: 0.85rem; 
            font-family: var(--font-body); 
            font-weight: 600;
            color: var(--accent-primary);
            text-decoration: underline;
            transition: color var(--transition-speed);
            display: inline-block;
        }
        /* --- END: Text Size & Alignment for Right Column --- */

        .location-call a:hover {
            color: #5d2414; /* Darker brown on hover */
        }


  /*=======================================
        | 6. EMERGENCY SERVICES SECTION STYLES
        =======================================*/
        .emergency-section {
            padding: 80px 0;
            background-color: #FCE6C8; /* Replaced var(--bg-light-accent) with custom color */

            text-align: center;
        }

        .emergency-section h2 {
            /* Changed to match Hero H1 style: Poppins, Bold, Primary Brown Color */
            font-family: var(--font-heading); 
            font-size: 2.5rem; /* Slightly smaller than H1 (3.5rem) for hierarchy */
            font-weight: 700; /* Bold weight like the H1 */
            color: var(--accent-primary); /* Primary Brown color #7B2F18 */
            margin-bottom: 50px;
        }

        .emergency-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr); 
            gap: 30px;
        }

        .emergency-card {
            background-color: var(--bg-main); 
            padding: 30px;
            border-radius: 12px;
            border: 1px solid rgba(124, 110, 89, 0.2); /* Light border to match the design's soft look */
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); 
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            transition: transform var(--transition-speed);
        }
        
        .emergency-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
        }

        .emergency-icon-wrapper {
            background-color: var(--emergency-icon-bg); /* Light mint green background */
            width: 60px;
            height: 60px;
            border-radius: 8px; 
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 20px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); 
        }

        .emergency-icon-wrapper i {
            font-size: 2rem;
            color: var(--emergency-icon-color); /* Darker mint green icon color */
        }

        .emergency-card p {
            font-family: var(--font-body);
            font-size: 1rem;
            font-weight: 600; /* Slightly bolder text for the category name */
            color: var(--text-base);
            margin-bottom: 0;
        }

 /*=======================================
        | 7. WHAT TO EXPECT SECTION STYLES
        =======================================*/
        .visit-expect-section {
            padding: 80px 0;
            background-color: var(--bg-main); /* White background as requested */
            text-align: center;
        }

        .visit-expect-section h2 {
            font-family: var(--font-heading);
            font-size: 2.5rem; 
            font-weight: 700; 
            color: var(--heading-tan); /* Now using the accent-primary color */
            margin-bottom: 50px;
        }
        
        .visit-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr); /* Two columns on desktop */
            gap: 30px;
        }
        
        .visit-card {
            background-color: var(--bg-main);
            border: 1px solid rgba(123, 47, 24, 0.1); /* Very light brown border */
            border-radius: 12px;
            padding: 30px;
            text-align: left;
            margin-bottom: 20px; /* Space between stacked cards in mobile/tablet, and within grid on desktop */
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
            transition: transform var(--transition-speed);
        }

        .visit-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08);
        }

        .card-header {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 15px;
        }
        
        .card-number {
            width: 30px;
            height: 30px;
            border-radius: 50%;
            background-color: var(--accent-secondary); /* Light peach background */
            color: var(--accent-primary);
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: var(--font-heading);
            font-weight: 700;
            font-size: 1rem;
            flex-shrink: 0;
        }

        .card-title {
            font-family: var(--font-heading);
            font-size: 1.25rem;
            font-weight: 600;
            color: var(--accent-primary);
            margin-bottom: 0;
        }

        .visit-card p {
            font-size: 0.95rem;
            color: var(--text-base);
            line-height: 1.6;
        }


          /*=======================================
        | 8. EXAM FREQUENCY SECTION STYLES (NEW)
        =======================================*/
        .exam-frequency-section {
            padding: 80px 0;
           background-color: #f8f9f7; /* very light gray-green tone */
        }

        .exam-frequency-section h2 {
            font-family: var(--font-heading);
            font-size: 2.5rem;
            font-weight: 700;
            color: var(--heading-tan); /* Deep brown color */
            margin-bottom: 50px;
            text-align: center;
        }

        .exam-frequency-grid {
            display: grid;
            grid-template-columns: 1fr 1fr; /* Text left, Image right */
            gap: 60px;
            align-items: center;
        }

        .exam-content {
            line-height: 1.7;
        }

        .exam-content p {
            margin-bottom: 20px;
        }

        .exam-list {
            list-style: none; /* Remove default bullets */
            padding-left: 0;
            margin-top: 15px;
        }

        .exam-list li {
            display: flex;
            align-items: flex-start;
            margin-bottom: 15px;
            font-weight: 600; /* Bolder text for list items */
            color: var(--text-base);
            font-size: 1rem;
        }

        .exam-list i {
            color: var(--accent-primary); /* Brown checkmark */
            font-size: 1.1rem;
            margin-right: 15px;
            margin-top: 3px; /* Vertical alignment fix */
            flex-shrink: 0;
        }

        .exam-image-wrapper img {
            width: 100%;
            height: auto;
            border-radius: 12px;
            object-fit: cover;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        }

/* list bullet fix */

        .check-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.check-list li {
  position: relative;
  padding-left: 28px; /* space for the icon */
  margin-bottom: 10px;
  line-height: 1.6;
  color: #333;
  font-size: 1rem;
}

.check-list li::before {
  content: "\f00c"; /* Font Awesome check icon */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: var(--primary); /* or use #7b2f18 to match your site */
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 1rem;
}

/* Force bullet points to left align */
.check-list {
  text-align: left;
}


   /*=======================================
        | 9. FAQ SECTION STYLES (NEW)
        =======================================*/
        .faq-section {
            padding: 80px 0;
           background-color: #FCE6C8; /* soft warm cream-peach tone */
        }
        
        .faq-section h2 {
            font-family: var(--font-heading);
            font-size: 2.5rem;
            font-weight: 700;
            color: var(--heading-tan);
            margin-bottom: 50px;
            text-align: center;
        }

        .faq-accordion {
            max-width: 800px; /* Keep the accordion centered and readable */
            margin: 0 auto;
        }

        .accordion-item {
            background-color: var(--bg-main); /* White background for the card */
            border: 1px solid rgba(123, 47, 24, 0.1);
            border-radius: 8px;
            margin-bottom: 15px;
            overflow: hidden;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
            transition: box-shadow var(--transition-speed);
        }

        .accordion-item:hover {
             box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
        }

        .accordion-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px 25px;
            cursor: pointer;
            font-family: var(--font-heading);
            font-weight: 600;
            font-size: 1.1rem;
            color: var(--accent-primary);
            border: none;
            background: none;
            width: 100%;
            text-align: left;
        }
        
        .accordion-header:focus {
            outline: none;
            box-shadow: 0 0 0 3px var(--accent-secondary); /* Soft focus ring */
        }

        .accordion-icon {
            font-size: 1.2rem;
            color: var(--accent-primary);
            transition: transform var(--transition-speed);
        }

        .accordion-item.active .accordion-icon {
            transform: rotate(180deg);
        }

        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease-out, padding 0.4s ease-out;
            padding: 0 25px;
            background-color: #FAFAFA; /* Slightly off-white content background */
        }

        .accordion-item.active .accordion-content {
            /* Max-height must be set high enough to contain content */
            max-height: 500px; 
            padding-bottom: 20px;
            padding-top: 10px;
        }

        .accordion-content p {
            font-size: 1rem;
            color: var(--text-base);
            margin-bottom: 0;
            line-height: 1.6;
        }



        /*=======================================
        | 6. ANIMATION STYLES (Scroll Triggered)
        =======================================*/
        /* Default state: Hidden and slightly offset (fade-up effect) */
        [data-animate-on-scroll] {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 1s ease-out, transform 1s ease-out;
            will-change: opacity, transform; /* Optimization */
        }

        /* Visible state: Triggered by JS */
        [data-animate-on-scroll].is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Apply staggered transition delays */
        .hero-content [data-animate-on-scroll] { transition-delay: 0.1s; }
        .hero-image-block [data-animate-on-scroll] { transition-delay: 0.3s; }
        .testimonial-card [data-animate-on-scroll] { transition-delay: 0.2s; }
        .info-section [data-animate-on-scroll] { transition-delay: 0.1s; }
        
        
        /*=======================================
        | 7. RESPONSIVENESS (Mobile & Tablet)
        =======================================*/
        @media (max-width: 1024px) {
            /* Tablet Hero */
            .hero-layout { gap: 40px; }
            .hero-content h1 { font-size: 3rem; }

            /* Tablet Testimonials (2 columns) */
            .testimonial-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 20px;
            }

            /* Tablet Info Section */
            .info-grid {
                grid-template-columns: 1fr; /* Stack into a single column on tablet */
                gap: 40px;
            }
        }

        @media (max-width: 768px) {
            .hero-section { padding: 60px 0; min-height: unset; }
            
            /* Structure Change: Stack content and image */
            .hero-layout { flex-direction: column; }
            .hero-content { max-width: 100%; order: 1; }
            .hero-image-block { max-width: 100%; margin-bottom: 40px; order: 2; }
            
            /* Mobile Text Style */
            .hero-content h1 { font-size: 2.25rem; text-align: center; }
            .hero-content p { text-align: center; }
            .hero-cta-group { justify-content: center; }
            .image-caption p { font-size: 0.9rem; }
            
            /* Mobile Testimonial adjustments */
            .testimonial-section { padding: 60px 0; }
            .testimonial-section h2 { font-size: 2rem; margin-bottom: 40px; }
            .testimonial-grid { grid-template-columns: 1fr; gap: 20px; }
            .testimonial-card { padding: 25px; }

            /* Mobile Info Section */
            .info-section { padding: 60px 0; }
            
            .doctor-bio {
                flex-direction: column; /* Stack image and text vertically */
                align-items: center; /* Center the entire bio block */
                text-align: center;
                gap: 20px;
            }
            
            /* Center doctor image wrapper and content on mobile */
            .doctor-image-wrapper {
                 align-items: center;
            }

            /* Make the text content of the bio center-aligned on mobile */
            .doctor-content {
                text-align: center;
            }

            .doctor-content h3 {
                font-size: 1.3rem;
            }
            
            .location-info {
                text-align: center; /* Titles should still be centered on mobile */
            }
            
            /* Override text alignment for content blocks on mobile so they align left */
            .hours-block,
            .location-block,
            .location-call {
                text-align: left;
                padding-left: 0;
                padding-right: 0;
            }

            /* Ensure the subtle text stays small but legible on mobile too */
            .hours-block,
            .location-block p,
            .location-call a {
                font-size: 0.8rem; /* Mobile size for subtle text */
            }
        }

/* --- Fix for Exam Frequency, Visit Expect & Emergency Sections --- */
@media (max-width: 1024px) {
  .exam-frequency-grid,
  .visit-grid,
  .emergency-grid {
    grid-template-columns: 1fr; /* stack into single column on tablets */
    gap: 30px;
  }
}

@media (max-width: 768px) {
  .exam-frequency-grid,
  .visit-grid,
  .emergency-grid {
    grid-template-columns: 1fr; /* ensure stacking on mobile */
    gap: 20px;
  }

  /* Center-align content and reduce padding for better mobile spacing */
  .exam-frequency-section,
  .visit-expect-section,
  .emergency-section {
    padding: 60px 0;
    text-align: center;
  }

  .exam-image-wrapper img,
  .visit-card,
  .emergency-card {
    width: 100%;
    margin: 0 auto;
  }

  /* Optional: Adjust headings for smaller screens */
  .exam-frequency-section h2,
  .visit-expect-section h2,
  .emergency-section h2 {
    font-size: 2rem;
    margin-bottom: 30px;
  }
}