/*
Theme Name: Salient Child
Theme URI: https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Template: salient
Author: ThemeNectar
Author URI: https://themeforest.net/user/themenectar
Description: An Ultra Responsive Multi-Purpose Theme.
Version: 12.1.0.1784706890
Updated: 2026-07-22 17:54:50

*/

/* ==================================================================
   TRIDENT MOVEMENT – 2026 REDESIGN
   Design tokens + components. Content lives in WPBakery; this file
   only styles it. Section rows use these classes in "Extra class name":
     tm-sec            standard section spacing (64px top/bottom)
     tm-sec--cream     solid cream (#FAF7F0)
     tm-sec--mint      solid mint  (#E8EDE8)
     tm-sec--to-cream  white → cream gradient
     tm-sec--from-cream cream → white gradient
     tm-sec--to-mint   white → mint gradient
     tm-banner         full-bleed photo banner with big white heading
   ================================================================== */

:root {
	--tm-sage: #7a8c7c;
	--tm-olive: #5b5f52;
	--tm-olive-dark: #4a4e43;
	--tm-cream: #faf7f0; /* was #f5f0e2 */
	--tm-mint: #e8ede8;
	--tm-ink: #292d31;
	--tm-white: #ffffff;
	--tm-radius: 8px;
	--tm-radius-lg: 12px;
	--tm-head: 'Outfit', 'Helvetica Neue', Arial, sans-serif;
	--tm-body: 'marist', Georgia, serif;
	--tm-max: 1440px;
}

/* ---------- Base type ---------- */
body,
body p,
body li,
.nectar-button,
#header-outer #top nav > ul > li > a,
#footer-outer {
	font-family: var(--tm-body);
}
body { color: var(--tm-ink); }
body p { font-size: 16px; line-height: 1.333; }

body h1, body h2, body h3, body h4, body h5, body h6 {
	font-family: var(--tm-head);
	font-weight: 300;
	color: var(--tm-ink);
	letter-spacing: 0;
}
body h1 { font-size: 96px; line-height: 1; }
body h2 { font-size: 64px; line-height: 1; }
body h3 { font-size: 32px; line-height: 1.333; font-weight: 400; }

@media (max-width: 1024px) {
	body h1 { font-size: 64px; }
	body h2 { font-size: 44px; }
	body h3 { font-size: 26px; }
}
@media (max-width: 690px) {
	body h1 { font-size: 40px; }
	body h2 { font-size: 32px; }
	body h3 { font-size: 22px; }
}

/* ---------- Tag / flag ---------- */
.tm-tag {
	display: inline-block;
	align-self: flex-start;
	background: var(--tm-sage);
	color: var(--tm-white);
	font-family: var(--tm-body);
	font-size: 16px;
	line-height: 1.333;
	padding: 6px 12px;
	border-radius: 4px;
	margin-bottom: 0;
}
.tm-tag a { color: inherit; }

/* ---------- Buttons ---------- */
.tm-btn,
.tm-btn a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--tm-sage);
	color: var(--tm-white) !important;
	font-family: var(--tm-body);
	font-size: 16px;
	line-height: 1.333;
	padding: 12px 16px;
	border-radius: var(--tm-radius);
	text-decoration: none;
	transition: background .2s ease;
}
.tm-btn:hover, .tm-btn a:hover { background: var(--tm-olive); }
.tm-btn--dark { background: var(--tm-olive); }
.tm-btn--dark:hover { background: var(--tm-olive-dark); }

/* ---------- Section rows ---------- */
.tm-sec { padding-top: 64px !important; padding-bottom: 64px !important; }
.tm-sec--cream { background: var(--tm-cream) !important; }
.tm-sec--mint { background: var(--tm-mint) !important; }
.tm-sec--to-cream { background: linear-gradient(180deg, #fff 0%, var(--tm-cream) 44%) !important; }
.tm-sec--from-cream { background: linear-gradient(180deg, var(--tm-cream) 0%, #fff 42%) !important; }
.tm-sec--to-mint { background: linear-gradient(180deg, #fff 0%, var(--tm-mint) 100%) !important; }
.tm-sec .row-bg-wrap { display: none; }
.tm-sec > .col.span_12,
.tm-sec .row_col_wrap_12 { max-width: var(--tm-max); margin-left: auto; margin-right: auto; }
.tm-sec .tm-tag { margin-bottom: 48px; }
@media (max-width: 690px) {
	.tm-sec { padding-top: 48px !important; padding-bottom: 48px !important; }
	.tm-sec .tm-tag { margin-bottom: 28px; }
}

/* ---------- Media block (image with tag overlay) ---------- */
.tm-media { position: relative; border-radius: var(--tm-radius-lg); overflow: hidden; background: var(--tm-ink); }
.tm-media img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; margin: 0 !important; }
.tm-media .tm-tag { position: absolute; top: 24px; left: 24px; margin: 0; }
.tm-video video, .tm-video .nectar-video-wrap, .tm-video iframe { border-radius: var(--tm-radius-lg); overflow: hidden; }

/* ---------- Conditions list ---------- */
.tm-conditions { list-style: none; margin: 0 !important; padding: 0 !important; }
.tm-conditions li { margin: 0 0 8px; padding: 0; list-style: none; font-family: var(--tm-head); font-weight: 300; font-size: 64px; line-height: 1; }
.tm-conditions li a { color: rgba(41, 45, 49, .25); transition: color .25s ease; text-decoration: none; }
.tm-conditions li a:hover,
.tm-conditions li a:focus,
.tm-conditions li.is-active a { color: var(--tm-ink); }
@media (max-width: 1024px) { .tm-conditions li { font-size: 44px; } }
@media (max-width: 690px) { .tm-conditions li { font-size: 32px; } }

/* ---------- Image cards ---------- */
.tm-cards { display: grid; gap: 24px; }
.tm-card { position: relative; display: flex; flex-direction: column; background-size: cover; background-position: center; border-radius: var(--tm-radius); overflow: hidden; text-decoration: none; color: var(--tm-white); }
.tm-card--slider,
.tm-card--grid { padding: 24px; justify-content: space-between; isolation: isolate; }
.tm-card--slider::before,
.tm-card--grid::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.85) 100%); transition: opacity .3s ease; }
.tm-card--slider:hover::before,
.tm-card--grid:hover::before { opacity: .75; }
.tm-card__title { font-family: 'Inter Tight', var(--tm-head); font-weight: 200; font-size: 48px; line-height: 1.2; color: var(--tm-white); }

/* Service slider – horizontal scroll with snap */
.tm-cards--slider { grid-auto-flow: column; grid-auto-columns: minmax(300px, 464px); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; scrollbar-width: thin; }
.tm-cards--slider .tm-card { aspect-ratio: 464 / 696; scroll-snap-align: start; }

/* Feature grid – 3 across */
.tm-cards--grid { grid-template-columns: repeat(3, 1fr); }
.tm-cards--grid .tm-card { aspect-ratio: 608 / 430; justify-content: flex-end; gap: 10px; }

/* Team grid */
.tm-cards--team { grid-template-columns: repeat(3, 1fr); row-gap: 48px; }
.tm-card--team { color: var(--tm-ink); background: none; border-radius: 0; overflow: visible; gap: 16px; }
.tm-card--team .tm-card__media { position: relative; aspect-ratio: 464 / 348; border-radius: var(--tm-radius); background-color: var(--tm-olive); background-size: cover; background-position: center 20%; }
.tm-card--team .tm-card__media .tm-tag { position: absolute; left: 24px; bottom: 24px; }
.tm-card__name { margin: 8px 0 0 !important; padding: 0 !important; }
.tm-card__text { margin: 0 !important; padding: 0 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tm-card__more { color: #000; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1024px) {
	.tm-cards--grid, .tm-cards--team { grid-template-columns: repeat(2, 1fr); }
	.tm-card__title { font-size: 36px; }
}
@media (max-width: 690px) {
	.tm-cards--grid, .tm-cards--team { grid-template-columns: 1fr; }
	.tm-cards--slider { grid-auto-columns: 80%; }
	.tm-card__title { font-size: 30px; }
}

/* ---------- Photo banner ---------- */
.tm-banner { position: relative; min-height: 540px; display: flex !important; align-items: center; }
.tm-banner .row-bg-wrap .row-bg-overlay,
.tm-banner::after { content: ""; position: absolute; inset: 0; background: rgba(41, 45, 49, .45); z-index: 1; pointer-events: none; }
.tm-banner > * { position: relative; z-index: 2; }
.tm-banner h2 { color: var(--tm-white); font-size: 96px; max-width: 895px; margin: 0 auto 24px; text-align: center; }
@media (max-width: 1024px) { .tm-banner h2 { font-size: 56px; } }
@media (max-width: 690px) { .tm-banner { min-height: 420px; } .tm-banner h2 { font-size: 36px; } }

/* ---------- Booking embed ---------- */
.tm-booking iframe { width: 100%; border: 0; border-radius: var(--tm-radius); max-width: 954px; display: block; margin: 0 auto; }

/* ==================================================================
   HERO – scattered parallax marquee (from Matt's concept)
   Three layers, each looping at its own speed. 4 copies of each
   layer's cards; the track moves one copy (-25%) per loop.
   ================================================================== */
.px {
	--px-h: 680px;
	position: relative;
	width: 100%;
	height: var(--px-h);
	overflow: hidden;
	background: var(--tm-ink);
	isolation: isolate;
}
.px__l {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	display: flex;
	align-items: center;
	width: max-content;
	will-change: transform;
	gap: var(--g);
	padding-right: var(--g); /* makes -25% land exactly on one copy */
}
.px__l1 { --g: 240px; animation: px-scroll 102s linear infinite; filter: brightness(.55); z-index: 1; }
.px__l2 { --g: 210px; animation: px-scroll  62s linear infinite; filter: brightness(.78); z-index: 2; }
.px__l3 { --g: 400px; animation: px-scroll  76s linear infinite; z-index: 3; }
@keyframes px-scroll { from { transform: translateX(0); } to { transform: translateX(-25%); } }
.px:hover .px__l { animation-play-state: paused; }

.px__c { position: relative; flex-shrink: 0; border-radius: 16px; overflow: hidden; }
.px__c img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0 !important; }

.s1 { width: 228px; height: 306px; transform: translateY(-266px); }
.s2 { width: 293px; height: 195px; transform: translateY(234px); }
.m1 { width: 358px; height: 241px; transform: translateY(205px); }
.m2 { width: 306px; height: 403px; transform: translateY(-166px); }
.f1 { width: 468px; height: 624px; transform: translateY(81px); }
.f2 { width: 514px; height: 345px; transform: translateY(-185px); }

.px__scrim { position: absolute; inset: 0; background: rgba(41, 45, 49, .5); z-index: 4; }
.px__content {
	position: absolute; inset: 0; z-index: 5;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 22px; text-align: center; padding: 0 24px; pointer-events: none;
}
body .px__title { font-family: var(--tm-head); font-weight: 300; font-size: 82px; line-height: 1; color: #fff; margin: 0; padding: 0; max-width: 895px; }
body .px__sub { font-family: var(--tm-body); font-size: 22px; line-height: 1.33; color: rgba(255, 255, 255, .9); margin: 0; padding: 0; }
.px__btn {
	pointer-events: auto; display: inline-flex; align-items: center; gap: 6px;
	background: var(--tm-olive); color: #fff !important; font-family: var(--tm-body); font-size: 16px;
	padding: 13px 22px; border-radius: var(--tm-radius); text-decoration: none; margin-top: 6px;
	transition: background .2s ease;
}
.px__btn:hover { background: var(--tm-olive-dark); }

@media (max-width: 1024px) {
	.px { --px-h: 560px; }
	.px__l1 { --g: 165px; animation-duration: 100s; }
	.px__l2 { --g: 145px; animation-duration: 60s; }
	.px__l3 { --g: 285px; animation-duration: 75s; }
	.s1 { width: 166px; height: 224px; transform: translateY(-205px); }
	.s2 { width: 215px; height: 143px; transform: translateY(182px); }
	.m1 { width: 260px; height: 176px; transform: translateY(159px); }
	.m2 { width: 224px; height: 294px; transform: translateY(-127px); }
	.f1 { width: 341px; height: 455px; transform: translateY(62px); }
	.f2 { width: 374px; height: 252px; transform: translateY(-140px); }
	body .px__title { font-size: 54px; }
	body .px__sub { font-size: 18px; }
}
@media (max-width: 768px) {
	.px { --px-h: 470px; }
	.px__l1 { --g: 90px; animation-duration: 68s; }
	.px__l2 { --g: 78px; animation-duration: 41s; }
	.px__l3 { --g: 150px; animation-duration: 48s; }
	.s1 { width: 109px; height: 146px; transform: translateY(-177px); }
	.s2 { width: 140px; height: 94px; transform: translateY(156px); }
	.m1 { width: 172px; height: 116px; transform: translateY(135px); }
	.m2 { width: 147px; height: 194px; transform: translateY(-109px); }
	.f1 { width: 224px; height: 299px; transform: translateY(52px); }
	.f2 { width: 247px; height: 166px; transform: translateY(-120px); }
	body .px__title { font-size: 34px; }
	body .px__sub { font-size: 15px; }
	.px__content { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.px__l { animation: none; }
}

/* ---------- Polish (round 1) ---------- */
.tm-card--slider .tm-card__title { margin-top: auto; }
.tm-card--slider .tm-tag + .tm-card__title { margin-top: auto; }
.tm-banner { padding: 96px 0 !important; }
.tm-banner .row_col_wrap_12 { width: 100%; align-items: center; }
.tm-banner p { margin: 0 !important; padding: 0 !important; }
.tm-video .nectar-video-wrap, .tm-video video { width: 100%; display: block; }
@media (max-width: 1024px) {
	.tm-cards--grid { grid-template-columns: repeat(3, 1fr); }
	.tm-cards--grid .tm-card { aspect-ratio: 3 / 4; }
}
@media (max-width: 690px) {
	.tm-cards--grid { grid-template-columns: 1fr; }
	.tm-cards--grid .tm-card { aspect-ratio: 608 / 430; }
	.tm-banner { padding: 64px 0 !important; }
}

/* ==================================================================
   HEADER + FOOTER (colours/logo/menus are set in Salient options;
   this only fine-tunes spacing and type to match the Figma)
   ================================================================== */
#header-outer #top nav > ul > li > a { font-family: var(--tm-body); font-size: 16px; }
#header-outer #top nav > ul > li.button_solid_color_2 > a:before,
#header-outer #top nav > ul > li.button_solid_color_2 > a { background-color: var(--tm-sage) !important; }
#header-outer #top nav > ul > li.button_solid_color_2 > a { color: #fff !important; border-radius: var(--tm-radius); }
#header-outer #top nav > ul > li.button_solid_color_2 > a:hover:before { background-color: var(--tm-olive) !important; }
#header-secondary-outer { font-family: var(--tm-body); }

#footer-outer #footer-widgets { padding: 96px 0 96px; }
#footer-outer #footer-widgets .container { max-width: var(--tm-max); }
#footer-outer .widget h4,
#footer-outer .widget .widget-title,
#footer-outer .widget h4.widgettitle {
	font-family: var(--tm-body) !important; font-size: 16px !important; font-weight: 400 !important;
	text-transform: none !important; letter-spacing: 0 !important; color: var(--tm-olive) !important; margin-bottom: 10px !important;
}
#footer-outer .widget p,
#footer-outer .widget li { font-family: var(--tm-body); font-size: 16px; line-height: 1.333; color: var(--tm-ink); margin-bottom: 6px; padding-bottom: 0; }
#footer-outer .widget a { color: var(--tm-ink); }
#footer-outer .tm-u,
#footer-outer .tm-footer-links a { text-decoration: underline; text-underline-offset: 3px; }
#footer-outer .tm-footer-links { list-style: none; margin: 0; padding: 0; }
#footer-outer .tm-footer-links li { list-style: none; padding: 0; margin: 0 0 6px; border: 0; }
.tm-footer-news { max-width: 342px; }
body .tm-footer-news__title { font-family: var(--tm-head); font-size: 32px; line-height: 1.333; font-weight: 400; color: var(--tm-ink); margin: 0 0 24px; }
.tm-footer-news__form:empty { display: none; }
.tm-footer-news__form { margin-bottom: 24px; }
.tm-footer-news__small { font-size: 16px; }
#footer-outer #copyright { border-top: 1px solid var(--tm-ink) !important; }
#footer-outer #copyright p { font-family: var(--tm-body); color: var(--tm-ink); }
@media (min-width: 1000px) {
	#footer-outer #footer-widgets .row { display: flex; gap: 24px; }
	#footer-outer #footer-widgets .col { float: none; margin: 0 !important; }
	#footer-outer #footer-widgets .col:first-child { flex: 1 1 auto; width: auto; }
	#footer-outer #footer-widgets .col:not(:first-child) { flex: 0 0 220px; width: 220px; }
}
@media (max-width: 999px) {
	#footer-outer #footer-widgets { padding: 64px 0; }
	#footer-outer #footer-widgets .col { margin-bottom: 32px; }
}

/* Footer type – stronger selectors to beat Salient's widget heading sizes */
html body #footer-outer #footer-widgets .widget h4 { font-family: var(--tm-body) !important; font-size: 16px !important; line-height: 1.333 !important; font-weight: 400 !important; color: var(--tm-olive) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 10px !important; }
html body #footer-outer #footer-widgets .tm-footer-news__title { font-family: var(--tm-head) !important; font-size: 32px !important; line-height: 1.333 !important; font-weight: 400 !important; letter-spacing: 0 !important; color: var(--tm-ink) !important; }
html body #footer-outer #footer-widgets .widget p { margin: 0 0 8px !important; padding: 0 !important; }

/* ==================================================================
   INNER PAGES – page heading, content sections, lists, FAQs, CTA
   Row classes: tm-page-head, tm-sec, tm-cta
   ================================================================== */
.tm-page-head { padding-top: 96px !important; padding-bottom: 64px !important; background: linear-gradient(180deg, var(--tm-mint) 0%, #fff 100%) !important; }
.tm-page-head h1 { margin: 0 0 24px !important; }
.tm-page-head .tm-lede { font-family: var(--tm-head); font-weight: 300; font-size: 32px; line-height: 1.25; max-width: 900px; margin: 0; }
.tm-page-head .tm-media img { aspect-ratio: 4 / 3; }
.tm-sec h2 { margin: 0 0 24px; }
.tm-sec .tm-body p, .tm-sec .tm-body li { font-size: 18px; line-height: 1.5; }
.tm-body { max-width: 760px; }
.tm-body ul, .tm-body ol { margin: 0 0 24px 1.2em !important; }
.tm-body ul li { list-style: disc; margin-bottom: 8px; }
.tm-body ol li { list-style: decimal; margin-bottom: 8px; }
.tm-body strong { font-weight: 700; }
.tm-sec--split .tm-sec__head .tm-tag { margin-bottom: 24px; }
.tm-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px 48px; }
.tm-grid-2 h3 { font-size: 26px; margin: 0 0 8px; }
.tm-grid-2 p { margin: 0; }
.tm-faq { max-width: 900px; border-top: 1px solid rgba(41,45,49,.2); }
.tm-faq__item { border-bottom: 1px solid rgba(41,45,49,.2); }
.tm-faq__q { cursor: pointer; list-style: none; font-family: var(--tm-head); font-size: 24px; font-weight: 400; line-height: 1.3; padding: 24px 48px 24px 0; position: relative; color: var(--tm-ink); }
.tm-faq__q::-webkit-details-marker { display: none; }
.tm-faq__q::after { content: "+"; position: absolute; right: 8px; top: 20px; font-size: 32px; font-weight: 300; color: var(--tm-sage); transition: transform .2s ease; }
.tm-faq__item[open] .tm-faq__q::after { transform: rotate(45deg); }
.tm-faq__a { padding: 0 48px 24px 0; }
.tm-faq__a p { font-size: 18px; line-height: 1.5; margin: 0 0 12px; }
.tm-cta { background: var(--tm-olive) !important; padding: 80px 0 !important; text-align: center; }
.tm-cta h2 { color: #fff; margin: 0 0 24px; }
.tm-cta .tm-btn { background: var(--tm-sage); }
@media (max-width: 999px) { .tm-grid-2 { grid-template-columns: 1fr; } .tm-page-head { padding-top: 64px !important; } .tm-page-head .tm-lede { font-size: 24px; } }

/* Inner pages – round 2 */
body:has(.tm-page-head) #page-header-wrap,
body:has(.tm-page-head) #page-header-bg { display: none !important; }
.tm-sec--split h2 { font-size: 44px; line-height: 1.1; }
.tm-sec--split { padding-top: 56px !important; padding-bottom: 56px !important; }
.tm-sec--split + .tm-sec--split { padding-top: 0 !important; }
@media (max-width: 690px) { .tm-sec--split h2 { font-size: 32px; } }
/* Header – keep the centred logo clear of the menus on laptop widths */
@media (min-width: 1000px) and (max-width: 1400px) {
	#header-outer #top nav > ul > li > a { padding-left: 8px !important; padding-right: 8px !important; font-size: 15px !important; }
	#header-outer #logo img { height: 28px !important; }
}

/* ==================================================================
   ROUND 3 FEEDBACK (Oct 2026)
   ================================================================== */

/* #11 Section backgrounds run edge to edge (rows sit inside the
   container, so paint the colour on a full-bleed layer behind them). */
html, body { overflow-x: clip; }
.tm-sec--cream, .tm-sec--mint, .tm-sec--to-cream, .tm-sec--from-cream, .tm-sec--to-mint, .tm-page-head, .tm-cta {
	background: none !important; position: relative; isolation: isolate;
}
.tm-sec--cream::before, .tm-sec--mint::before, .tm-sec--to-cream::before, .tm-sec--from-cream::before, .tm-sec--to-mint::before, .tm-page-head::before, .tm-cta::before {
	content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 100vw; margin-left: -50vw; z-index: -1; pointer-events: none;
}
.tm-sec--cream::before { background: var(--tm-cream); }
.tm-sec--mint::before { background: var(--tm-mint); }
.tm-sec--to-cream::before { background: linear-gradient(180deg, #fff 0%, var(--tm-cream) 44%); }
.tm-sec--from-cream::before { background: linear-gradient(180deg, var(--tm-cream) 0%, #fff 42%); }
.tm-sec--to-mint::before { background: linear-gradient(180deg, #fff 0%, var(--tm-mint) 100%); }
.tm-page-head::before { background: linear-gradient(180deg, var(--tm-mint) 0%, #fff 100%); }
.tm-cta::before { background: var(--tm-olive); }

/* #9 Rounded bottom corners on the nav bar */
#header-outer { border-radius: 0 0 20px 20px; }
#header-outer #top { border-radius: 0 0 20px 20px; }

/* #3 Book now (header) – one clean button, no Salient hover pill */
#header-outer #top nav > ul > li.button_solid_color_2 > a:before,
#header-outer #top nav > ul > li.button_solid_color_2 > a:after { display: none !important; }
#header-outer #top nav > ul > li.button_solid_color_2 > a {
	background-color: var(--tm-sage) !important; color: #fff !important; border-radius: var(--tm-radius) !important;
	padding: 10px 16px !important; line-height: 1.3 !important; margin-left: 8px; transition: background-color .2s ease;
}
#header-outer #top nav > ul > li.button_solid_color_2 > a:hover,
#header-outer #top nav > ul > li.button_solid_color_2 > a:focus { background-color: var(--tm-olive) !important; color: #fff !important; }
#header-outer #top nav > ul > li.button_solid_color_2 > a .menu-title-text { color: #fff !important; }

/* #5 #6 Conditions – tag above the list, photo swaps on hover / scroll */
.tm-cond { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.tm-cond__list .tm-tag { margin: 0 0 32px !important; }
.tm-cond__media { position: relative; aspect-ratio: 1 / 1; border-radius: var(--tm-radius-lg); overflow: hidden; background: var(--tm-cream); position: sticky; top: 120px; }
.tm-cond__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; margin: 0 !important; opacity: 0; transition: opacity .45s ease; }
.tm-cond__media img.is-active { opacity: 1; }
.tm-cond .tm-conditions li a { display: inline-block; padding: 2px 0; }
@media (max-width: 999px) {
	.tm-cond { grid-template-columns: 1fr; gap: 24px; }
	.tm-cond__media { order: -1; top: 84px; z-index: 2; aspect-ratio: 4 / 3; max-height: 46vh; width: 100%; box-shadow: 0 12px 24px -16px rgba(0,0,0,.35); }
	.tm-cond__list { padding-bottom: 30vh; }
	.tm-cond .tm-conditions li { margin: 0; padding: 3.5vh 0; }
}

/* #7 #8 #10 Team cards – whole card clickable, tag sits on the photo's bottom edge, smaller names */
a.tm-card--team { text-decoration: none; color: var(--tm-ink); }
.tm-card--team .tm-card__media { display: block; transition: transform .35s ease, filter .35s ease; }
.tm-sec .tm-card--team .tm-card__media .tm-tag,
.tm-card--team .tm-card__media .tm-tag { position: absolute; left: 24px; bottom: 24px; margin: 0 !important; }
.tm-card--team .tm-card__name { display: block; font-family: var(--tm-head); font-size: 24px !important; font-weight: 400; line-height: 1.3; margin: 8px 0 0 !important; color: var(--tm-ink); }
.tm-card--team .tm-card__text { display: -webkit-box; color: var(--tm-ink); font-size: 16px; line-height: 1.4; }
.tm-card--team .tm-card__more { display: inline-block; color: #000; text-decoration: underline; text-underline-offset: 3px; }
a.tm-card--team:hover .tm-card__media { filter: brightness(1.05); transform: translateY(-4px); }
a.tm-card--team:hover .tm-card__more { color: var(--tm-sage); }
a.tm-card--team:focus-visible { outline: 2px solid var(--tm-sage); outline-offset: 6px; border-radius: var(--tm-radius); }

/* #12 "Raising the standard" – white statement, more breathing room */
.tm-statement { padding: 160px 0 !important; text-align: center; }
.tm-statement h2 { font-size: 96px; line-height: 1; max-width: 1000px; margin: 0 auto 40px !important; color: var(--tm-ink); }
.tm-statement p { margin: 0 !important; }
@media (max-width: 1024px) { .tm-statement { padding: 112px 0 !important; } .tm-statement h2 { font-size: 56px; } }
@media (max-width: 690px) { .tm-statement { padding: 80px 0 !important; } .tm-statement h2 { font-size: 36px; } }

/* #2 Newsletter field (Contact Form 7 in the footer) */
.tm-news-form { display: flex; gap: 8px; }
.tm-news-form .wpcf7-form-control-wrap { flex: 1 1 auto; }
.tm-news-form input[type=email] {
	width: 100%; background: var(--tm-sage) !important; color: #fff !important; border: 0 !important; border-radius: var(--tm-radius) !important;
	padding: 12px 16px !important; font-family: var(--tm-body) !important; font-size: 16px !important; line-height: 1.333 !important; box-shadow: none !important;
}
.tm-news-form input[type=email]::placeholder { color: rgba(255,255,255,.9); }
.tm-news-form input[type=submit] {
	background: var(--tm-ink) !important; color: #fff !important; border: 0 !important; border-radius: var(--tm-radius) !important;
	padding: 12px 16px !important; font-family: var(--tm-body) !important; font-size: 16px !important; line-height: 1.333 !important; cursor: pointer;
}
.tm-news-form input[type=submit]:hover { background: var(--tm-olive) !important; }
.tm-footer-news .wpcf7-spinner { position: absolute; }
.tm-footer-news .wpcf7-response-output { margin: 12px 0 0 !important; padding: 8px 12px !important; border-radius: var(--tm-radius); font-size: 14px; }
.tm-footer-news .wpcf7-not-valid-tip { font-size: 14px; margin-top: 6px; }

/* #1 Cookie bar – branded floating card */
#cookie-notice { left: 24px !important; right: 24px !important; bottom: 24px !important; width: auto !important; min-width: 0 !important; max-width: 960px; margin: 0 auto; border-radius: var(--tm-radius-lg); box-shadow: 0 12px 32px -12px rgba(41,45,49,.35); font-family: var(--tm-body) !important; }
#cookie-notice .cookie-notice-container { padding: 16px 24px !important; display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; text-align: left; }
#cookie-notice #cn-notice-text { font-family: var(--tm-body) !important; font-size: 15px !important; line-height: 1.4; color: var(--tm-ink) !important; }
#cookie-notice #cn-notice-buttons { display: inline-flex; gap: 12px; align-items: center; }
#cookie-notice .cn-button, #cookie-notice #cn-accept-cookie {
	background: var(--tm-sage) !important; color: #fff !important; border: 0 !important; border-radius: var(--tm-radius) !important;
	padding: 10px 16px !important; font-family: var(--tm-body) !important; font-size: 15px !important; line-height: 1.3 !important; margin: 0 !important; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important;
}
#cookie-notice .cn-button:hover { background: var(--tm-olive) !important; }
#cookie-notice #cn-more-info { background: none !important; color: var(--tm-ink) !important; padding: 0 !important; text-decoration: underline; text-underline-offset: 3px; }
#cookie-notice #cn-close-notice { opacity: .6; }
@media (max-width: 690px) { #cookie-notice { left: 12px !important; right: 12px !important; bottom: 12px !important; } #cookie-notice .cookie-notice-container { justify-content: flex-start; padding: 16px !important; } }

/* NEWSLETTER BUTTON FIX */
html body #footer-outer #footer-widgets .tm-news-form input.wpcf7-submit,
html body .tm-news-form input[type="submit"]{background:#292d31 !important;color:#fff !important;opacity:1 !important;border:0 !important;border-radius:6px;padding:12px 28px !important;font-size:14px;cursor:pointer;transition:background .2s}
html body #footer-outer #footer-widgets .tm-news-form input.wpcf7-submit:hover{background:#7a8c7c !important}

/* STICKY FIX: Salient sets body{overflow:hidden}, which makes body a scroll container and breaks position:sticky. Clip horizontally only. */
html body { overflow-y: visible; overflow-x: clip; }

/* ==================================================================
   SERVICES CAROUSEL – starts on the container's left edge, bleeds off
   the right of the screen, arrows + progress line underneath
   ================================================================== */
.tm-slider { position: relative; }
.tm-slider .tm-cards.tm-cards--slider {
	display: grid; grid-auto-flow: column; grid-auto-columns: clamp(260px, 30vw, 440px); gap: 16px;
	overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth;
	margin: -8px calc(50% - 50vw) 0 0; padding: 8px calc(50vw - 50%) 8px 0;
	scrollbar-width: none;
}
.tm-slider .tm-cards--slider::-webkit-scrollbar { display: none; }
.tm-slider .tm-card--slider { aspect-ratio: 4 / 5; scroll-snap-align: start; border-radius: var(--tm-radius-lg); }
.tm-slider .tm-card--slider .tm-card__title { font-size: 36px; line-height: 1.15; }
.tm-slider__nav { margin-top: 24px; }
.tm-slider__bar { display: block; position: relative; height: 1px; background: rgba(41, 45, 49, .15); overflow: hidden; }
.tm-slider__progress { position: absolute; left: 0; top: 0; height: 100%; width: 30%; background: var(--tm-ink); transition: transform .3s ease; }
.tm-slider__arrows { display: flex; justify-content: flex-end; gap: 12px; margin-top: 20px; }
html body .tm-slider__btn {
	width: 44px; height: 44px; padding: 0; margin: 0; border: 0; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--tm-ink); color: #fff; cursor: pointer; box-shadow: none;
	transition: background-color .2s ease, color .2s ease;
}
html body .tm-slider__btn svg { width: 20px; height: 20px; }
html body .tm-slider__btn:hover { background: var(--tm-sage); }
html body .tm-slider__btn:disabled { background: transparent; color: rgba(41, 45, 49, .4); cursor: default; }
html body .tm-slider__btn:focus-visible { outline: 2px solid var(--tm-sage); outline-offset: 3px; }
.tm-slider.is-static .tm-slider__nav { display: none; }
@media (max-width: 690px) {
	.tm-slider .tm-cards.tm-cards--slider { grid-auto-columns: 78%; gap: 12px; }
	.tm-slider .tm-card--slider .tm-card__title { font-size: 28px; }
}

/* ==================================================================
   SHARED HOVER – the default interaction for large clickable
   components (cards, tiles, post cards). Buttons keep colour changes.
   ================================================================== */
:root { --tm-lift: translateY(-4px); --tm-lift-ease: .35s cubic-bezier(.2, .7, .2, 1); }
.tm-card--slider, .tm-card--grid, .tm-card--team .tm-card__media,
.nectar-post-grid-item, .masonry-blog-item .inner-wrap, .blog-recent .inner-wrap, .related-posts .inner-wrap, .nectar-fancy-box {
	transition: transform var(--tm-lift-ease), filter var(--tm-lift-ease);
}
@media (hover: hover) {
	a.tm-card--slider:hover, a.tm-card--grid:hover, a.tm-card--team:hover .tm-card__media,
	.nectar-post-grid-item:hover, .masonry-blog-item:hover .inner-wrap, .blog-recent article:hover .inner-wrap,
	.related-posts .inner-wrap:hover, .nectar-fancy-box:hover {
		transform: var(--tm-lift); filter: brightness(1.05);
	}
}
a.tm-card--slider:focus-visible, a.tm-card--grid:focus-visible { transform: var(--tm-lift); outline: 2px solid var(--tm-sage); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
	.tm-card--slider, .tm-card--grid, .tm-card--team .tm-card__media, .nectar-post-grid-item,
	.masonry-blog-item .inner-wrap, .blog-recent .inner-wrap, .related-posts .inner-wrap, .nectar-fancy-box { transition: none; transform: none !important; }
}

/* ==================================================================
   NEWSLETTER – one rounded field with the button inset on the right
   ================================================================== */
html body #footer-outer #footer-widgets .tm-news-form,
html body .tm-news-form {
	display: flex; align-items: center; gap: 8px; max-width: 460px; position: relative;
	background: var(--tm-sage); border: 1px solid rgba(255, 255, 255, .25); border-radius: 16px; padding: 6px;
}
html body .tm-news-form p { display: contents; }
html body .tm-news-form br { display: none; }
html body #footer-outer #footer-widgets .tm-news-form .wpcf7-form-control-wrap { flex: 1 1 auto; min-width: 0; }
html body #footer-outer #footer-widgets .tm-news-form input[type="email"],
html body .tm-news-form input[type="email"] {
	width: 100%; background: transparent !important; border: 0 !important; box-shadow: none !important;
	color: #fff !important; font-size: 16px; padding: 12px 14px !important; margin: 0 !important;
}
html body .tm-news-form input[type="email"]::placeholder { color: rgba(255, 255, 255, .85); }
html body #footer-outer #footer-widgets .tm-news-form input.wpcf7-submit,
html body .tm-news-form input[type="submit"] {
	flex: 0 0 auto; background: #fff !important; color: var(--tm-ink) !important; opacity: 1 !important;
	border: 0 !important; border-radius: 12px !important; padding: 12px 24px !important; margin: 0 !important;
	font-size: 16px; line-height: 1.3; cursor: pointer; transition: background-color .2s ease;
}
html body #footer-outer #footer-widgets .tm-news-form input.wpcf7-submit:hover,
html body .tm-news-form input[type="submit"]:hover { background: var(--tm-cream) !important; }
html body .tm-news-form .wpcf7-spinner { position: absolute; margin: 0; right: -32px; }
html body #footer-outer #footer-widgets .tm-news-form input.wpcf7-submit { font-weight: 400 !important; }

/* Carousel – slide edge to edge on both sides (no clipping at the container's
   left edge), while the first card still lines up with the container at rest */
.tm-slider .tm-cards.tm-cards--slider {
	margin: -8px calc(50% - 50vw) 0; padding: 8px calc(50vw - 50%);
	scroll-padding-inline: calc(50vw - 50%);
}
.tm-slider__arrows { align-items: center; }
.tm-slider__more {
	margin-right: 12px; font-family: var(--tm-body); font-size: 16px; color: var(--tm-ink);
	text-decoration: underline; text-underline-offset: 3px; transition: color .2s ease;
}
.tm-slider__more:hover { color: var(--tm-sage); }

/* Section headings (H2) under the green tag */
.tm-sec .tm-sec-title, .tm-cond__title {
	font-family: var(--tm-head); font-weight: 300; font-size: 48px; line-height: 1.1; color: var(--tm-ink);
	max-width: 900px; margin: 16px 0 40px !important; padding: 0;
}
@media (max-width: 690px) {
	.tm-sec .tm-sec-title, .tm-cond__title { font-size: 32px; margin-bottom: 28px !important; }
}

/* Conditions – make it obvious the items are links: an arrow button slides in
   beside the highlighted condition, and the photo carries a "Learn more" pill */
.tm-conditions li a { display: inline-flex; align-items: center; gap: 20px; }
.tm-conditions li a::after {
	content: ""; flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%;
	background: var(--tm-sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 22px no-repeat;
	opacity: 0; transform: translateX(-12px); transition: opacity .3s ease, transform .3s ease, background-color .2s ease;
}
.tm-conditions li.is-active a::after { opacity: 1; transform: none; }
.tm-conditions li a:hover::after { background-color: var(--tm-olive); }
.tm-cond__media { cursor: pointer; }
.tm-cond__media::after {
	content: "Learn more \2192"; position: absolute; left: 24px; bottom: 24px; z-index: 3;
	background: #fff; color: var(--tm-ink); font-family: var(--tm-body); font-size: 16px; line-height: 1;
	padding: 12px 16px; border-radius: var(--tm-radius); transition: background-color .2s ease;
}
.tm-cond__media:hover::after { background: var(--tm-cream); }
@media (max-width: 999px) {
	.tm-conditions li a { gap: 14px; }
	.tm-conditions li a::after { width: 36px; height: 36px; background-size: 18px; }
	.tm-cond__media::after { left: 16px; bottom: 16px; font-size: 14px; padding: 10px 14px; }
}
.tm-cond .tm-conditions li a { display: inline-flex; align-items: center; }
.tm-cond .tm-conditions li a::after { display: inline-block; }

/* ==================================================================
   TEAM CAROUSEL – one row of practitioner cards: availability, name,
   title and main services (uses the same carousel as services)
   ================================================================== */
.tm-slider .tm-cards.tm-cards--team-slider { grid-auto-columns: clamp(250px, 22vw, 310px); }
.tm-cards--slider .tm-card.tm-card--person { aspect-ratio: auto; }
.tm-card.tm-card--person {
	display: flex; flex-direction: column; background: #fff; color: var(--tm-ink); text-decoration: none;
	border: 1px solid rgba(41, 45, 49, .1); border-radius: 16px; padding: 10px; overflow: visible; scroll-snap-align: start;
	transition: transform var(--tm-lift-ease), box-shadow var(--tm-lift-ease);
}
.tm-card--person .tm-card__media { display: block; aspect-ratio: 4 / 5; border-radius: 10px; background-color: var(--tm-mint); background-size: cover; background-position: center 20%; }
.tm-card--person .tm-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 16px 8px 8px; }
.tm-card__status { display: inline-flex; align-items: center; gap: 8px; font-family: var(--tm-body); font-size: 13px; line-height: 1.2; color: var(--tm-olive); }
.tm-card__status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #3f9d5b; box-shadow: 0 0 0 3px rgba(63, 157, 91, .18); }
.tm-sec .tm-card--person .tm-card__name, .tm-card--person .tm-card__name {
	font-family: var(--tm-head); font-weight: 400; font-size: 24px !important; line-height: 1.2 !important; color: var(--tm-ink);
	margin: 2px 0 0 !important; padding: 0;
}
.tm-card--person .tm-card__role { font-family: var(--tm-body); font-size: 15px; line-height: 1.4; color: var(--tm-olive); }
.tm-card--person .tm-card__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.tm-chip { font-family: var(--tm-body); font-size: 13px; line-height: 1; padding: 7px 10px; border-radius: 6px; background: var(--tm-mint); color: var(--tm-ink); }
@media (hover: hover) {
	a.tm-card--person:hover { transform: var(--tm-lift); box-shadow: 0 14px 32px rgba(41, 45, 49, .08); }
}
a.tm-card--person:focus-visible { outline: 2px solid var(--tm-sage); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { .tm-card.tm-card--person { transition: none; transform: none !important; } }
/* Service chips – compact 24px tags */
.tm-card--person .tm-card__chips { gap: 4px; margin-top: 8px; }
.tm-chip { display: inline-flex; align-items: center; height: 24px; padding: 0 8px; font-size: 12px; line-height: 1; border-radius: 5px; white-space: nowrap; }
/* Newsletter – slimmer field (approx. 44px tall) */
html body #footer-outer #footer-widgets .tm-news-form, html body .tm-news-form { padding: 4px; border-radius: 12px; max-width: 420px; }
html body #footer-outer #footer-widgets .tm-news-form input[type="email"], html body .tm-news-form input[type="email"] { padding: 8px 12px !important; font-size: 15px; height: 36px; line-height: 20px; }
html body #footer-outer #footer-widgets .tm-news-form input.wpcf7-submit, html body .tm-news-form input[type="submit"] { padding: 0 18px !important; height: 36px; font-size: 15px; line-height: 36px; border-radius: 9px !important; }
/* Carousels – room inside the scroll area for the hover lift + shadow (no clipping) */
.tm-slider .tm-cards.tm-cards--slider { padding-top: 14px; padding-bottom: 48px; margin-top: -14px; margin-bottom: -40px; }
@media (hover: hover) { a.tm-card--person:hover { box-shadow: 0 10px 24px rgba(41, 45, 49, .08); } }

/* HERO v2 – 4 different photos per layer, 3 copies; each loop moves one copy (-33.333%).
   Roughly 30% faster than before. */
@keyframes px-scroll3 { from { transform: translateX(0); } to { transform: translateX(-33.3333%); } }
.px__l1 { animation: px-scroll3 150s linear infinite; }
.px__l2 { animation: px-scroll3 92s linear infinite; }
.px__l3 { animation: px-scroll3 115s linear infinite; }
@media (max-width: 1024px) {
	.px__l1 { animation-duration: 150s; } .px__l2 { animation-duration: 90s; } .px__l3 { animation-duration: 112s; }
}
@media (max-width: 768px) {
	.px__l1 { animation-duration: 104s; } .px__l2 { animation-duration: 62s; } .px__l3 { animation-duration: 72s; }
}
@media (prefers-reduced-motion: reduce) { .px__l { animation: none; } }

/* Conditions – arrow only, no "Learn more" pill on the photo */
.tm-cond__media::after { content: none; display: none; }
/* Service cards – supporting line under the title */
.tm-card__sub { display: block; font-family: var(--tm-body); font-size: 16px; line-height: 1.4; color: rgba(255, 255, 255, .85); margin-top: 10px; max-width: 34ch; }
@media (max-width: 690px) { .tm-card__sub { font-size: 14px; margin-top: 6px; } }

/* Carousel controls v2 (Oura-style): hairline that fills as you scroll, thin long arrows */
.tm-slider__nav { margin-top: 28px; }
.tm-slider__bar { height: 2px; overflow: visible; background: linear-gradient(rgba(41, 45, 49, .15), rgba(41, 45, 49, .15)) center / 100% 1px no-repeat; }
.tm-slider__progress { height: 2px; width: 0; transform: none !important; background: var(--tm-ink); transition: width .35s ease; }
.tm-slider__arrows { gap: 12px; margin-top: 24px; }
html body .tm-slider__btn { width: 48px; height: 48px; background: var(--tm-ink); color: #fff; }
html body .tm-slider__btn svg { width: 24px; height: 24px; }
html body .tm-slider__btn:hover { background: #42474c; }
html body .tm-slider__btn:disabled, html body .tm-slider__btn:disabled:hover { background: transparent; color: var(--tm-ink); opacity: .6; }
html body .tm-slider__btn:focus, html body .tm-slider__btn:focus-visible { outline: none; box-shadow: none; }

/* ==================================================================
   CLOSING CTA – full-width cream band, centred heading, two actions
   ================================================================== */
.tm-statement { position: relative; isolation: isolate; background: none !important; padding-top: 140px !important; padding-bottom: 140px !important; }
.tm-statement::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: var(--tm-cream); z-index: -1; }
.tm-statement h2 { font-family: var(--tm-head); font-weight: 300; font-size: 80px !important; line-height: 1.05 !important; color: var(--tm-ink); text-align: center; max-width: 900px; margin: 0 auto 24px !important; }
.tm-statement .tm-cta-sub { text-align: center; font-family: var(--tm-body); font-size: 20px; line-height: 1.45; color: var(--tm-ink); max-width: 600px; margin: 0 auto 36px !important; padding: 0; }
.tm-statement .tm-cta-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin: 0 0 20px !important; padding: 0; }
.tm-statement .tm-cta-actions .tm-btn { display: inline-flex; align-items: center; gap: 10px; height: 52px; padding: 0 26px; font-size: 16px; border-radius: var(--tm-radius); text-decoration: none; transition: background-color .2s ease, box-shadow .2s ease; }
.tm-statement .tm-btn--ink { background: var(--tm-ink) !important; color: #fff !important; }
.tm-statement .tm-btn--ink:hover { background: var(--tm-olive) !important; }
.tm-statement .tm-btn--ghost { background: transparent !important; color: var(--tm-ink) !important; box-shadow: inset 0 0 0 1px rgba(41, 45, 49, .22); }
.tm-statement .tm-btn--ghost:hover { background: rgba(255, 255, 255, .7) !important; }
.tm-statement .tm-btn--ghost[href^="tel"]::before {
	content: ""; width: 16px; height: 16px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.tm-statement .tm-cta-note { text-align: center; font-family: var(--tm-body); font-size: 14px; color: var(--tm-olive); margin: 0 !important; padding: 0; }
@media (max-width: 690px) {
	.tm-statement { padding-top: 88px !important; padding-bottom: 88px !important; }
	.tm-statement h2 { font-size: 44px !important; }
	.tm-statement .tm-cta-sub { font-size: 17px; margin-bottom: 28px !important; }
	.tm-statement .tm-cta-actions .tm-btn { height: 48px; padding: 0 20px; }
}
html body .tm-slider__btn { border-radius: 50% !important; }
.wpb_row.tm-statement::before { display: block !important; height: auto !important; }

/* Full-bleed section backgrounds – Salient's clearfix sets row ::before to display:table
   (zero height), which hid every full-width band. Force them to fill the row. */
.wpb_row.tm-sec--cream::before, .wpb_row.tm-sec--mint::before, .wpb_row.tm-sec--to-cream::before,
.wpb_row.tm-sec--from-cream::before, .wpb_row.tm-sec--to-mint::before, .wpb_row.tm-page-head::before,
.wpb_row.tm-cta::before { display: block !important; height: auto !important; }

/* Inner-page CTA band – same look as the homepage closing CTA: cream band, ink text,
   ink button that deepens to olive (no white hover anywhere) */
.wpb_row.tm-cta::before { background: var(--tm-cream) !important; }
.tm-cta, .tm-cta h2, .tm-cta h3, .tm-cta p { color: var(--tm-ink) !important; }
.tm-cta .tm-btn, .tm-cta a.tm-btn { background: var(--tm-ink) !important; color: #fff !important; }
.tm-cta .tm-btn:hover, .tm-cta a.tm-btn:hover { background: var(--tm-olive) !important; color: #fff !important; }
.tm-statement .tm-btn--ghost:hover { background: transparent !important; box-shadow: inset 0 0 0 1px var(--tm-ink); }

/* ==================================================================
   FOOTER v2 – small uppercase headings, Services / Clinic / Visit
   columns, social icons and a large sign-off line
   ================================================================== */
html body #footer-outer #footer-widgets .widget h4,
html body #footer-outer #footer-widgets .widget .widget-title,
html body #footer-outer #footer-widgets .widget .widgettitle {
	font-family: var(--tm-body) !important; font-size: 16px !important; line-height: 1.333 !important; font-weight: 400 !important;
	text-transform: none !important; letter-spacing: 0 !important; color: var(--tm-olive) !important; margin: 0 0 10px !important;
}
#footer-outer .tm-flinks { list-style: none; margin: 0; padding: 0; }
html body #footer-outer #footer-widgets .tm-flinks li { margin: 0 0 6px; padding: 0; list-style: none; border: 0; background: none; font-size: 16px; line-height: 1.333; }
html body #footer-outer #footer-widgets .tm-flinks li::before { content: none; display: none; }
html body #footer-outer #footer-widgets .tm-flinks a, html body #footer-outer #footer-widgets .tm-fvisit a {
	color: var(--tm-ink) !important; text-decoration: none !important; background: none !important; transition: color .2s ease;
}
html body #footer-outer #footer-widgets .tm-flinks a:hover, html body #footer-outer #footer-widgets .tm-fvisit a:hover { color: var(--tm-sage) !important; }
html body #footer-outer #footer-widgets .tm-flinks a.tm-flinks__all, html body #footer-outer #footer-widgets .tm-fvisit a.tm-fvisit__dir { color: var(--tm-sage) !important; }
html body #footer-outer #footer-widgets .tm-flinks a.tm-flinks__all:hover, html body #footer-outer #footer-widgets .tm-fvisit a.tm-fvisit__dir:hover { color: var(--tm-olive) !important; }
html body #footer-outer #footer-widgets .tm-fvisit p { font-size: 16px; line-height: 1.333; color: var(--tm-ink); margin: 0 0 10px; padding: 0; }
html body #footer-outer #footer-widgets .tm-fvisit .tm-fvisit__hours { color: var(--tm-olive); }
#footer-outer .tm-fsocial { display: flex; gap: 8px; margin-top: 4px !important; }
html body #footer-outer #footer-widgets .tm-fsocial a {
	display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(41, 45, 49, .18); transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
html body #footer-outer #footer-widgets .tm-fsocial a:hover { background: var(--tm-ink) !important; color: #fff !important; box-shadow: none; }
#footer-outer .tm-fsocial svg { width: 18px; height: 18px; display: block; }

/* Sign-off line – sits between the columns and the copyright bar */
#footer-outer .tm-signoff { overflow: hidden; padding: 24px 16px 8px; text-align: center; }
#footer-outer .tm-signoff__text {
	font-family: var(--tm-head); font-weight: 300; font-size: clamp(40px, 6.6vw, 150px); line-height: 1; letter-spacing: -.02em;
	color: rgba(122, 140, 124, .22); white-space: nowrap; margin: 0; padding: 0 0 .08em;
}
@media (max-width: 690px) {
	#footer-outer .tm-signoff__text { white-space: normal; font-size: 13vw; }
}

/* Text links are always underlined (buttons, menus, cards and icons excluded) */
#ajax-content-wrap .wpb_text_column a:not(.tm-btn):not([class*="button"]):not(.tm-card),
#ajax-content-wrap .tm-faq a, #ajax-content-wrap .tm-slider__more, #ajax-content-wrap .tm-card__more,
html body #footer-outer #footer-widgets a:not(.tm-fsocial a),
html body #footer-outer #footer-widgets .tm-flinks a, html body #footer-outer #footer-widgets .tm-fvisit a:not(.tm-fsocial a),
#footer-outer #copyright a:not([class*="icon"]):not(:has(i)):not(:has(svg)) {
	text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 3px !important;
}
html body #footer-outer #footer-widgets .tm-fsocial a { text-decoration: none !important; }

/* ==================================================================
   SHARED ACTION BUTTONS – Book online (ink) + phone (outline)
   ================================================================== */
.tm-actions, .tm-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; padding: 0; }
.tm-actions .tm-btn, .tm-cta-actions .tm-btn {
	display: inline-flex; align-items: center; gap: 10px; height: 52px; padding: 0 26px; font-size: 16px;
	border-radius: var(--tm-radius); text-decoration: none !important; transition: background-color .2s ease, box-shadow .2s ease;
}
a.tm-btn.tm-btn--ink, .tm-cta a.tm-btn.tm-btn--ink { background: var(--tm-ink) !important; color: #fff !important; }
a.tm-btn.tm-btn--ink:hover, .tm-cta a.tm-btn.tm-btn--ink:hover { background: var(--tm-olive) !important; }
a.tm-btn.tm-btn--ghost, .tm-cta a.tm-btn.tm-btn--ghost { background: transparent !important; color: var(--tm-ink) !important; box-shadow: inset 0 0 0 1px rgba(41, 45, 49, .22); }
a.tm-btn.tm-btn--ghost:hover, .tm-cta a.tm-btn.tm-btn--ghost:hover { background: transparent !important; box-shadow: inset 0 0 0 1px var(--tm-ink); }
a.tm-btn.tm-btn--ghost[href^="tel"]::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ==================================================================
   DETAIL PAGES – one design for every individual Service / Condition
   (body.tm-detail is added in functions.php)
   ================================================================== */
/* Header: back link, title, intro, actions + large rounded photo */
.tm-detail .tm-page-head { padding-top: 64px !important; padding-bottom: 88px !important; }
.tm-detail .tm-page-head .row_col_wrap_12 { display: flex; align-items: center; flex-wrap: wrap; }
.tm-detail .tm-crumb { display: inline-block; font-family: var(--tm-body); font-size: 15px; color: var(--tm-olive) !important; margin-bottom: 20px; }
.tm-detail .tm-crumb::before { content: "\2190\00a0"; }
.tm-detail .tm-page-head h1 { font-family: var(--tm-head); font-weight: 300; font-size: 72px !important; line-height: 1.02 !important; color: var(--tm-ink); margin: 0 0 20px !important; }
.tm-detail .tm-page-head .tm-lede { font-size: 22px !important; line-height: 1.45 !important; max-width: 560px; color: var(--tm-ink); margin: 0 0 32px !important; }
.tm-detail .tm-head__text .wpb_wrapper { padding-right: 32px; }
.tm-detail .tm-head__media .tm-media { aspect-ratio: 4 / 5; max-height: 620px; border-radius: 16px; overflow: hidden; background: var(--tm-mint); }
.tm-detail .tm-head__media .tm-media img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0 !important; }
.tm-detail .tm-head__media .tm-media p { margin: 0; height: 100%; }

/* Content sections: heading left (sticks while reading), larger body copy right */
.tm-detail .tm-sec--split { padding-top: 88px !important; padding-bottom: 88px !important; }
.tm-detail .tm-sec--split + .tm-sec--split { border-top: 1px solid rgba(41, 45, 49, .1); }
.tm-detail .tm-sec__head .wpb_wrapper { position: sticky; top: 120px; }
.tm-detail .tm-sec--split h2 { font-size: 40px !important; line-height: 1.12 !important; margin: 16px 0 0 !important; }
.tm-detail .tm-sec--split .wpb_text_column p { font-size: 19px; line-height: 1.65; color: var(--tm-ink); max-width: 680px; }

/* Numbered steps become cards */
.tm-detail .tm-sec--split ol { list-style: none; counter-reset: tmstep; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 8px 0 0 !important; padding: 0 !important; }
.tm-detail .tm-sec--split ol > li {
	counter-increment: tmstep; position: relative; list-style: none; margin: 0 !important;
	background: var(--tm-mint); border-radius: 16px; padding: 72px 24px 24px; font-size: 16px; line-height: 1.5; color: var(--tm-ink);
}
.tm-detail .tm-sec--split ol > li::before {
	content: counter(tmstep); position: absolute; top: 24px; left: 24px; width: 32px; height: 32px; border-radius: 50%;
	background: var(--tm-sage); color: #fff; font-family: var(--tm-head); font-size: 15px; display: flex; align-items: center; justify-content: center;
}
.tm-detail .tm-sec--split ol > li strong { display: block; font-family: var(--tm-head); font-weight: 400; font-size: 20px; line-height: 1.25; margin-bottom: 6px; }

/* Bullet lists become a two-column checklist */
.tm-detail .tm-sec--split ul { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 32px; margin: 8px 0 0 !important; padding: 0 !important; }
.tm-detail .tm-sec--split ul > li { position: relative; list-style: none; margin: 0 !important; padding-left: 36px; font-size: 17px; line-height: 1.5; color: var(--tm-ink); }
.tm-detail .tm-sec--split ul > li::before { content: ""; position: absolute; left: 0; top: 1px; width: 24px; height: 24px; border-radius: 50%; background: var(--tm-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a8c7c' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }

/* Related pages */
.tm-detail .tm-related { padding-top: 88px !important; padding-bottom: 88px !important; }
.tm-siblings__title { font-family: var(--tm-head); font-weight: 300; font-size: 32px !important; line-height: 1.2 !important; color: var(--tm-ink); margin: 0 0 24px !important; }
.tm-siblings__list { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0 0 24px !important; padding: 0 !important; }
.tm-siblings__list li { margin: 0 !important; padding: 0 !important; list-style: none; }
.tm-siblings__list li::before { content: none !important; }
.tm-siblings__list a {
	display: inline-flex; align-items: center; height: 44px; padding: 0 18px; border-radius: var(--tm-radius);
	box-shadow: inset 0 0 0 1px rgba(41, 45, 49, .18); color: var(--tm-ink) !important; text-decoration: none !important; font-size: 16px;
	transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.tm-siblings__list a:hover { background: var(--tm-ink); color: #fff !important; box-shadow: none; }
.tm-siblings__all { font-size: 16px; color: var(--tm-ink) !important; text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 3px !important; }

/* Closing CTA band (matches the homepage) */
.tm-cta { text-align: center; padding-top: 120px !important; padding-bottom: 120px !important; }
.tm-cta h2 { font-family: var(--tm-head); font-weight: 300; font-size: 56px !important; line-height: 1.08 !important; max-width: 820px; margin: 0 auto 20px !important; }
.tm-cta .tm-cta-sub { font-size: 20px; line-height: 1.45; max-width: 560px; margin: 0 auto 32px !important; }
.tm-cta .tm-cta-actions { justify-content: center; margin: 0 0 20px !important; }
.tm-cta .tm-cta-note { font-size: 14px; color: var(--tm-olive) !important; margin: 0 !important; }

@media (max-width: 999px) {
	.tm-detail .tm-head__text .wpb_wrapper { padding-right: 0; }
	.tm-detail .tm-head__media { margin-top: 40px; }
	.tm-detail .tm-head__media .tm-media { aspect-ratio: 4 / 3; }
	.tm-detail .tm-sec__head .wpb_wrapper { position: static; }
}
@media (max-width: 690px) {
	.tm-detail .tm-page-head { padding-top: 40px !important; padding-bottom: 56px !important; }
	.tm-detail .tm-page-head h1 { font-size: 44px !important; }
	.tm-detail .tm-page-head .tm-lede { font-size: 18px !important; }
	.tm-detail .tm-sec--split, .tm-detail .tm-related { padding-top: 56px !important; padding-bottom: 56px !important; }
	.tm-detail .tm-sec--split h2 { font-size: 32px !important; margin-bottom: 20px !important; }
	.tm-detail .tm-sec--split .wpb_text_column p { font-size: 17px; }
	.tm-detail .tm-sec--split ul { grid-template-columns: 1fr; }
	.tm-cta { padding-top: 80px !important; padding-bottom: 80px !important; }
	.tm-cta h2 { font-size: 38px !important; }
	.tm-cta .tm-cta-sub { font-size: 17px; }
}

/* Dropdown menus – offset from the bar, rounded panel, rounded items */
#header-outer #top .sf-menu > li > ul.sub-menu {
	margin-top: 10px !important; padding: 8px !important; border-radius: 14px !important;
	box-shadow: 0 16px 40px rgba(41, 45, 49, .12) !important; border: 0 !important;
}
#header-outer #top .sf-menu > li > ul.sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
#header-outer #top .sf-menu ul.sub-menu li { background: transparent !important; }
#header-outer #top .sf-menu ul.sub-menu li a { border-radius: 8px !important; transition: background-color .15s ease; }
#header-outer #top .sf-menu ul.sub-menu li:first-child > a, #header-outer #top .sf-menu ul.sub-menu li:last-child > a { border-radius: 8px !important; }
/* Top bar line is a text link → underline */
#header-secondary-outer .nectar-center-text a { text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 3px !important; }
/* Sign-off spans exactly the container width (font size set by script) */
#footer-outer .tm-signoff { padding: 24px 0 8px; }
#footer-outer .tm-signoff .container { max-width: var(--tm-max); }
#footer-outer .tm-signoff__text, #footer-outer .tm-signoff__text { white-space: nowrap !important; text-align: left; display: inline-block; letter-spacing: -.02em; }
@media (max-width: 690px) { #footer-outer .tm-signoff__text { white-space: nowrap !important; } }
/* Footer links – same tight rhythm as the original Quick links */
html body #footer-outer #footer-widgets .tm-flinks li { padding: 0 !important; margin: 0 0 7px !important; line-height: 1.333 !important; }
html body #footer-outer #footer-widgets .tm-flinks a { line-height: 1.333 !important; padding: 0 !important; }
html body #footer-outer #footer-widgets .tm-fvisit p { line-height: 1.333 !important; margin: 0 0 8px !important; }
#footer-outer .tm-signoff__text { transition: none !important; }
#footer-outer .tm-signoff, #footer-outer .tm-signoff .container { text-align: left !important; }

/* Closing CTA bands – reverse of the page-header gradient: white fading down to
   mint, then the white footer starts with a clean edge */
.wpb_row.tm-statement::before, .wpb_row.tm-cta::before { background: linear-gradient(180deg, #ffffff 0%, var(--tm-mint) 100%) !important; }

/* Detail header – back button + key facts strip */
.tm-detail a.tm-back {
	display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 16px 0 12px; margin-bottom: 28px;
	border-radius: var(--tm-radius); background: rgba(255, 255, 255, .6); box-shadow: inset 0 0 0 1px rgba(41, 45, 49, .16);
	font-family: var(--tm-body); font-size: 15px; color: var(--tm-ink) !important; text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.tm-detail a.tm-back::before { content: "\2190"; font-size: 16px; line-height: 1; transition: transform .2s ease; }
.tm-detail a.tm-back:hover { background: var(--tm-ink); color: #fff !important; box-shadow: none; }
.tm-detail a.tm-back:hover::before { transform: translateX(-2px); }
.tm-detail .tm-facts {
	display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 0 40px; max-width: 580px;
	margin: 0 0 32px !important; padding: 16px 0; border-top: 1px solid rgba(41, 45, 49, .12); border-bottom: 1px solid rgba(41, 45, 49, .12);
}
.tm-detail .tm-facts div { margin: 0; padding: 0; }
.tm-detail .tm-facts dt { font-family: var(--tm-body); font-weight: 400; font-size: 14px; line-height: 1.3; color: var(--tm-olive); margin: 0; padding: 0; }
.tm-detail .tm-facts dd { font-family: var(--tm-body); font-size: 16px; line-height: 1.4; color: var(--tm-ink); margin: 3px 0 0; padding: 0; }
.tm-detail .tm-page-head .tm-lede { margin-bottom: 28px !important; }
@media (max-width: 690px) {
	.tm-detail .tm-facts { grid-template-columns: 1fr 1fr; gap: 14px 24px; }
}
#ajax-content-wrap .wpb_text_column a.tm-back, #ajax-content-wrap .tm-detail a.tm-back { text-decoration: none !important; }
html body #ajax-content-wrap .wpb_text_column a.tm-back.tm-back.tm-back.tm-back { text-decoration: none !important; }
/* Services carousel – same card width as the team carousel */
.tm-slider .tm-cards.tm-cards--slider:not(.tm-cards--team-slider) { grid-auto-columns: clamp(250px, 22vw, 310px); }
.tm-slider .tm-card--slider .tm-card__title { font-size: 28px; line-height: 1.15; }
.tm-slider .tm-card--slider .tm-card__sub { font-size: 15px; }
.tm-slider .tm-card--slider { padding: 20px; }
@media (max-width: 690px) { .tm-slider .tm-cards.tm-cards--slider:not(.tm-cards--team-slider) { grid-auto-columns: 78%; } }

/* ==================================================================
   CONTENT SECTIONS (About, Our Story, Work with us, Brookvale pages,
   Contact) – stacked "chapters": numbered tag, big heading, then copy
   ================================================================== */
body:not(.tm-detail) #ajax-content-wrap { counter-reset: tmsec; }
body:not(.tm-detail) .tm-sec--split { counter-increment: tmsec; padding-top: 80px !important; padding-bottom: 80px !important; }
body:not(.tm-detail) .tm-sec--split + .tm-sec--split { border-top: 1px solid rgba(41, 45, 49, .1); }
body:not(.tm-detail) .tm-sec--split .row_col_wrap_12 > .wpb_column { width: 100% !important; float: none !important; margin-left: 0 !important; margin-right: 0 !important; }
body:not(.tm-detail) .tm-sec--split .tm-tag::before { content: counter(tmsec, decimal-leading-zero); margin-right: 10px; padding-right: 10px; border-right: 1px solid rgba(255, 255, 255, .45); }
body:not(.tm-detail) .tm-sec--split h2 { font-size: 48px !important; line-height: 1.08 !important; max-width: 820px; margin: 20px 0 28px !important; }
body:not(.tm-detail) .tm-sec--split .tm-body { max-width: 760px; }
body:not(.tm-detail) .tm-sec--split .tm-body p, body:not(.tm-detail) .tm-sec--split .tm-body li { font-size: 19px; line-height: 1.65; }
body:not(.tm-detail) .tm-sec--split .tm-sec__head + .wpb_column .wpb_wrapper > *:first-child { margin-top: 0; }
@media (max-width: 690px) {
	body:not(.tm-detail) .tm-sec--split { padding-top: 56px !important; padding-bottom: 56px !important; }
	body:not(.tm-detail) .tm-sec--split h2 { font-size: 34px !important; margin-bottom: 20px !important; }
	body:not(.tm-detail) .tm-sec--split .tm-body p, body:not(.tm-detail) .tm-sec--split .tm-body li { font-size: 17px; }
}

/* ==================================================================
   E-BOOK POP-UP (homepage)
   ================================================================== */
html.tm-pop-open { overflow: hidden; }
.tm-pop { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 24px; }
.tm-pop[hidden] { display: none; }
.tm-pop__backdrop { position: absolute; inset: 0; background: rgba(41, 45, 49, .55); backdrop-filter: blur(4px); opacity: 0; transition: opacity .25s ease; }
.tm-pop__panel {
	position: relative; display: grid; grid-template-columns: 300px 1fr; width: 100%; max-width: 860px; max-height: calc(100vh - 48px); overflow: auto;
	background: #fff; border-radius: 20px; box-shadow: 0 30px 80px rgba(41, 45, 49, .25);
	opacity: 0; transform: translateY(16px) scale(.98); transition: opacity .25s ease, transform .25s ease;
}
.tm-pop.is-open .tm-pop__backdrop { opacity: 1; }
.tm-pop.is-open .tm-pop__panel { opacity: 1; transform: none; }
.tm-pop__media { background: var(--tm-mint); padding: 28px; display: flex; align-items: center; justify-content: center; }
.tm-pop__media img { width: 100%; height: auto; border-radius: 6px; box-shadow: 0 14px 30px rgba(41, 45, 49, .2); transform: rotate(-2deg); margin: 0 !important; }
.tm-pop__body { padding: 40px 40px 36px; }
.tm-pop__title { font-family: var(--tm-head); font-weight: 300; font-size: 40px !important; line-height: 1.08 !important; color: var(--tm-ink); margin: 16px 0 12px !important; }
.tm-pop__text { font-family: var(--tm-body); font-size: 17px; line-height: 1.5; color: var(--tm-ink); margin: 0 0 24px !important; }
html body .tm-pop__close {
	position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 50%; border: 0; padding: 0; margin: 0;
	background: rgba(41, 45, 49, .06); color: var(--tm-ink); font-size: 24px; line-height: 40px; cursor: pointer; transition: background-color .2s ease;
}
html body .tm-pop__close:hover { background: rgba(41, 45, 49, .14); }
.tm-ebook-form { display: grid; gap: 10px; }
.tm-ebook-form p { margin: 0 !important; padding: 0 !important; display: contents; }
.tm-ebook-form br { display: none; }
.tm-ebook-field > span:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tm-ebook-field { display: block; margin: 0; }
html body .tm-ebook-form input[type="text"], html body .tm-ebook-form input[type="email"] {
	width: 100%; height: 50px; padding: 0 16px !important; margin: 0 !important; border: 0 !important; border-radius: 10px !important;
	background: var(--tm-mint) !important; color: var(--tm-ink) !important; font-family: var(--tm-body); font-size: 16px; box-shadow: none !important;
}
html body .tm-ebook-form input::placeholder { color: rgba(41, 45, 49, .6); }
.tm-ebook-consent { font-family: var(--tm-body); font-size: 14px; line-height: 1.45; color: var(--tm-olive); margin: 4px 0 6px; }
.tm-ebook-consent .wpcf7-list-item { margin: 0; }
.tm-ebook-consent label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.tm-ebook-consent input[type="checkbox"] { width: 18px; height: 18px; margin: 1px 0 0 !important; accent-color: var(--tm-sage); flex: 0 0 auto; }
html body .tm-ebook-form input[type="submit"] {
	width: 100%; height: 52px; border: 0 !important; border-radius: var(--tm-radius) !important; background: var(--tm-ink) !important; color: #fff !important;
	font-family: var(--tm-body); font-size: 16px; cursor: pointer; opacity: 1 !important; transition: background-color .2s ease;
}
html body .tm-ebook-form input[type="submit"]:hover { background: var(--tm-olive) !important; }
html body .tm-ebook-form input[type="submit"]:disabled { opacity: .45 !important; cursor: not-allowed; }
.tm-pop .wpcf7-response-output { margin: 14px 0 0 !important; padding: 12px 14px !important; border-radius: 10px; border: 0 !important; background: var(--tm-mint); font-size: 15px; color: var(--tm-ink); }
.tm-pop .wpcf7-not-valid-tip { font-size: 13px; margin-top: 4px; }
.tm-pop .wpcf7-spinner { position: absolute; right: 52px; bottom: 50px; margin: 0; }
.tm-pop.is-done .tm-ebook-form { display: none; }
.tm-pop.is-done .wpcf7-response-output { font-size: 17px; padding: 18px !important; }
@media (max-width: 760px) {
	.tm-pop { padding: 12px; align-items: flex-end; }
	.tm-pop__panel { grid-template-columns: 1fr; max-height: calc(100vh - 24px); border-radius: 18px; }
	.tm-pop__media { display: none; }
	.tm-pop__body { padding: 32px 22px 24px; }
	.tm-pop__title { font-size: 30px !important; }
	.tm-pop__text { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .tm-pop__panel, .tm-pop__backdrop { transition: none; } }

/* Conditions – phones & tablets: photo fills a fixed-height sticky box,
   tighter list with hairline dividers (scroll still swaps the photo) */
@media (max-width: 999px) {
	.tm-cond { gap: 16px; }
	.tm-cond__media { aspect-ratio: auto !important; width: 100% !important; height: min(44vh, 66vw); max-height: none !important; top: 76px; border-radius: 16px; background: var(--tm-mint); }
	html body .tm-cond__media img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
	.tm-cond__list { padding-bottom: 24vh; }
	.tm-cond .tm-conditions li { font-size: 40px; line-height: 1.1; margin: 0 !important; padding: 14px 0 !important; border-bottom: 1px solid rgba(41, 45, 49, .08); }
	.tm-cond .tm-conditions li:last-child { border-bottom: 0; }
}
@media (max-width: 690px) {
	.tm-cond .tm-conditions li { font-size: 30px; padding: 12px 0 !important; }
	.tm-cond .tm-conditions li a::after { width: 30px; height: 30px; background-size: 15px; }
}

/* ==================================================================
   PAGE HEADERS WITH A PHOTO – 16:9 rounded image inside the content
   width (always a margin around it), text over the image on desktop;
   image above the text on phones and tablets
   ================================================================== */
.tm-page-head:has(.tm-media img) { padding-top: 24px !important; padding-bottom: 72px !important; }
.tm-page-head:has(.tm-media img) > .row_col_wrap_12 { position: relative; margin-left: 0 !important; margin-right: 0 !important; }
.tm-page-head .wpb_column:has(.tm-media img) :is(.vc_column-inner, .wpb_wrapper, .wpb_text_column, .tm-media, p) { margin: 0 !important; padding: 0 !important; }
html body .tm-page-head .tm-media:has(img) { aspect-ratio: auto !important; max-height: none !important; border-radius: 0; background: var(--tm-ink); }
html body .tm-page-head .tm-media img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; }

@media (min-width: 1000px) {
	.tm-page-head:has(.tm-media img) > .row_col_wrap_12 {
		display: flex !important; align-items: flex-end !important; flex-wrap: nowrap !important; aspect-ratio: 16 / 9; max-height: 82vh; min-height: 520px;
		border-radius: 20px; overflow: hidden; background: var(--tm-ink); isolation: isolate;
	}
	.tm-page-head:has(.tm-media img) > .row_col_wrap_12::after {
		content: "" !important; display: block !important; position: absolute; inset: 0; z-index: 1; pointer-events: none;
		background: linear-gradient(90deg, rgba(41, 45, 49, .78) 0%, rgba(41, 45, 49, .45) 45%, rgba(41, 45, 49, .05) 80%), linear-gradient(0deg, rgba(41, 45, 49, .45) 0%, rgba(41, 45, 49, 0) 55%);
	}
	.tm-page-head .wpb_column:has(.tm-media img) { position: absolute !important; inset: 0; width: 100% !important; margin: 0 !important; padding: 0 !important; z-index: 0; float: none !important; }
	.tm-page-head .wpb_column:has(.tm-media img) :is(.vc_column-inner, .wpb_wrapper, .wpb_text_column, .tm-media, p) { height: 100% !important; }
	.tm-page-head:has(.tm-media img) .wpb_column:not(:has(.tm-media img)) { position: relative; z-index: 2; width: 100% !important; max-width: 820px; margin: 0 !important; padding: 56px 56px 52px !important; float: none !important; }
	.tm-page-head:has(.tm-media img) .wpb_column:not(:has(.tm-media img)) .wpb_wrapper { padding-right: 0 !important; }
	/* text on the image */
	.tm-page-head:has(.tm-media img) h1, .tm-page-head:has(.tm-media img) .tm-lede { color: #fff !important; }
	.tm-page-head:has(.tm-media img) .tm-lede { max-width: 600px; }
	.tm-detail .tm-page-head:has(.tm-media img) a.tm-back { background: rgba(255, 255, 255, .14); color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35); backdrop-filter: blur(6px); }
	.tm-detail .tm-page-head:has(.tm-media img) a.tm-back:hover { background: #fff; color: var(--tm-ink) !important; }
	.tm-detail .tm-page-head:has(.tm-media img) .tm-facts { border-color: rgba(255, 255, 255, .28); }
	.tm-detail .tm-page-head:has(.tm-media img) .tm-facts dt { color: rgba(255, 255, 255, .72); }
	.tm-detail .tm-page-head:has(.tm-media img) .tm-facts dd { color: #fff; }
	.tm-page-head:has(.tm-media img) a.tm-btn.tm-btn--ink { background: #fff !important; color: var(--tm-ink) !important; }
	.tm-page-head:has(.tm-media img) a.tm-btn.tm-btn--ink:hover { background: var(--tm-cream) !important; }
	.tm-page-head:has(.tm-media img) a.tm-btn.tm-btn--ghost { color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5); }
	.tm-page-head:has(.tm-media img) a.tm-btn.tm-btn--ghost:hover { box-shadow: inset 0 0 0 1px #fff; background: rgba(255, 255, 255, .1) !important; }
}
@media (max-width: 999px) {
	.tm-page-head:has(.tm-media img) > .row_col_wrap_12 { display: flex !important; flex-direction: column; }
	.tm-page-head .wpb_column:has(.tm-media img) { order: -1; width: 100% !important; margin: 0 0 28px !important; }
	html body .tm-page-head .tm-media:has(img) { aspect-ratio: 16 / 9 !important; border-radius: 16px; overflow: hidden; }
	.tm-detail .tm-head__media { margin-top: 0 !important; }
}

/* Blog posts – the featured header becomes the same contained 16:9 card */
.single-post #page-header-wrap { height: auto !important; background: transparent !important; padding-top: 24px; }
.single-post #page-header-bg {
	height: auto !important; aspect-ratio: 16 / 9; max-height: 82vh; min-height: 320px; width: calc(100% - 40px); max-width: 1380px; margin: 0 auto;
	border-radius: 20px; overflow: hidden; display: flex; align-items: center; position: relative;
}
.single-post #page-header-bg .page-header-bg-image-wrap, .single-post #page-header-bg .page-header-bg-image { height: 100% !important; top: 0 !important; transform: none !important; }
.single-post #page-header-bg .page-header-bg-image img { width: 100% !important; height: 100% !important; object-fit: cover; }
.single-post #page-header-bg > .container { position: relative; z-index: 2; width: 100%; }
@media (min-width: 1000px) { .single-post #page-header-bg { width: calc(100% - 60px); } }
@media (min-width: 1000px) {
	.tm-page-head:has(.tm-media img) > .row_col_wrap_12::after {
		background: linear-gradient(90deg, rgba(31, 34, 37, .86) 0%, rgba(31, 34, 37, .6) 42%, rgba(31, 34, 37, .12) 78%), linear-gradient(0deg, rgba(31, 34, 37, .5) 0%, rgba(31, 34, 37, 0) 55%) !important;
	}
}
.single-post #page-header-bg > .container { z-index: 10 !important; }
.single-post #page-header-bg .page-header-bg-image-wrap::after { content: ""; position: absolute; inset: 0; z-index: 9; pointer-events: none; background: linear-gradient(0deg, rgba(31, 34, 37, .62) 0%, rgba(31, 34, 37, .32) 55%, rgba(31, 34, 37, .2) 100%); }
@media (min-width: 1000px) {
	.tm-page-head:has(.tm-media img) > .row_col_wrap_12::after { top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; width: auto !important; height: auto !important; visibility: visible !important; clear: none !important; }
}
/* Responsive polish */
@media (min-width: 691px) and (max-width: 999px) {
	.tm-cards--grid .tm-card__title { font-size: 28px !important; line-height: 1.15; }
	.tm-cards--grid .tm-card { padding: 20px; }
}
@media (max-width: 690px) {
	#header-secondary-outer .nectar-center-text, #header-secondary-outer .nectar-center-text a { font-size: 12px !important; line-height: 1.3; }
}

/* ==================================================================
   TEAM PROFILE PAGES  (child pages of Meet Our Team)
   Row classes: tm-page-head tm-profile-head  |  tm-sec tm-profile-main
   ================================================================== */
.tm-crumbs { font-family: var(--tm-body); font-size: 15px; line-height: 1.4; color: var(--tm-olive); margin: 0 0 40px !important; padding: 0 !important; }
.tm-crumbs a { color: var(--tm-olive); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.tm-crumbs a:hover { color: var(--tm-ink); }
.tm-crumbs span[aria-current] { color: var(--tm-ink); }

.tm-profile { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: 64px; align-items: center; }
.tm-profile__intro .tm-tag { margin: 0 0 20px !important; }
.tm-profile__intro h1 { margin: 0 0 20px !important; }
.tm-profile-head .tm-profile__intro .tm-lede { font-size: 24px; line-height: 1.35; max-width: 560px; margin: 0 0 32px !important; }
.tm-profile__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 32px; margin: 0 0 32px !important; padding: 24px 0 !important; border-top: 1px solid rgba(41, 45, 49, .12); border-bottom: 1px solid rgba(41, 45, 49, .12); max-width: 560px; }
.tm-profile__facts div { margin: 0; }
.tm-profile__facts:last-child { margin-bottom: 0 !important; }
.tm-profile__facts dt, .tm-profile__facts dd { margin-left: 0 !important; padding-left: 0 !important; }
.tm-profile__facts dt { font-family: var(--tm-body); font-size: 14px; line-height: 1.3; color: var(--tm-olive); margin: 0 0 4px; font-weight: 400; }
.tm-profile__facts dd { font-family: var(--tm-body); font-size: 16px; line-height: 1.4; color: var(--tm-ink); margin: 0; }
.tm-profile__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin: 0 !important; padding: 0 !important; }
.tm-profile .tm-btn, .tm-profile-card .tm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 52px; padding: 0 26px; border-radius: var(--tm-radius); background: var(--tm-ink); color: #fff !important; font-family: var(--tm-body); font-size: 16px; text-decoration: none !important; transition: background-color .2s ease; }
.tm-profile .tm-btn:hover, .tm-profile-card .tm-btn:hover { background: var(--tm-olive); }
.tm-profile__phone { font-family: var(--tm-body); font-size: 16px; color: var(--tm-ink) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.tm-profile__photo { margin: 0 !important; border-radius: var(--tm-radius-lg); overflow: hidden; background: var(--tm-mint); box-shadow: 0 24px 48px -24px rgba(41, 45, 49, .35); }
.tm-profile__photo img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; margin: 0 !important; }

.tm-profile-body { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 64px; align-items: start; }
.tm-profile-body .tm-body h2 { font-size: 44px; line-height: 1.1; margin: 0 0 24px !important; }
.tm-profile-body .tm-body .tm-tag { margin-bottom: 24px; }
.tm-profile-body .tm-body p { margin: 0 0 20px !important; }
.tm-profile-aside { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 120px; }
.tm-profile-card { background: var(--tm-cream); border-radius: var(--tm-radius-lg); padding: 24px; }
.tm-profile-card__label { font-family: var(--tm-body); font-size: 14px; line-height: 1.3; color: var(--tm-olive); margin: 0 0 8px !important; padding: 0 !important; }
.tm-profile-card h3 { font-size: 26px; line-height: 1.2; margin: 0 0 8px !important; }
.tm-profile-card p { font-size: 16px; line-height: 1.45; margin: 0 0 16px !important; padding: 0 !important; }
.tm-profile-card .tm-btn { width: 100%; }
.tm-profile-card .tm-profile__phone { display: block; text-align: center; margin-top: 14px; }
.tm-profile-card .tm-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.tm-profile-card .tm-chip { background: #fff; }
.tm-profile-card a:not(.tm-btn) { color: var(--tm-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; word-break: break-word; }

@media (max-width: 999px) {
	.tm-profile, .tm-profile-body { grid-template-columns: 1fr; gap: 40px; }
	.tm-profile__photo { order: -1; max-width: 520px; }
	.tm-profile-aside { position: static; }
	.tm-profile-body .tm-body h2 { font-size: 32px; }
}
@media (max-width: 690px) {
	.tm-crumbs { margin-bottom: 24px !important; }
	.tm-profile__photo img { aspect-ratio: 1 / 1; object-position: center 25%; }
	.tm-profile-head .tm-profile__intro .tm-lede { font-size: 20px; }
	.tm-profile__facts { grid-template-columns: 1fr; gap: 16px; }
	.tm-profile__actions .tm-btn { width: 100%; }
}

/* QA 2026-10-10: blog date month in sentence case (no caps serif); underline text links in blog posts */
.post-meta .date .month { text-transform: none !important; letter-spacing: 0 !important; }
.single-post .content-inner p a:not(.nectar-button):not([class*="btn"]), .single-post .content-inner li a:not(.nectar-button):not([class*="btn"]) { text-decoration: underline !important; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* Meet Our Team – homepage person cards as a static grid (4 up) */
.tm-team-grid .tm-slider__nav { display: none !important; }
.tm-team-grid .tm-slider .tm-cards.tm-cards--team-slider { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; overflow: visible; scroll-snap-type: none; margin-bottom: 0; padding-bottom: 0; }
@media (max-width: 1100px) { .tm-team-grid .tm-slider .tm-cards.tm-cards--team-slider { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) { .tm-team-grid .tm-slider .tm-cards.tm-cards--team-slider { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (max-width: 560px) { .tm-team-grid .tm-slider .tm-cards.tm-cards--team-slider { grid-template-columns: 1fr; } }

/* ==================================================================
   SERVICES 2026-10  (service pages use the team-profile layout)
   Row classes: tm-card-grid (static 4-up card grid), tm-svc-cards (landscape photos in cards)
   ================================================================== */
.tm-card-grid .tm-slider__nav { display: none !important; }
.tm-card-grid .tm-slider .tm-cards.tm-cards--team-slider { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; overflow: visible; scroll-snap-type: none; margin-bottom: 0; padding-bottom: 0; }
.tm-card-grid.tm-grid-3 .tm-slider .tm-cards.tm-cards--team-slider { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) { .tm-card-grid .tm-slider .tm-cards.tm-cards--team-slider { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) { .tm-card-grid .tm-slider .tm-cards.tm-cards--team-slider, .tm-card-grid.tm-grid-3 .tm-slider .tm-cards.tm-cards--team-slider { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (max-width: 560px) { .tm-card-grid .tm-slider .tm-cards.tm-cards--team-slider, .tm-card-grid.tm-grid-3 .tm-slider .tm-cards.tm-cards--team-slider { grid-template-columns: 1fr; } }
.tm-svc-cards .tm-card--person .tm-card__media { aspect-ratio: 4 / 3; background-position: center; }
.tm-svc-cards .tm-card--person .tm-card__role { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tm-svc-cards .tm-card--person .tm-card__chips { order: -1; margin: 0 0 4px; }
.tm-svc-cards .tm-card--person .tm-card__body::after { content: "Learn more \2192"; margin-top: 10px; font-family: var(--tm-body); font-size: 15px; color: var(--tm-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.tm-sec-intro .tm-tag { margin-bottom: 20px !important; }
.tm-sec-intro h2 { font-size: 44px !important; line-height: 1.1 !important; margin: 0 0 32px !important; }
@media (max-width: 690px) { .tm-sec-intro h2 { font-size: 32px !important; } }
.tm-svc-section + .tm-svc-section { margin-top: 56px; padding-top: 56px; border-top: 1px solid rgba(41, 45, 49, .1); }
.tm-svc-section .tm-tag { margin-bottom: 20px !important; }
.tm-svc-section h2 { font-size: 40px !important; line-height: 1.1 !important; margin: 0 0 20px !important; }
.tm-svc-section .tm-body, .tm-profile-body .tm-svc-section .tm-body { max-width: none; }
.tm-svc-section ol { counter-reset: tm-step; list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 12px; }
.tm-svc-section ol li { counter-increment: tm-step; list-style: none !important; position: relative; margin: 0 !important; padding: 16px 16px 16px 60px; background: var(--tm-mint); border-radius: var(--tm-radius-lg); }
.tm-svc-section ol li::before { content: counter(tm-step); position: absolute; left: 16px; top: 15px; width: 28px; height: 28px; border-radius: 50%; background: var(--tm-sage); color: #fff; font-family: var(--tm-body); font-size: 14px; line-height: 28px; text-align: center; }
.tm-svc-section ol li strong { display: block; font-family: var(--tm-head); font-weight: 400; font-size: 18px; margin-bottom: 2px; }
@media (max-width: 999px) { .tm-svc-section h2 { font-size: 30px !important; } }
.tm-sec .tm-grid-2 h3 { font-size: 26px !important; line-height: 1.2 !important; margin: 0 0 8px !important; }
.tm-svc-section ol + p, .tm-svc-section ul + p { margin-top: 16px !important; }
.tm-svc-video { padding-top: 0 !important; }
@media (min-width: 1101px) { .tm-card-grid.tm-grid-5 .tm-slider .tm-cards.tm-cards--team-slider { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; } }
/* FAQs stacked under heading, 75% width */
.tm-faq-stack .tm-faq { max-width: 75%; }
@media (max-width: 999px) { .tm-faq-stack .tm-faq { max-width: none; } }
/* Service header details: 3 across */
.tm-profile__facts--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 690px) { .tm-profile__facts--3 { grid-template-columns: 1fr 1fr; } }
.tm-svc-video-inline { margin-top: 24px; border-radius: var(--tm-radius-lg); overflow: hidden; background: var(--tm-ink); }
.tm-svc-video-inline video { display: block; width: 100%; height: auto; }

/* No drop shadows behind images anywhere (2026-10-10) */
img, picture, video,
.tm-profile__photo, .tm-media, .tm-cond__media, .tm-pop__media, .tm-pop__media img, .tm-card__media, .tm-svc-video-inline,
.img-with-aniamtion-wrap, .img-with-aniamtion-wrap .inner-wrap, .img-with-aniamtion-wrap .hover-wrap, .nectar-video-wrap, .wp-block-image, figure { box-shadow: none !important; filter: none; }

/* Mint info boxes, 4 across (Services: Included where it helps) */
.tm-boxes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.tm-boxes > div { background: var(--tm-mint); border-radius: var(--tm-radius-lg); padding: 24px; }
.tm-sec .tm-boxes h3 { font-family: var(--tm-head); font-weight: 400; font-size: 20px !important; line-height: 1.25 !important; margin: 0 0 8px !important; padding: 0 !important; }
.tm-boxes p { font-size: 16px; line-height: 1.45; margin: 0 !important; padding: 0 !important; }
@media (max-width: 1100px) { .tm-boxes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .tm-boxes { grid-template-columns: 1fr; } }

/* Linked chips (Services that help) */
.tm-profile-card a.tm-chip { text-decoration: none !important; color: var(--tm-ink) !important; transition: background-color .2s ease, color .2s ease; }
.tm-profile-card a.tm-chip:hover { background: var(--tm-ink); color: #fff !important; }

/* Videos below service/condition content: half width, two across */
.tm-svc-video .vc_column-inner > .wpb_wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.tm-svc-video .vc_column-inner > .wpb_wrapper > .wpb_text_column { grid-column: 1 / -1; margin: 0 !important; }
.tm-svc-video .wpb_video_widget { margin: 0 !important; }
@media (max-width: 690px) { .tm-svc-video .vc_column-inner > .wpb_wrapper { grid-template-columns: 1fr; } }
.tm-svc-section h3 { font-family: var(--tm-head); font-weight: 400; font-size: 24px !important; line-height: 1.2 !important; margin: 36px 0 12px !important; padding: 0 !important; }
.tm-svc-section h2 + h3 { margin-top: 8px !important; }

/* Conditions: "Services that help" in the header */
.tm-head-services { margin: 0 0 8px; padding-top: 24px; border-top: 1px solid rgba(41, 45, 49, .12); max-width: 560px; }
.tm-head-services__label { font-family: var(--tm-body); font-size: 14px; line-height: 1.3; color: var(--tm-olive); margin: 0 0 12px !important; padding: 0 !important; }
.tm-head-services .tm-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tm-head-services a.tm-chip { height: 36px; padding: 0 14px; font-size: 15px; border-radius: var(--tm-radius); background: #fff; color: var(--tm-ink) !important; text-decoration: none !important; box-shadow: inset 0 0 0 1px rgba(41, 45, 49, .16); transition: background-color .2s ease, color .2s ease, box-shadow .2s ease; }
.tm-head-services a.tm-chip:hover { background: var(--tm-ink); color: #fff !important; box-shadow: none; }
/* FAQs page: stacked groups */
.tm-faq-group + .tm-faq-group { padding-top: 0 !important; }
.tm-faq-group .tm-sec-intro h2 { margin-bottom: 24px !important; }
.tm-faq-head h1 { font-size: 64px !important; line-height: 1.05 !important; }
@media (max-width: 999px) { .tm-faq-head h1 { font-size: 48px !important; } }
@media (max-width: 690px) { .tm-faq-head h1 { font-size: 36px !important; } }

/* ==================================================================
   BLOG 2026-10  (feed uses [tm_posts]; single posts get crumbs + Keep reading)
   ================================================================== */
/* Smaller page heading (blog feed, FAQs) */
.tm-head-sm h1 { font-size: 64px !important; line-height: 1.05 !important; }
.tm-head-sm .tm-lede { max-width: 640px !important; }
@media (max-width: 999px) { .tm-head-sm h1 { font-size: 48px !important; } }
@media (max-width: 690px) { .tm-head-sm h1 { font-size: 36px !important; } }

/* Post cards */
.tm-posts .tm-card__date { display: block; font-size: 13px; color: var(--tm-olive); margin-bottom: 4px; }
.tm-svc-cards .tm-posts .tm-card--person .tm-card__role { -webkit-line-clamp: 4; }
.tm-posts__pager ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none !important; margin: 48px 0 0 !important; padding: 0 !important; }
.tm-posts__pager li { list-style: none !important; margin: 0 !important; }
.tm-posts__pager .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: var(--tm-radius); box-shadow: inset 0 0 0 1px rgba(41, 45, 49, .18); font-family: var(--tm-body); font-size: 15px; color: var(--tm-ink) !important; text-decoration: none !important; }
.tm-posts__pager a.page-numbers:hover { background: var(--tm-ink); color: #fff !important; box-shadow: none; }
.tm-posts__pager .page-numbers.current { background: var(--tm-ink); color: #fff !important; box-shadow: none; }
.tm-posts__pager .page-numbers.dots { box-shadow: none; }

/* Single post: hero */
.single-post #page-header-bg h1.entry-title { font-size: 56px !important; line-height: 1.1 !important; max-width: 900px; margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 999px) { .single-post #page-header-bg h1.entry-title { font-size: 40px !important; } }
@media (max-width: 690px) { .single-post #page-header-bg h1.entry-title { font-size: 30px !important; } }
.single-post #page-header-bg .inner-wrap > a { display: inline-block; background: var(--tm-sage) !important; color: #fff !important; border: 0 !important; border-radius: 4px !important; padding: 6px 12px !important; font-family: var(--tm-body) !important; font-size: 16px !important; line-height: 1.333 !important; text-decoration: none !important; box-shadow: none !important; margin: 0 3px 16px !important; }
.single-post #page-header-bg .inner-wrap > a:hover { background: var(--tm-olive) !important; }
.single-post .meta-comment-count { display: none !important; }

/* Single post: narrower reading column */
.single-post .post-content .content-inner { max-width: 720px; margin-left: auto; margin-right: auto; }
.tm-post-crumbs { margin: 0 0 32px !important; }

/* Single post: ending */
.single-post .blog_next_prev_buttons { display: none !important; }
.tm-post-end { margin-top: 48px; }
.tm-post-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 32px; }
.tm-post-tags a.tm-chip { color: var(--tm-ink) !important; text-decoration: none !important; transition: background-color .2s ease, color .2s ease; }
.tm-post-tags a.tm-chip:hover { background: var(--tm-ink); color: #fff !important; }
.tm-post-cta { background: var(--tm-cream); border-radius: var(--tm-radius-lg); padding: 32px; }
.tm-post-cta h3 { font-size: 26px !important; line-height: 1.2 !important; margin: 0 0 8px !important; }
.tm-post-cta p { margin: 0 0 20px !important; padding: 0 !important; }
.tm-post-cta .tm-btn { display: inline-flex; align-items: center; height: 52px; padding: 0 26px; border-radius: var(--tm-radius); background: var(--tm-ink); color: #fff !important; font-family: var(--tm-body); font-size: 16px; text-decoration: none !important; }
.tm-post-cta .tm-btn:hover { background: var(--tm-olive); }
.tm-keep-reading { position: relative; left: 50%; width: min(1200px, calc(100vw - 48px)); transform: translateX(-50%); margin: 80px 0 0; padding-top: 64px; border-top: 1px solid rgba(41, 45, 49, .1); }
.tm-keep-reading h2 { font-size: 44px !important; line-height: 1.1 !important; margin: 0 0 32px !important; }
.tm-all-articles { margin: 32px 0 0 !important; }
.tm-all-articles a { color: var(--tm-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
@media (max-width: 690px) { .tm-keep-reading h2 { font-size: 32px !important; } .tm-post-cta { padding: 24px; } }

/* Contact page */
.tm-contact-head { padding-bottom: 32px !important; }
.tm-contact-main { padding-top: 16px !important; }
.tm-contact-main > .col.span_12, .tm-contact-main .row_col_wrap_12 { display: flex; flex-wrap: nowrap; gap: 32px; align-items: stretch; }
.tm-contact-main .tm-contact-col { flex: 0 0 calc(41.666% - 16px); width: auto !important; }
.tm-contact-main .tm-contact-map { flex: 1 1 0; width: auto !important; }
.tm-contact-main .tm-contact-col, .tm-contact-main .tm-contact-map { margin: 0 !important; }
.tm-contact-card { height: 100%; background: var(--tm-cream); border-radius: var(--tm-radius-lg); padding: 32px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.tm-contact-list { display: grid; gap: 20px; margin: 0 !important; padding: 0 !important; }
.tm-contact-list div { margin: 0; }
.tm-contact-list dt { font-family: var(--tm-body); font-size: 14px; line-height: 1.3; color: var(--tm-olive); margin: 0 0 4px; font-weight: 400; }
.tm-contact-list dd { font-family: var(--tm-body); font-size: 18px; line-height: 1.45; color: var(--tm-ink); margin: 0 !important; padding: 0 !important; }
.tm-contact-list a { color: var(--tm-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.tm-contact-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 !important; padding: 0 !important; }
.tm-contact-card .tm-btn { display: inline-flex; align-items: center; height: 52px; padding: 0 26px; border-radius: var(--tm-radius); background: var(--tm-ink); color: #fff !important; font-family: var(--tm-body); font-size: 16px; text-decoration: none !important; }
.tm-contact-card .tm-btn:hover { background: var(--tm-olive); }
.tm-contact-card .tm-btn--ghost { background: transparent !important; color: var(--tm-ink) !important; box-shadow: inset 0 0 0 1px rgba(41, 45, 49, .22); }
.tm-contact-card .tm-btn--ghost:hover { box-shadow: inset 0 0 0 1px var(--tm-ink); background: transparent !important; }
.tm-contact-map .wpb_raw_code, .tm-contact-map .wpb_wrapper { height: 100%; margin: 0 !important; }
.tm-contact-map iframe { display: block; width: 100% !important; height: 100% !important; min-height: 460px; border: 0; border-radius: var(--tm-radius-lg); }
.tm-boxes--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 999px) {
	.tm-contact-main > .col.span_12, .tm-contact-main .row_col_wrap_12 { flex-direction: column; }
	.tm-contact-main .tm-contact-col, .tm-contact-main .tm-contact-map { flex: 1 1 auto; }
	.tm-contact-main .wpb_column { width: 100% !important; }
	.tm-contact-map iframe { min-height: 320px; }
}
@media (max-width: 560px) { .tm-boxes--2 { grid-template-columns: 1fr; } .tm-contact-card { padding: 24px; } }
/* Contact: keep details above the fold on laptops */
html body .tm-contact-head { padding-top: 48px !important; padding-bottom: 24px !important; }
.tm-contact-head .tm-head-tag { margin: 0 0 12px !important; }
.tm-contact-head h1 { margin-bottom: 12px !important; }
.tm-contact-head .tm-lede { font-size: 22px !important; }
.tm-contact-card { padding: 28px; gap: 20px; }
.tm-contact-list { gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tm-contact-list dd { font-size: 17px; }
.tm-contact-map iframe { min-height: 360px; }
@media (max-width: 690px) { .tm-contact-list { grid-template-columns: 1fr; } }
.tm-contact-card__head .tm-tag { margin: 0 0 12px !important; }
.tm-contact-card__head h2 { font-size: 36px !important; line-height: 1.1 !important; margin: 0 !important; }
.tm-contact-list__wide { grid-column: 1 / -1; }
.tm-contact-getting .tm-sec-intro .tm-tag { margin-bottom: 24px !important; }
/* Photo tiles: text anchored to the bottom (tag inherited the 48px section-label margin) */
.tm-sec .tm-card--grid .tm-tag, .tm-sec .tm-card--slider .tm-tag { margin-bottom: 0 !important; }

/* ==================================================================
   MOBILE NAV (<1000px) – hamburger left, logo centre, Book now right,
   dropdown card under the header. Markup/JS: functions.php "TRIDENT MOBILE NAV".
   ================================================================== */
.tm-mnav, .tm-mnav-toggle { display: none; }
@media (max-width: 999px) {
	#header-outer { padding-top: 0 !important; padding-bottom: 0 !important; }
	#header-outer #top .row { display: flex !important; align-items: center; justify-content: space-between; position: relative; min-height: 60px; }
	#header-outer #top .row > .col.span_9 { display: none !important; }
	#header-outer #top .row > .col.span_3 { position: absolute !important; left: 50%; top: 50%; transform: translate(-50%, -50%); width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; z-index: 2; }
	#header-outer #top #logo img { height: 24px !important; width: auto !important; }
	#header-outer .slide-out-widget-area-toggle { display: none !important; }

	.tm-mnav-toggle { display: block; order: 1; position: relative; width: 44px; height: 44px; margin: 0 0 0 -10px; padding: 0; border: 0; background: transparent; cursor: pointer; z-index: 3; }
	.tm-mnav-toggle span { position: absolute; left: 11px; width: 22px; height: 1.5px; background: var(--tm-ink); border-radius: 2px; transition: transform .25s ease, opacity .2s ease, top .25s ease; }
	.tm-mnav-toggle span:nth-child(1) { top: 15px; }
	.tm-mnav-toggle span:nth-child(2) { top: 21px; }
	.tm-mnav-toggle span:nth-child(3) { top: 27px; }
	html.tm-mnav-open .tm-mnav-toggle span:nth-child(1) { top: 21px; transform: rotate(45deg); }
	html.tm-mnav-open .tm-mnav-toggle span:nth-child(2) { opacity: 0; }
	html.tm-mnav-open .tm-mnav-toggle span:nth-child(3) { top: 21px; transform: rotate(-45deg); }

	#header-outer #top .right-aligned-menu-items { display: block !important; order: 3; position: static !important; width: auto !important; margin: 0 0 0 auto !important; z-index: 3; }
	#header-outer #top .right-aligned-menu-items nav, #header-outer #top .right-aligned-menu-items ul { display: flex !important; margin: 0 !important; padding: 0 !important; }
	#header-outer #top .right-aligned-menu-items li { display: none !important; }
	#header-outer #top .right-aligned-menu-items li.button_solid_color_2 { display: block !important; margin: 0 !important; }
	#header-outer #top .right-aligned-menu-items li.button_solid_color_2 > a { font-size: 14px !important; line-height: 1 !important; padding: 10px 14px !important; margin: 0 !important; }

	.tm-mnav { display: block; position: fixed; inset: 0; z-index: 10000; pointer-events: none; background: rgba(41, 45, 49, 0); transition: background-color .2s ease; }
	html.tm-mnav-open .tm-mnav { pointer-events: auto; background: rgba(41, 45, 49, .35); }
	.tm-mnav__panel { position: absolute; left: 16px; right: 16px; top: 80px; max-height: calc(100vh - 120px); overflow: auto; background: #fff; border-radius: 16px; padding: 8px; box-shadow: 0 16px 40px rgba(41, 45, 49, .12); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
	html.tm-mnav-open .tm-mnav__panel { opacity: 1; visibility: visible; transform: none; }
	.tm-mnav__list, .tm-mnav__list .sub-menu { list-style: none !important; margin: 0 !important; padding: 0 !important; }
	.tm-mnav__list li { list-style: none !important; margin: 0 !important; }
	.tm-mnav__list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: 10px; font-family: var(--tm-head); font-weight: 400; font-size: 20px; line-height: 1.2; color: var(--tm-ink) !important; text-decoration: none !important; }
	.tm-mnav__list a:hover, .tm-mnav__list a:focus-visible { background: var(--tm-mint); }
	.tm-mnav__list > .menu-item-has-children > a::after { content: ""; width: 8px; height: 8px; margin: -4px 4px 0 0; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .2s ease, margin .2s ease; }
	.tm-mnav__list > .menu-item-has-children.is-open > a::after { transform: rotate(-135deg); margin-top: 4px; }
	.tm-mnav__list .sub-menu { display: none; padding: 0 0 8px 12px !important; }
	.tm-mnav__list .is-open > .sub-menu { display: block; }
	.tm-mnav__list .sub-menu a { font-size: 17px; padding: 9px 14px; }
	.tm-mnav__list--right { margin-top: 8px !important; padding-top: 8px !important; border-top: 1px solid rgba(41, 45, 49, .1); }
	.tm-mnav__list--right li.button_solid_color_2 > a { justify-content: center; margin-top: 8px; height: 50px; background: var(--tm-sage); color: #fff !important; border-radius: var(--tm-radius); font-family: var(--tm-body); font-size: 16px; }
	.tm-mnav__list--right li.button_solid_color_2 > a:hover { background: var(--tm-olive); }
}

/* Conditions list on phones/tablets: photo below the list, active item in green */
@media (max-width: 999px) {
	.tm-cond__media { order: 2 !important; position: relative !important; top: auto !important; max-height: none !important; margin-top: 24px; z-index: auto !important; cursor: pointer; }
	.tm-cond__list { order: 1 !important; padding-bottom: 0 !important; }
	.tm-conditions li.is-active a { color: var(--tm-sage) !important; }
}

/* Client feedback 2026-10-19 */
.tm-card__status--away::before { background: #c9a24a !important; box-shadow: 0 0 0 3px rgba(201, 162, 74, .2) !important; }
.tm-svc-video-inline--yt { aspect-ratio: 16 / 9; }
.tm-svc-video-inline--yt iframe { display: block; width: 100%; height: 100%; border: 0; }
