@media (min-width: 1200px) {
	.primary-menu .menu-item-has-children { position: relative; }
	.submenu-toggle { display: none; } 
	.primary-menu .menu-item-has-children > .nav-link::after {
		content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 7px;
		border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
		transform: translateY(-2px) rotate(45deg); vertical-align: middle;
	}
	.primary-menu .sub-menu {
		position: absolute; top: 100%; left: 0; min-width: 230px;
		background: #fff; border: 1px solid var(--line); 
		box-shadow: var(--shadow); padding:0; z-index: 200;
		opacity: 0; visibility: hidden; transform: translateY(10px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
	}
	.primary-menu .menu-item-has-children:hover > .sub-menu,
	.primary-menu .menu-item-has-children:focus-within > .sub-menu {
		opacity: 1; visibility: visible; transform: translateY(5px);
	}
	.primary-menu .sub-menu .nav-link {
		display: block; padding: 9px 22px; font-size: 14px; font-weight: 500;
		color: var(--navy); white-space: nowrap;
	}
	.primary-menu .sub-menu .nav-link:hover,
	.primary-menu .sub-menu .current-menu-item > .nav-link {
		color: var(--green-700); background: var(--navy-tint);
	}
	
	.primary-menu .sub-menu .menu-item-has-children > .nav-link::after {
		transform: rotate(-45deg); float: right; margin-left: 10px;
	}
	.primary-menu .sub-menu .sub-menu {
		top: -9px; left: 100%; margin-left: 2px; transform: translateX(10px);
	}
	.primary-menu .sub-menu .menu-item-has-children:hover > .sub-menu,
	.primary-menu .sub-menu .menu-item-has-children:focus-within > .sub-menu {
		transform: translateX(0);
	}
}

@media (min-width: 1440px) {
    .container {
        max-width: 1360px;
    }
	
}

@media (min-width: 1500px) {
   .container { width: 100%; max-width: 1440px; }
}


@media (max-width: 1440px){
	.site-header .container, .site-footer .container {
		max-width: calc(100% - 50px);
	}
	.primary-menu {
		gap: 20px;
	}
	.section {
		padding: 80px 0;
	}
	.cta-band__content {
		gap: 30px;
		padding: 60px 0 60px 60px;
	}
	.cta-band__image {
		height: 350px;
		left: -30px;
	}
	.contact__inner {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.hero__stats {
		gap: 12px 25px;
	} 
	.hero__content {
		max-width: 52%;
	}
	.hero__bg {
		width: 50%;
	}
	.testimonial-card__quote {
		font-size: 15px;
		line-height: 150%;
	}
	.testimonial-card {
		padding: 25px;
	}
}

/* ---------- About Us page + banner (responsive) ---------- */
@media (max-width: 1280px) {	
	
.site-header__cta-label {
    font-size: 11px;
}	
.site-header__cta-phone {
    font-size: 18px;
    font-weight: 700;
}
.primary-menu {
    gap: 15px;
}
.site-header .container, .site-footer .container {
        max-width: calc(100% - 20px);
    }
	
	
}
@media (max-width: 1199px) {
	
	/* Submenus: collapsed accordions inside the mobile drawer (open on click) */
	.primary-menu .menu-item-has-children { position: relative; }
	.primary-menu .sub-menu { padding-left: 16px; display: none; }
	.primary-menu .menu-item-has-children.is-open > .sub-menu { display: block; }
	.primary-menu .sub-menu .nav-link { padding: 11px 0; font-size: 14px; }
	.primary-menu .sub-menu .nav-item:last-child { border-bottom: 0; }
	.submenu-toggle {
		display: inline-flex; align-items: center; justify-content: center;
		position: absolute; top: 0; right: 0; width: 48px; height: 51px;
		padding: 0; border: 0; background: transparent; color: var(--navy); cursor: pointer;
	}
	.submenu-toggle::before {
		content: ""; width: 8px; height: 8px;
		border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
		transform: rotate(45deg); transition: transform 0.2s ease;
	}
	.menu-item-has-children.is-open > .submenu-toggle::before { transform: rotate(-135deg); }
	.primary-menu .sub-menu .submenu-toggle { height: 44px; }
	
		/* Bootstrap navbar collapse drawer */
	.site-header__collapse { padding-bottom: 8px; }
	.primary-menu { flex-direction: column; align-items: stretch; gap: 0; padding: 8px 0; }
	.primary-menu .nav-item { border-bottom: 1px solid var(--line); }
	.primary-menu .nav-link { display: block; padding: 14.4px 0; }
	.site-header__actions { flex-direction: row; align-items: stretch; gap: 15px; padding: 0; }
	.site-header__actions .site-header__cta { 
		height: 42px;
        width: 42px !important;
        border-radius: 0;
        padding: 4px !important;
        background: transparent;
        box-shadow: none;
        border: 1px solid #3f9e45;
	}
	.site-header__cta svg{
		height: 20px;
		width: 20px;
		fill: #3f9e45;
	}
	.site-header__search-toggle { 
		align-self: flex-start; 
		border: 1px solid #3f9e45;
		border-radius: 0;
	}
	.mob-right-header {
		display: flex;
		gap: 15px;
	}
	.navbar-toggler {
		padding: 4px;
		height: 42px;
		width: 42px;
		border: 1px solid #55a93f;
		border-radius: 0;
	} 
	.site-header__search-icon { stroke: #55aa3f;} 
	.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%233f9e45' d='M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z'/%3E%3C/svg%3E");

	}
	
	.navbar-toggler .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%233f9e45' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
	}
	.site-header .container, .site-footer .container {
		max-width: calc(100% - 10px);
	}
	.cta-band__content {
		display: flex;
		padding: 60px 0 60px 90px;
		flex-direction: column;
		align-items: start;
	}
	.site-header__inner { row-gap: 0 !important;  gap: 0 !important;}
}
@media (max-width: 1024px) {
	.team-contact-info {
		display: flex;
		gap: 20px;
		font-size: 20px;
		flex-direction: column;
	}
}


@media (min-width: 991.98px) and (max-width: 1024px){
	
	.post-list-item__media {
		flex: 0 0 50%;
		max-width: 50%;
	}
}
@media (max-width: 991.98px) {
	/* .about-process__media {
		margin-top: 8px;
	} */
	/* .about-intro__content.pe-xxl-5,
	.about-intro__content.ps-xxl-5 {
		padding-right: 0;
		padding-left: 0;
	} */
		/* Hero stacks */
	.hero { display: block; min-height: 0; }
	.hero__bg { position: relative; width: 100%; height: 580px; }
	.hero__bg::after { background: linear-gradient(0deg, var(--navy) 0%, rgba(6, 54, 125, 0) 55%); }
	.hero__content { max-width: 100%; padding-block: 40px; width: 100%;        text-align: center;}
	
	.hero__heading, .hero__sub {max-width: 100%;}
	.hero__divider { margin: 22.4px auto;}
	.hero-btns {justify-content: center;}
	.hero__stats {
        justify-content: center;
    }
.pills {
    justify-content: center;
}
.doctor-intro__content .btn-row {
    gap: 20px;
    justify-content: center;
}
.feature-list .section__heading, .feature-list .feature-list__intro {
    text-align: center;
}
	/* Feature-list collage → simple stack */
	.feature-list__media { display: block; min-height: 0; }
	.feature-list__img { margin-bottom: 16px; height: auto; }

	/* CTA content stacks text over buttons */
	.cta-band__content { flex-direction: column; align-items: flex-start; gap: 24px; padding: 30px 0 30px 100px;}
	.cta-band__image {
		height: 310px;
		left: -30px;
	}
	.contact__map {
		position: relative;
		width: 100%;
		height: 100%;
	}
	.site-footer__social {
		margin-bottom: 20px;
	}
	.site-header .navbar {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	body {padding-top: 94px;}
	.section { padding: 50px 0;}
	.contact__inner {
		padding-top: 0;
		padding-bottom: 0;
	}
	.single-team__bio {
		text-align: center;
	}
	.widget {
		padding: 18px;
	}
	
}

@media (max-width: 767px) {
	.hero-btns {
		display: flex;
		gap: 20px;
		flex-direction: column;
	}
	.services__intro-row { margin-top: 0;}
	.cta-band__content {
               padding: 40px 20px;
    }
	.cta-band__inner {
		flex-direction: column-reverse;
	}
	.cta-band__image {
		        position: relative;
        left: auto;
        right: auto;
        margin: 0 auto;
        display: block;
        object-position: center bottom;
	}
	
}
@media (max-width: 575.98px) {
	/* Sitewide horizontal scroll fix (BugHerd #11 / #12): rows carry an inline
	   --bs-gutter-x: clamp(2rem,4vw,3rem) → a 16px half-gutter (negative margin)
	   at phone widths, but .container padding was only 12px, so every row leaked
	   ~4px past each edge. Match the container padding to the half-gutter so the
	   negative margins cancel. (Only bites <576px, where .container is full-bleed.) */
	.container { padding-left: 16px; padding-right: 16px; }

	.page-banner {
		padding: 40px 0;
	}
	.page-banner__title {
		font-size: 28px;
	}
	.highlight {
		padding: 28px 20px;
	}
	.about-process__item {
		font-size: 15px;
	}
	.breadcrumbs__list {
		font-size: 12.8px;
	}
	.contact-details__map iframe,
	.contact-details__map .media-placeholder {
		height: 300px;
	}
}

@media (max-width: 767.98px) {
	/* Hero: on phones the full-height (580px) background image sat above the
	   copy in the DOM, pushing the heading fully below the fold. Shorten the
	   image so the text is visible on landing (BugHerd #10). */
	.hero__bg { height: 300px; }

	.post-list-item {
		flex-direction: column;
	}
	.post-list-item__media {
		flex-basis: auto;
		max-width: 100%;
	}
	.post-list-item__image {
		aspect-ratio: 16 / 9;
	}
	.cta-band__content .btn-row {
		justify-content: center;
	}
	.post-card__body {
		padding: 25px;
	}
	.contact__panel  .section__head {
		text-align: center;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	.contact-btns {
		text-align: center;
	}
	.contact-btns .wpcf7-spinner{display:none;}
	.site-footer__brand{
		text-align: center;
	}
	.site-footer__desc {
		max-width: 100%;
	}
	.site-footer__social {
        justify-content: center;
    }
	.service-philosophy__cta {
		text-align: center;
	}
	.team-contact-info {
		gap: 20px;
		font-size: 18px;
		flex-direction: column;
	}
	.single-team__link svg {
		height: 20px;
		width: 20px;
	}
	.single-team__tagline {
		text-align: center;
	}
	.single-team__role {
		text-align: center;
	}
	.single-team__name {
		text-align: center;
	}
	.post-list-item__body {
		padding: 20px;
	}
	.post-meta-row__cat {
		width: 100%;
	}
}