.elementor-kit-2305{--e-global-color-primary:#534F4F;--e-global-color-secondary:#98B9B4;--e-global-color-text:#534F4F;--e-global-color-accent:#4C7057;--e-global-color-a247477:#F5F5F5;--e-global-color-357dfa3:#4C7057;--e-global-color-58ca85a:#E0F1EF;--e-global-color-fee2b74:#F4C5A2;--e-global-color-c15569b:#FFFFFF;--e-global-color-2711704:#FFFFFF;--e-global-color-6cebcee:#FFFFFF00;--e-global-color-6f5e1c5:#CCDCDA;--e-global-color-c106cfa:#A9A7A7;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:40px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:50px;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:normal;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:26px;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:300;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-line-height:22px;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:400;--e-global-typography-ee3b7dc-font-family:"Montserrat";--e-global-typography-ee3b7dc-font-size:60px;--e-global-typography-ee3b7dc-font-weight:600;--e-global-typography-ee3b7dc-text-transform:none;--e-global-typography-ee3b7dc-font-style:normal;--e-global-typography-ee3b7dc-text-decoration:none;--e-global-typography-ee3b7dc-line-height:65px;--e-global-typography-e2a1d57-font-family:"Montserrat";--e-global-typography-e2a1d57-font-size:14px;--e-global-typography-e2a1d57-font-weight:500;--e-global-typography-e2a1d57-text-transform:capitalize;--e-global-typography-e2a1d57-font-style:normal;--e-global-typography-e2a1d57-text-decoration:none;--e-global-typography-e2a1d57-line-height:1em;--e-global-typography-e2a1d57-letter-spacing:0px;--e-global-typography-5e6c54a-font-family:"Montserrat";--e-global-typography-5e6c54a-font-size:22px;--e-global-typography-5e6c54a-font-weight:600;--e-global-typography-5e6c54a-text-transform:none;--e-global-typography-5e6c54a-font-style:normal;--e-global-typography-5e6c54a-text-decoration:none;--e-global-typography-5e6c54a-line-height:33px;--e-global-typography-5e6c54a-letter-spacing:0px;--e-global-typography-7ce4c0e-font-family:"Montserrat";--e-global-typography-7ce4c0e-font-size:16px;--e-global-typography-7ce4c0e-font-weight:normal;--e-global-typography-7ce4c0e-text-transform:capitalize;--e-global-typography-7ce4c0e-font-style:normal;--e-global-typography-7ce4c0e-text-decoration:none;--e-global-typography-7ce4c0e-line-height:21px;--e-global-typography-ecd75eb-font-family:"Montserrat";--e-global-typography-ecd75eb-font-size:16px;--e-global-typography-ecd75eb-font-weight:bold;--e-global-typography-ecd75eb-text-transform:capitalize;--e-global-typography-ecd75eb-line-height:24px;--e-global-typography-437fbf5-font-family:"Montserrat";--e-global-typography-437fbf5-font-size:14px;--e-global-typography-437fbf5-font-weight:200;--e-global-typography-437fbf5-text-transform:none;--e-global-typography-437fbf5-font-style:normal;--e-global-typography-437fbf5-text-decoration:none;--e-global-typography-437fbf5-line-height:20px;--e-global-typography-437fbf5-letter-spacing:-0.3px;--e-global-typography-9f104be-font-family:"Montserrat";--e-global-typography-9f104be-font-size:280px;--e-global-typography-9f104be-font-weight:600;--e-global-typography-9f104be-text-transform:none;--e-global-typography-9f104be-font-style:normal;--e-global-typography-9f104be-text-decoration:none;--e-global-typography-9f104be-line-height:390px;background-color:var( --e-global-color-c15569b );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-2305 e-page-transition{background-color:#FFBC7D;}.elementor-kit-2305 a{color:#4C7057;text-decoration:underline;}.elementor-kit-2305 a:hover{color:#2F4638;text-decoration:underline;}.elementor-kit-2305 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );font-style:var( --e-global-typography-secondary-font-style );text-decoration:var( --e-global-typography-secondary-text-decoration );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-2305 img{border-radius:6px 6px 6px 6px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1415px;}.e-con{--container-max-width:1415px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-2305{--e-global-typography-primary-font-size:34px;--e-global-typography-primary-line-height:44px;--e-global-typography-secondary-font-size:20px;--e-global-typography-secondary-line-height:24px;--e-global-typography-text-font-size:14px;--e-global-typography-text-line-height:20px;--e-global-typography-accent-font-size:14px;--e-global-typography-ee3b7dc-font-size:38px;--e-global-typography-ee3b7dc-line-height:48px;--e-global-typography-ee3b7dc-letter-spacing:0.2px;--e-global-typography-e2a1d57-font-size:13px;--e-global-typography-437fbf5-font-size:14px;--e-global-typography-437fbf5-line-height:20px;--e-global-typography-9f104be-font-size:140px;--e-global-typography-9f104be-line-height:48px;--e-global-typography-9f104be-letter-spacing:0.2px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-2305 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-2305{--e-global-typography-primary-font-size:30px;--e-global-typography-primary-line-height:40px;--e-global-typography-secondary-font-size:18px;--e-global-typography-ee3b7dc-font-size:36px;--e-global-typography-ee3b7dc-line-height:40px;--e-global-typography-9f104be-line-height:40px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-2305 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* GM 2026-08-01: global link colour set to brand green + underline;
   restore button and menu text so buttons do not inherit link styling */
.elementor-button, .elementor-button:hover, .elementor-button:focus,
.elementor-button .elementor-button-text { color: #ffffff; text-decoration: none; }
.elementor-nav-menu a, .elementor-nav-menu a:hover { text-decoration: none; }

/* ---- GM practitioner card (R4, 2026-08-02) ----
   One card design shared by the team grid and the homepage carousel.
   Tokens: green #4C7057, pale-green #E0F1EF, text #534F4F.
   No entrance animations, per the standing P3 rule. */
.gm-card {
	background: #fff;
	border: 1px solid #E0F1EF;
	border-radius: 6px;
	padding: 20px 18px 22px;
	height: 100%;
}
.gm-card .elementor-widget:not(:last-child) { margin-bottom: 8px; }
.gm-card-photo img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center top;
	border-radius: 4px;
	display: block;
}
.gm-card-name .elementor-heading-title {
	font-size: 20px;
	line-height: 1.25;
	font-weight: 700;
	color: #534F4F;
	margin-top: 14px;
}
.gm-card-role .elementor-heading-title {
	font-size: 15px;
	line-height: 1.35;
	font-weight: 600;
	color: #4C7057;
}
.gm-card-creds .elementor-heading-title {
	font-size: 13px;
	line-height: 1.4;
	font-weight: 400;
	color: #6B6767;
	letter-spacing: 0.01em;
}
/* interest chips reuse the Services chip treatment */
.gm-card-interests ul { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.gm-card-interests li {
	background: #4C7057;
	color: #fff;
	font-size: 12px;
	line-height: 1.3;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 999px;
}
.gm-card a, .gm-card a:hover { text-decoration: none; }
@media (max-width: 767px) { .gm-card { padding: 16px 14px 18px; } .gm-card-name .elementor-heading-title { font-size: 18px; } }


/* ---- GM type scale (2026-09-01) ----
   A global widget default binds every heading widget to the Primary style
   (40px/600), so h1, h2 and h3 rendered identically and the pages had no
   visible hierarchy. These rules restore a scale. Specificity is one class
   higher than the default, so any per-widget override still wins.
   To revert: delete this block. */
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-icon-box h1.elementor-icon-box-title,
.elementor-widget-image-box h1.elementor-image-box-title{font-size:40px;line-height:1.2;}
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-icon-box h2.elementor-icon-box-title,
.elementor-widget-image-box h2.elementor-image-box-title{font-size:30px;line-height:1.25;}
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-icon-box h3.elementor-icon-box-title,
.elementor-widget-image-box h3.elementor-image-box-title{font-size:22px;line-height:1.35;}
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-icon-box h4.elementor-icon-box-title,
.elementor-widget-image-box h4.elementor-image-box-title{font-size:18px;line-height:1.4;}
@media(max-width:1024px){
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-icon-box h1.elementor-icon-box-title{font-size:34px;}
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-icon-box h2.elementor-icon-box-title{font-size:26px;}
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-icon-box h3.elementor-icon-box-title{font-size:20px;}
}
@media(max-width:767px){
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-icon-box h1.elementor-icon-box-title{font-size:28px;}
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-icon-box h2.elementor-icon-box-title{font-size:23px;}
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-icon-box h3.elementor-icon-box-title{font-size:19px;}
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-icon-box h4.elementor-icon-box-title{font-size:17px;}
}

/* GM button anchor colour (2026-09-01): .elementor-kit-2305 a wins over
   .elementor-button, so the anchor itself inherited the green link colour.
   Only the inner .elementor-button-text span was white. Make the anchor white
   too, so a button without that span cannot render green on green. */
.elementor-kit-2305 a.elementor-button,
.elementor-kit-2305 a.elementor-button:hover,
.elementor-kit-2305 a.elementor-button:focus{color:#ffffff;}


/* ---- GM article content typography (2026-09-01) ----
   The site had never published a post, so headings inside post content had no
   rule at all and fell through to reset.css h2{2rem}. With a 20px root that
   rendered content h2 at 40px, larger than the article H1. These rules give the
   post body its own scale, sitting below the page H1 at every breakpoint.
   Scoped to the post-content widget so no page layout is affected.
   To revert: delete this block. */
.elementor-widget-theme-post-content h2{font-size:26px;line-height:1.3;margin:1.9em 0 0.5em;}
.elementor-widget-theme-post-content h3{font-size:21px;line-height:1.35;margin:1.6em 0 0.45em;}
.elementor-widget-theme-post-content h4{font-size:18px;line-height:1.4;margin:1.4em 0 0.4em;}
.elementor-widget-theme-post-content p{margin:0 0 1.05em;}
.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol{margin:0 0 1.2em;padding-left:1.3em;}
.elementor-widget-theme-post-content li{margin:0 0 0.4em;}
.elementor-widget-theme-post-content blockquote{margin:0 0 1.6em;padding:0.15em 0 0.15em 1em;border-left:3px solid #98B9B4;font-style:italic;color:#4A554D;}
.elementor-widget-theme-post-content blockquote p{margin:0;}
.elementor-widget-theme-post-content blockquote cite{display:block;margin-top:0.4em;font-style:normal;font-size:0.85em;color:#6B7A70;}
.elementor-widget-theme-post-content .gm-article-meta{margin:0 0 1.8em;padding-bottom:0.9em;border-bottom:1px solid #DCE2DA;font-size:0.85em;color:#6B7A70;}
.elementor-widget-theme-post-content .gm-article-meta em{font-style:normal;}
@media(max-width:1024px){
.elementor-widget-theme-post-content h2{font-size:24px;}
.elementor-widget-theme-post-content h3{font-size:20px;}
}
@media(max-width:767px){
.elementor-widget-theme-post-content h2{font-size:22px;}
.elementor-widget-theme-post-content h3{font-size:19px;}
.elementor-widget-theme-post-content h4{font-size:17px;}
}/* End custom CSS */