/*
 * Elementor compatibility layer.
 * Elementor 4.x emits container defaults after theme styles; these rules keep
 * the approved iBody composition intact after CSS regeneration and re-import.
 */
body.ibody-theme .elementor .e-con[class*="ibody-"],
body.ibody-theme .elementor .e-con.experience-marquee {
	padding: 0 !important;
}

/* iBody 1.6.0 final preview parity */
body.ibody-theme .elementor .e-con.ibody-home-hero{background-position:center calc(50% + 75px)!important}
body.ibody-theme .elementor .e-con.ibody-class-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.journal-card__meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:17px}.journal-card__meta time{font-size:12px;color:#777d76}
.schedule-access{max-width:940px;margin:0 auto;padding:64px;border-radius:32px;background:#101310;color:#fff}.schedule-access>span{color:#baf42d;font-size:14px;font-weight:800;letter-spacing:2px}.schedule-access h2{max-width:760px;margin:28px 0;font-size:clamp(46px,6vw,84px);line-height:.9;letter-spacing:-.06em}.schedule-access p{max-width:700px;color:#aeb2ad;font-size:18px;line-height:1.75}.schedule-access__actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}.schedule-access__actions a{min-height:66px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-weight:800}.schedule-access__actions .ibody-outline-button{background:#fff;color:#111312}
.ibody-booking-page{background:#f7f7f4}.booking-flow{max-width:1180px;margin:0 auto}.booking-options{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.booking-option{position:relative;min-height:360px;padding:34px;border:1px solid #cfd2cc;border-radius:30px;background:#f8f8f5;cursor:pointer;display:flex;flex-direction:column}.booking-option input{position:absolute;opacity:0}.booking-option:after{content:"";position:absolute;right:28px;top:28px;width:34px;height:34px;border:2px solid #aeb3aa;border-radius:50%}.booking-option.is-selected{border-color:#7fa21e;background:#f1f8dc}.booking-option.is-selected:after{background:#baf42d;box-shadow:inset 0 0 0 8px #f1f8dc}.booking-option__number{color:#737a72;font-weight:800}.booking-option__icon{font-size:72px;margin:auto 0}.booking-option strong{display:block;font-size:48px;line-height:1}.booking-option small{display:block;margin-top:12px;color:#727872;font-size:15px}.booking-note{margin:34px 0 20px;color:#6d726d}.booking-next,.booking-back{border:0;min-height:64px;padding:0 30px;border-radius:16px;background:#111312;color:#fff;font-weight:800}.booking-next{width:100%}.booking-next:disabled{opacity:.35}.booking-form{max-width:760px;margin:40px auto 0}.booking-flow.is-form-step>.booking-options,.booking-flow.is-form-step>.booking-note,.booking-flow.is-form-step>.booking-next{display:none}
.academy-dock a.active,.academy-dock .dock-logo.active{background:#e9f5c8;border-radius:18px;color:#78941f}
@media(max-width:760px){
 body.ibody-theme .elementor .e-con.ibody-home-hero{background-position:center 18%!important}
 body.ibody-theme .elementor .e-con.ibody-class-grid{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory}.ibody-class-card{min-width:84vw;scroll-snap-align:start}
 .ibody-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.ibody-hero-actions .elementor-widget-button,.ibody-hero-actions .elementor-button{width:100%!important;height:100%!important}.ibody-hero-actions .elementor-button{min-height:68px!important;padding:12px 10px!important;font-size:11px!important;text-align:center!important}
 body.ibody-theme .elementor .e-con.ibody-schedule-page{padding-top:48px!important}
 .schedule-access{padding:46px 36px;border-radius:28px}.schedule-access h2{font-size:48px}.schedule-access p{font-size:16px}.schedule-access__actions{grid-template-columns:1fr;gap:12px}
 .booking-options{grid-template-columns:1fr;gap:10px}.booking-option{min-height:132px;padding:20px 58px 20px 20px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto 1fr;column-gap:16px;align-items:center;border-radius:20px}.booking-option__number{grid-column:1;grid-row:1;align-self:start}.booking-option__icon{grid-column:1;grid-row:2;font-size:42px;margin:10px 0 0}.booking-option>span:last-child{grid-column:2;grid-row:1/3;align-self:center}.booking-option strong{font-size:29px}.booking-option:after{right:18px;top:18px;width:26px;height:26px}
 .ibody-mobile-nav-list .menu-item--mega:not(.submenu-open)>.sub-menu{display:none!important}.ibody-mobile-nav-list .menu-item--mega.submenu-open>.sub-menu{display:block!important}.ibody-mobile-nav-list .menu-item--mega.submenu-open>.sub-menu>.menu-item-has-children.submenu-open>.sub-menu{display:block!important}.ibody-mobile-nav-list .menu-item--mega .sub-menu .sub-menu{border-left:0!important;padding-left:18px!important}
}

body.ibody-theme .elementor .e-con.ibody-section {
	padding: clamp(85px, 9vw, 130px) 6.8vw !important;
}

body.ibody-theme .elementor .e-con.ibody-home-hero {
	min-height: 100svh !important;
	height: auto !important;
	padding: 170px 6.8vw 105px !important;
	justify-content: center !important;
	background-position: center 42% !important;
}

body.ibody-theme .elementor .e-con.ibody-home-hero__copy {
	width: min(820px, 76vw) !important;
	gap: 23px !important;
}

body.ibody-theme .elementor .e-con.ibody-hero-actions {
	width: auto !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
}

body.ibody-theme .elementor .lime-button .elementor-button {
	min-height: 58px !important;
	padding: 0 24px !important;
	border-radius: 14px !important;
	background: var(--lime) !important;
	color: var(--ink) !important;
}

body.ibody-theme .elementor .ibody-outline-button .elementor-button {
	min-height: 58px !important;
	padding: 0 24px !important;
	border: 1px solid rgba(255,255,255,.5) !important;
	border-radius: 14px !important;
	background: transparent !important;
	color: #fff !important;
}

body.ibody-theme .elementor .e-con.ibody-home-hero__stats {
	width: auto !important;
	padding: 0 !important;
	position: absolute !important;
	left: 6.8vw !important;
	right: auto !important;
	bottom: 30px !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 45px !important;
}

body.ibody-theme .elementor .e-con.experience-marquee {
	padding: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-home-intro {
	padding: clamp(85px, 9vw, 130px) 6.8vw !important;
	gap: 6vw !important;
}

body.ibody-theme .elementor .e-con.ibody-home-intro__note {
	padding-top: 22px !important;
}

body.ibody-theme .elementor .e-con.ibody-benefits {
	padding: 0 4.3vw 80px !important;
	gap: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-benefit-card,
body.ibody-theme .elementor .e-con.ibody-experience-card {
	min-height: 240px !important;
	padding: 32px 28px !important;
}

body.ibody-theme .elementor .e-con.ibody-home-classes,
body.ibody-theme .elementor .e-con.ibody-method,
body.ibody-theme .elementor .e-con.ibody-home-clinical,
body.ibody-theme .elementor .e-con.ibody-home-schedule,
body.ibody-theme .elementor .e-con.ibody-home-journal,
body.ibody-theme .elementor .e-con.ibody-team-intro,
body.ibody-theme .elementor .e-con.ibody-team-showcase,
body.ibody-theme .elementor .e-con.ibody-events-section,
body.ibody-theme .elementor .e-con.ibody-journal-archive,
body.ibody-theme .elementor .e-con.ibody-schedule-page,
body.ibody-theme .elementor .e-con.ibody-contact-section {
	padding: clamp(85px, 9vw, 130px) 6.8vw !important;
}

body.ibody-theme .elementor .e-con.ibody-class-grid {
	padding: 0 !important;
	gap: 14px !important;
}

body.ibody-theme .elementor .e-con.ibody-class-card {
	min-height: 430px !important;
	padding: 28px !important;
}

body.ibody-theme .elementor .e-con.ibody-method {
	gap: 8vw !important;
}

body.ibody-theme .elementor .e-con.ibody-method__visual {
	min-height: 620px !important;
	border-radius: 36px !important;
}

body.ibody-theme .elementor .e-con.ibody-method__copy {
	gap: 24px !important;
}

body.ibody-theme .elementor .ibody-dark-button .elementor-button {
	min-height: 56px !important;
	padding: 0 24px !important;
	border-radius: 13px !important;
	background: var(--ink) !important;
	color: #fff !important;
}

body.ibody-theme .elementor .e-con.ibody-home-clinical {
	min-height: 650px !important;
	justify-content: center !important;
}

body.ibody-theme .elementor .e-con.ibody-home-schedule {
	gap: 7vw !important;
}

body.ibody-theme .elementor .e-con.ibody-schedule-link-card {
	min-height: 160px !important;
	padding: 34px !important;
	border-radius: 26px !important;
	gap: 8px 22px !important;
}

body.ibody-theme .elementor .e-con.ibody-home-cta,
body.ibody-theme .elementor .e-con.ibody-inner-cta {
	min-height: 610px !important;
	padding: 100px 6.8vw !important;
	justify-content: center !important;
	align-items: flex-start !important;
}

body.ibody-theme .elementor .e-con.ibody-inner-hero,
body.ibody-theme .elementor .e-con.ibody-team-hero {
	min-height: 760px !important;
	height: 88svh !important;
	padding: 180px 6.8vw 80px !important;
	justify-content: flex-end !important;
}

body.ibody-theme .elementor .e-con.ibody-team-hero {
	min-height: 820px !important;
	height: 94svh !important;
	background-position: center 16% !important;
}

body.ibody-theme .elementor .e-con.ibody-inner-hero__copy,
body.ibody-theme .elementor .e-con.ibody-team-hero__copy {
	width: min(950px, 82vw) !important;
	gap: 20px !important;
}

body.ibody-theme .elementor .e-con.ibody-contact-photo-hero {
	min-height: 660px !important;
	height: 76svh !important;
	padding: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-inner-content {
	padding: clamp(85px, 9vw, 130px) 6.8vw !important;
	gap: 8vw !important;
}

body.ibody-theme .elementor .e-con.ibody-inner-content__copy {
	gap: 18px !important;
}

body.ibody-theme .elementor .e-con.ibody-feature-grid {
	padding: clamp(85px, 9vw, 130px) 6.8vw !important;
	gap: 14px !important;
}

body.ibody-theme .elementor .e-con.ibody-feature-card {
	min-height: 210px !important;
	padding: 28px !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-grid {
	padding: 90px 4.3vw 80px !important;
	gap: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-ecosystem {
	padding: clamp(85px, 9vw, 130px) 6.8vw !important;
	margin: 0 2vw 100px !important;
	border-radius: 38px !important;
}

body.ibody-theme .elementor .e-con.ibody-ecosystem-orbit {
	width: min(420px, 75vw) !important;
	padding: 0 !important;
	margin: 20px auto 35px !important;
}

body.ibody-theme .elementor .e-con.ibody-brands-grid {
	width: 100% !important;
	padding: 0 !important;
	gap: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-brand-card {
	min-height: 430px !important;
	padding: 42px 34px 25px !important;
}

body.ibody-theme .elementor .e-con.ibody-team-intro {
	gap: 8vw !important;
}

body.ibody-theme .elementor .e-con.ibody-team-grid {
	padding: 0 !important;
	gap: 16px !important;
}

body.ibody-theme .elementor .e-con.ibody-trainer-card {
	min-height: 590px !important;
	padding: 0 !important;
	border-radius: 28px !important;
}

body.ibody-theme .elementor .e-con.ibody-trainer-card:nth-child(-n+2) {
	min-height: 720px !important;
}

body.ibody-theme .elementor .e-con.ibody-contact-section {
	gap: 5vw !important;
}

@media (min-width: 1001px) {
	body.ibody-theme .site-header .ibody-menu > .menu-item--mega,
	body.ibody-theme .site-header .ibody-menu > li:nth-child(3) {
		position: static !important;
	}

	body.ibody-theme .site-header .ibody-menu > .menu-item--mega > .sub-menu,
	body.ibody-theme .site-header .ibody-menu > li:nth-child(3) > .sub-menu {
		top: calc(100% - 1px) !important;
		left: 50% !important;
		width: min(760px, 72vw) !important;
		min-width: 0 !important;
		transform: translate(-50%, 14px) !important;
		border-radius: 24px !important;
		background: rgba(13,17,14,.985) !important;
		box-shadow: 0 35px 90px rgba(0,0,0,.4) !important;
		backdrop-filter: blur(18px) !important;
	}

	body.ibody-theme .site-header .ibody-menu > .menu-item--mega:hover > .sub-menu,
	body.ibody-theme .site-header .ibody-menu > .menu-item--mega:focus-within > .sub-menu,
	body.ibody-theme .site-header .ibody-menu > .menu-item--mega.is-open > .sub-menu,
	body.ibody-theme .site-header .ibody-menu > li:nth-child(3):hover > .sub-menu,
	body.ibody-theme .site-header .ibody-menu > li:nth-child(3):focus-within > .sub-menu,
	body.ibody-theme .site-header .ibody-menu > li:nth-child(3).is-open > .sub-menu {
		opacity: 1 !important;
		visibility: visible !important;
		transform: translate(-50%, 0) !important;
	}

	body.ibody-theme .site-header .ibody-menu > .menu-item-has-children.is-open > .sub-menu {
		opacity: 1 !important;
		visibility: visible !important;
	}

	body.ibody-theme .site-header .ibody-menu .sub-menu > .menu-item-has-children > a::after {
		content: "↗";
		margin-left: auto;
		color: var(--lime);
		font-size: 15px;
	}
}

/* Elementor button parity. These structural selectors also repair pages that
 * were imported by an earlier theme version before widget classes were fixed. */
body.ibody-theme .elementor .elementor-widget-button .elementor-button {
	border: 0 !important;
	border-radius: 14px !important;
	font-family: Manrope, sans-serif !important;
	font-weight: 800 !important;
	letter-spacing: .25px !important;
	box-shadow: none !important;
}

body.ibody-theme .elementor .e-con.ibody-hero-actions > .elementor-widget-button:first-child .elementor-button {
	min-height: 58px !important;
	padding: 0 24px !important;
	background: var(--lime) !important;
	color: var(--ink) !important;
}

body.ibody-theme .elementor .e-con.ibody-hero-actions > .elementor-widget-button:nth-child(2) .elementor-button {
	min-height: 58px !important;
	padding: 0 24px !important;
	border: 1px solid rgba(255,255,255,.5) !important;
	background: rgba(7,10,8,.12) !important;
	color: #fff !important;
	backdrop-filter: blur(8px);
}

body.ibody-theme .elementor .e-con.ibody-home-classes > .elementor-widget-button .elementor-button {
	min-height: 56px !important;
	padding: 0 25px !important;
	border: 1px solid rgba(255,255,255,.35) !important;
	background: transparent !important;
	color: #fff !important;
}

body.ibody-theme .elementor .e-con.ibody-method__copy .elementor-button,
body.ibody-theme .elementor .e-con.ibody-home-clinical > .elementor-widget-button .elementor-button,
body.ibody-theme .elementor .e-con.ibody-home-cta > .elementor-widget-button .elementor-button,
body.ibody-theme .elementor .e-con.ibody-inner-cta > .elementor-widget-button .elementor-button {
	min-height: 56px !important;
	padding: 0 24px !important;
	background: var(--ink) !important;
	color: #fff !important;
}

/* Premium lesson/service cards from the approved preview. */
body.ibody-theme .elementor .e-con.ibody-class-card {
	isolation: isolate !important;
	justify-content: flex-end !important;
}

body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(2),
body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(5) {
	background: #efede6 !important;
	color: var(--ink) !important;
	border-color: rgba(17,19,18,.13) !important;
}

body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(3) {
	background: var(--lime) !important;
	color: var(--ink) !important;
	border-color: var(--lime) !important;
}

body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(4) {
	background: #233025 !important;
}

body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(2) .elementor-widget-text-editor,
body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(3) .elementor-widget-text-editor,
body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(5) .elementor-widget-text-editor {
	color: rgba(17,19,18,.62) !important;
}

body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(2) .ibody-class-card__icon,
body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(3) .ibody-class-card__icon,
body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(5) .ibody-class-card__icon {
	color: var(--ink) !important;
}

body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(2)::before,
body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(3)::before,
body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(5)::before {
	border-color: rgba(17,19,18,.12) !important;
	box-shadow: 0 0 0 50px rgba(17,19,18,.025), 0 0 0 100px rgba(17,19,18,.018) !important;
}

body.ibody-theme .elementor .ibody-class-card__icon {
	position: absolute !important;
	top: 88px !important;
	left: 50% !important;
	width: 150px !important;
	height: 150px !important;
	margin: 0 !important;
	color: var(--lime) !important;
	transform: translateX(-50%) !important;
	transition: transform .55s cubic-bezier(.2,.75,.25,1), opacity .35s !important;
}

body.ibody-theme .elementor .ibody-class-card__icon .elementor-widget-container,
body.ibody-theme .elementor .ibody-class-card__icon svg {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

body.ibody-theme .elementor .ibody-class-card__icon svg {
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 4 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

body.ibody-theme .elementor .e-con.ibody-class-card:hover .ibody-class-card__icon {
	transform: translateX(-50%) rotate(-7deg) scale(1.08) !important;
}

body.ibody-theme .elementor .e-con.ibody-class-card > .elementor-widget-button {
	position: absolute !important;
	top: 25px !important;
	right: 25px !important;
	z-index: 3 !important;
	width: 58px !important;
	height: 58px !important;
	margin: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-class-card > .elementor-widget-button .elementor-button {
	display: grid !important;
	place-items: center !important;
	width: 58px !important;
	height: 58px !important;
	min-height: 58px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: var(--lime) !important;
	color: var(--ink) !important;
	font-size: 0 !important;
	transition: transform .3s, background .3s !important;
}

body.ibody-theme .elementor .e-con.ibody-class-card > .elementor-widget-button .elementor-button::after {
	content: "↗";
	font-size: 27px;
	font-weight: 500;
}

body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(2) > .elementor-widget-button .elementor-button,
body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(3) > .elementor-widget-button .elementor-button,
body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card:nth-child(5) > .elementor-widget-button .elementor-button {
	background: var(--ink) !important;
	color: var(--lime) !important;
}

body.ibody-theme .elementor .e-con.ibody-class-card:hover > .elementor-widget-button .elementor-button {
	transform: rotate(45deg) !important;
	background: #d0ff58 !important;
}

/* The 360° visual has visible, layered motion instead of a nearly static ring. */
body.ibody-theme .elementor .e-con.ibody-method__visual::before {
	inset: 9% !important;
	border-color: rgba(186,244,45,.34) !important;
	animation: ibody360Orbit 18s linear infinite !important;
}

body.ibody-theme .elementor .e-con.ibody-method__visual::after {
	inset: 25% !important;
	border-color: rgba(255,255,255,.19) !important;
	animation: ibody360Morph 7s ease-in-out infinite alternate !important;
}

body.ibody-theme .elementor .e-con.ibody-method__visual > .elementor-widget-heading {
	z-index: 2 !important;
	animation: ibody360Number 4.8s ease-in-out infinite !important;
}

body.ibody-theme .elementor .e-con.ibody-method__visual > .elementor-widget-heading::before {
	content: "";
	position: absolute;
	width: 250px;
	height: 250px;
	left: 50%;
	top: 50%;
	border: 1px solid rgba(186,244,45,.28);
	border-radius: 50%;
	transform: translate(-50%,-50%);
	box-shadow: 0 0 55px rgba(186,244,45,.08);
}

body.ibody-theme .elementor .e-con.ibody-method__visual > .elementor-widget-heading::after {
	content: "";
	position: absolute;
	width: 15px;
	height: 15px;
	left: calc(50% + 116px);
	top: calc(50% - 8px);
	border-radius: 50%;
	background: var(--lime);
	box-shadow: 0 0 25px rgba(186,244,45,.65);
	transform-origin: -116px 8px;
	animation: ibody360Dot 8s linear infinite;
}

@keyframes ibody360Orbit {
	to { transform: rotate(360deg); }
}

@keyframes ibody360Morph {
	0% { transform: rotate(-9deg) scale(.9); border-radius: 42% 58% 63% 37%/55% 39% 61% 45%; }
	100% { transform: rotate(11deg) scale(1.08); border-radius: 61% 39% 43% 57%/41% 62% 38% 59%; }
}

@keyframes ibody360Number {
	0%,100% { transform: translateY(0) scale(1); filter: drop-shadow(0 0 0 rgba(186,244,45,0)); }
	50% { transform: translateY(-9px) scale(1.025); filter: drop-shadow(0 0 22px rgba(186,244,45,.2)); }
}

@keyframes ibody360Dot {
	to { transform: rotate(360deg); }
}

@media (max-width: 760px) {
	body.ibody-theme .elementor .e-con.ibody-section,
	body.ibody-theme .elementor .e-con.ibody-home-intro,
	body.ibody-theme .elementor .e-con.ibody-home-classes,
	body.ibody-theme .elementor .e-con.ibody-method,
	body.ibody-theme .elementor .e-con.ibody-home-clinical,
	body.ibody-theme .elementor .e-con.ibody-home-schedule,
	body.ibody-theme .elementor .e-con.ibody-home-journal,
	body.ibody-theme .elementor .e-con.ibody-team-intro,
	body.ibody-theme .elementor .e-con.ibody-team-showcase,
	body.ibody-theme .elementor .e-con.ibody-events-section,
	body.ibody-theme .elementor .e-con.ibody-journal-archive,
	body.ibody-theme .elementor .e-con.ibody-schedule-page,
	body.ibody-theme .elementor .e-con.ibody-contact-section,
	body.ibody-theme .elementor .e-con.ibody-inner-content,
	body.ibody-theme .elementor .e-con.ibody-feature-grid {
		padding: 85px 20px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-hero {
		min-height: 940px !important;
		padding: 150px 20px 125px !important;
		background-position: 68% 56% !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-hero__copy,
	body.ibody-theme .elementor .e-con.ibody-inner-hero__copy,
	body.ibody-theme .elementor .e-con.ibody-team-hero__copy {
		width: 100% !important;
	}

	body.ibody-theme .elementor .e-con.ibody-hero-actions {
		width: 100% !important;
		flex-direction: column !important;
		align-items: stretch !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-hero__stats {
		left: 20px !important;
		right: 20px !important;
		bottom: 105px !important;
		gap: 22px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-benefits,
	body.ibody-theme .elementor .e-con.ibody-experience-grid {
		padding: 70px 20px 80px !important;
		gap: 14px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-grid {
		display: flex !important;
		width: calc(100% + 20px) !important;
		max-width: none !important;
		margin-right: -20px !important;
		padding: 0 20px 14px 0 !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		scroll-snap-type: x mandatory !important;
		scroll-padding-left: 0 !important;
		scrollbar-width: none !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-grid::-webkit-scrollbar {
		display: none !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-card {
		flex: 0 0 84vw !important;
		width: 84vw !important;
		min-height: 610px !important;
		scroll-snap-align: start !important;
	}

	body.ibody-theme .elementor .ibody-class-card__icon {
		top: 125px !important;
		width: 185px !important;
		height: 185px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-method {
		gap: 45px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-method__visual {
		min-height: 520px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-method__visual .elementor-heading-title {
		font-size: 86px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-method__visual > .elementor-widget-heading::before {
		width: 205px;
		height: 205px;
	}

	body.ibody-theme .elementor .e-con.ibody-method__visual > .elementor-widget-heading::after {
		left: calc(50% + 94px);
		transform-origin: -94px 8px;
	}

	body.ibody-theme .elementor .e-con.ibody-schedule-link-card {
		padding: 28px 24px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-cta,
	body.ibody-theme .elementor .e-con.ibody-inner-cta {
		min-height: 560px !important;
		padding: 85px 20px 120px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-inner-hero,
	body.ibody-theme .elementor .e-con.ibody-team-hero {
		min-height: 740px !important;
		height: 88svh !important;
		padding: 150px 20px 70px !important;
		background-position: center 20% !important;
	}

	body.ibody-theme .elementor .e-con.ibody-contact-photo-hero {
		min-height: 600px !important;
		height: 70svh !important;
	}

	body.ibody-theme .elementor .e-con.ibody-ecosystem {
		padding: 68px 20px 35px !important;
		margin: 0 0 70px !important;
		border-radius: 28px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-brand-card {
		min-height: 390px !important;
		padding: 35px 22px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-trainer-card,
	body.ibody-theme .elementor .e-con.ibody-trainer-card:nth-child(-n+2) {
		min-height: 590px !important;
	}
}

/* ================================================================
 * Approved homepage parity — desktop and mobile
 * ================================================================ */

/* The homepage header sits directly over the hero and becomes solid only
 * after scrolling. */
body.home.ibody-theme .site-header.ibody-elementor-header:not(.is-scrolled) {
	background: transparent !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	box-shadow: none !important;
}

body.home.ibody-theme .elementor .e-con.ibody-home-hero {
	background-size: cover !important;
	background-position: center 40% !important;
	animation: ibodyHeroPan 14s ease-in-out infinite alternate !important;
}

@keyframes ibodyHeroPan {
	from { background-position: center 38%; }
	to { background-position: center 44%; }
}

/* Philosophy link and four detached premium cards. */
body.ibody-theme .elementor .e-con.ibody-home-intro__note .elementor-button {
	min-height: 0 !important;
	padding: 0 0 8px !important;
	border-radius: 0 !important;
	border-bottom: 1px solid var(--ink) !important;
	background: transparent !important;
	color: var(--ink) !important;
}

body.ibody-theme .elementor .e-con.ibody-benefits {
	display: grid !important;
	grid-template-columns: repeat(4,minmax(0,1fr)) !important;
	gap: 14px !important;
	padding: 0 6.8vw 90px !important;
}

body.ibody-theme .elementor .e-con.ibody-benefit-card {
	display: grid !important;
	grid-template-columns: 72px 1fr !important;
	grid-template-rows: auto auto !important;
	align-content: center !important;
	column-gap: 22px !important;
	row-gap: 8px !important;
	min-height: 230px !important;
	padding: 30px 26px !important;
	border: 1px solid var(--line) !important;
	border-radius: 25px !important;
	background: #fcfcf9 !important;
	box-shadow: 0 18px 45px rgba(18,24,19,.045) !important;
}

body.ibody-theme .elementor .e-con.ibody-benefit-card:hover {
	background: #111512 !important;
	color: #fff !important;
	transform: translateY(-8px) !important;
}

body.ibody-theme .elementor .ibody-benefit-card__icon {
	grid-column: 1 !important;
	grid-row: 1 / 3 !important;
	align-self: center !important;
	width: 72px !important;
	height: 72px !important;
	padding: 15px !important;
	border-radius: 21px 27px 20px 25px !important;
	background: var(--lime) !important;
	color: var(--ink) !important;
	transform: rotate(-3deg) !important;
}

body.ibody-theme .elementor .ibody-benefit-card__icon .elementor-widget-container,
body.ibody-theme .elementor .ibody-benefit-card__icon svg {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

body.ibody-theme .elementor .ibody-benefit-card__icon svg {
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2.6 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

body.ibody-theme .elementor .e-con.ibody-benefit-card > .elementor-widget-heading,
body.ibody-theme .elementor .e-con.ibody-benefit-card > .elementor-widget-text-editor {
	grid-column: 2 !important;
}

body.ibody-theme .elementor .e-con.ibody-benefit-card h3.elementor-heading-title {
	font-size: clamp(19px,1.35vw,23px) !important;
	line-height: 1.18 !important;
}

body.ibody-theme .elementor .e-con.ibody-benefit-card .elementor-widget-text-editor {
	color: #707570 !important;
	line-height: 1.55 !important;
}

body.ibody-theme .elementor .e-con.ibody-benefit-card:hover .elementor-widget-text-editor {
	color: rgba(255,255,255,.64) !important;
}

/* Approved asymmetrical services mosaic. */
@media (min-width: 1101px) {
	body.ibody-theme .elementor .e-con.ibody-home-classes {
		display: grid !important;
		grid-template-columns: .68fr 1.65fr .82fr !important;
		grid-template-rows: auto auto auto !important;
		column-gap: 5vw !important;
		row-gap: 58px !important;
		align-items: end !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-classes > .ibody-section-label {
		grid-column: 1 !important;
		grid-row: 1 !important;
		align-self: center !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-classes > .elementor-widget-heading:nth-child(2) {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-classes > .elementor-widget-text-editor {
		grid-column: 3 !important;
		grid-row: 1 !important;
		align-self: center !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-classes > .ibody-class-grid {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-classes > .elementor-widget-button {
		grid-column: 1 / -1 !important;
		grid-row: 3 !important;
		justify-self: center !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-grid {
		display: grid !important;
		grid-template-columns: 1.34fr .82fr .82fr !important;
		grid-template-rows: 320px 320px !important;
		gap: 12px !important;
		margin-top: 0 !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-card {
		min-height: 320px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-card:nth-child(1) {
		grid-column: 1 !important;
		grid-row: 1 / 3 !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-card:nth-child(2) { grid-column: 2 !important; grid-row: 1 !important; }
	body.ibody-theme .elementor .e-con.ibody-class-card:nth-child(3) { grid-column: 3 !important; grid-row: 1 !important; }
	body.ibody-theme .elementor .e-con.ibody-class-card:nth-child(4) { grid-column: 2 !important; grid-row: 2 !important; }
	body.ibody-theme .elementor .e-con.ibody-class-card:nth-child(5) { grid-column: 3 !important; grid-row: 2 !important; }

	body.ibody-theme .elementor .e-con.ibody-class-card > .elementor-widget-button {
		display: none !important;
	}

	body.ibody-theme .elementor .ibody-class-card__icon {
		top: 72px !important;
		width: 132px !important;
		height: 132px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-card:nth-child(1) .ibody-class-card__icon {
		top: 118px !important;
		width: 168px !important;
		height: 168px !important;
	}
}

/* Rebuilt 360° orbital visual from the approved preview. */
body.ibody-theme .elementor .e-con.ibody-method__visual {
	display: block !important;
	position: relative !important;
	min-height: 650px !important;
	background: #111512 !important;
}

body.ibody-theme .elementor .e-con.ibody-method__visual::before {
	inset: 10% !important;
	border-color: rgba(186,244,45,.22) !important;
	animation: ibody360Orbit 22s linear infinite !important;
}

body.ibody-theme .elementor .e-con.ibody-method__visual::after {
	inset: 19% 13% !important;
	border-color: rgba(186,244,45,.14) !important;
	animation: ibody360Morph 9s ease-in-out infinite alternate !important;
}

body.ibody-theme .elementor .e-con.ibody-method__visual-top,
body.ibody-theme .elementor .e-con.ibody-method__visual-bottom {
	position: absolute !important;
	z-index: 3 !important;
	width: auto !important;
	gap: 4px !important;
}

body.ibody-theme .elementor .e-con.ibody-method__visual-top {
	top: 38px !important;
	left: 38px !important;
}

body.ibody-theme .elementor .e-con.ibody-method__visual-bottom {
	right: 38px !important;
	bottom: 34px !important;
	align-items: flex-end !important;
	text-align: right !important;
}

body.ibody-theme .elementor .e-con.ibody-method__visual-top .elementor-heading-title,
body.ibody-theme .elementor .e-con.ibody-method__visual-bottom .elementor-heading-title {
	font-size: 46px !important;
	line-height: 1 !important;
	color: var(--lime) !important;
}

body.ibody-theme .elementor .e-con.ibody-method__visual-top .elementor-widget-text-editor,
body.ibody-theme .elementor .e-con.ibody-method__visual-bottom .elementor-widget-text-editor {
	position: static !important;
	color: rgba(255,255,255,.88) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .8px !important;
}

body.ibody-theme .elementor .ibody-method__orbit-icon {
	position: absolute !important;
	z-index: 2 !important;
	left: 50% !important;
	top: 50% !important;
	width: min(310px,58%) !important;
	height: min(310px,58%) !important;
	transform: translate(-50%,-50%) !important;
	color: var(--lime) !important;
	animation: ibodyOrbitPulse 5.5s ease-in-out infinite !important;
}

body.ibody-theme .elementor .ibody-method__orbit-icon .elementor-widget-container,
body.ibody-theme .elementor .ibody-method__orbit-icon svg {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

body.ibody-theme .elementor .ibody-method__orbit-icon svg {
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 6 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

@keyframes ibodyOrbitPulse {
	0%,100% { transform: translate(-50%,-50%) rotate(-3deg) scale(.97); }
	50% { transform: translate(-50%,-50%) rotate(3deg) scale(1.035); }
}

/* Exact Move / Heal / Thrive graphic divider. */
body.ibody-theme .elementor .e-con.ibody-home-clinical {
	display: grid !important;
	place-items: center !important;
	min-height: 650px !important;
	padding: 70px 20px !important;
	background: var(--lime) !important;
}

body.ibody-theme .elementor .e-con.ibody-home-clinical::after {
	content: none !important;
}

body.ibody-theme .elementor .e-con.ibody-mht-orbit {
	position: relative !important;
	width: min(360px,72vw) !important;
	height: min(360px,72vw) !important;
	padding: 0 !important;
	border: 1px solid rgba(17,19,18,.24) !important;
	border-radius: 47% 53% 55% 45% / 51% 44% 56% 49% !important;
	display: grid !important;
	place-content: center !important;
	gap: 14px !important;
	text-align: center !important;
	animation: ibodyMhtMain 9s ease-in-out infinite alternate !important;
}

body.ibody-theme .elementor .e-con.ibody-mht-orbit::before,
body.ibody-theme .elementor .e-con.ibody-mht-orbit::after {
	content: "";
	position: absolute;
	border: 1px solid rgba(17,19,18,.16);
	border-radius: 50%;
}

body.ibody-theme .elementor .e-con.ibody-mht-orbit::before {
	inset: 24px -32px !important;
	animation: ibodyMhtRing 11s linear infinite !important;
}

body.ibody-theme .elementor .e-con.ibody-mht-orbit::after {
	inset: -32px 22px !important;
	animation: ibodyMhtRing 15s linear infinite reverse !important;
}

body.ibody-theme .elementor .e-con.ibody-mht-orbit .elementor-heading-title {
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: 6px !important;
	color: var(--ink) !important;
}

@keyframes ibodyMhtMain {
	from { transform: rotate(-5deg) scale(.98); border-radius: 47% 53% 55% 45% / 51% 44% 56% 49%; }
	to { transform: rotate(5deg) scale(1.025); border-radius: 54% 46% 43% 57% / 46% 57% 43% 54%; }
}

@keyframes ibodyMhtRing {
	to { transform: rotate(360deg); }
}

/* Journal is a distinct white panel in the approved page rhythm. */
body.ibody-theme .elementor .e-con.ibody-home-journal {
	background: #fcfcf9 !important;
}

/* Five crisp line icons in the mobile dock. */
.academy-dock b {
	display: grid !important;
	place-items: center !important;
	width: 28px !important;
	height: 28px !important;
}

.academy-dock b svg {
	display: block !important;
	width: 26px !important;
	height: 26px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.8 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

@media (max-width: 1100px) and (min-width: 761px) {
	body.ibody-theme .elementor .e-con.ibody-benefits {
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	}
}

@media (max-width: 760px) {
	body.home.ibody-theme .site-header.ibody-elementor-header:not(.is-scrolled) {
		background: transparent !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-hero {
		background-size: cover !important;
		background-position: 68% 50% !important;
		animation: none !important;
	}

	body.ibody-theme .elementor .e-con.ibody-benefits {
		grid-template-columns: 1fr !important;
		padding: 55px 20px 80px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-benefit-card {
		grid-template-columns: 74px 1fr !important;
		min-height: 190px !important;
		padding: 26px 22px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-card > .elementor-widget-button {
		display: block !important;
	}

	body.ibody-theme .elementor .e-con.ibody-method__visual {
		min-height: 560px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-method__visual-top {
		top: 28px !important;
		left: 26px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-method__visual-bottom {
		right: 26px !important;
		bottom: 25px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-method__visual-top .elementor-heading-title,
	body.ibody-theme .elementor .e-con.ibody-method__visual-bottom .elementor-heading-title {
		font-size: 39px !important;
	}

	body.ibody-theme .elementor .ibody-method__orbit-icon {
		width: 230px !important;
		height: 230px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-clinical {
		min-height: 560px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-mht-orbit {
		width: min(270px,68vw) !important;
		height: min(270px,68vw) !important;
	}

	.academy-dock b svg {
		width: 23px !important;
		height: 23px !important;
	}

	.academy-dock .dock-logo img {
		width: 25px !important;
		height: 25px !important;
	}
}

/* Critical overrides retained after Elementor compatibility. */
body.ibody-theme .elementor .e-con.ibody-home-hero{background-position:center calc(50% + 75px)!important}
body.ibody-theme .desktop-nav .small-dropdown a::after,
body.ibody-theme .desktop-nav .mega-menu a::after,
body.ibody-theme .ibody-menu .sub-menu a::after{display:none!important}
body.ibody-theme .elementor .e-con.ibody-schedule-page{background:#f7f7f4!important}
@media(min-width:1101px){
 body.ibody-theme .elementor .e-con.ibody-class-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:430px!important;gap:14px!important}
 body.ibody-theme .elementor .e-con.ibody-class-grid>.ibody-class-card{grid-column:auto!important;grid-row:auto!important;min-height:430px!important}
}
@media(max-width:760px){
 body.ibody-theme .elementor .e-con.ibody-home-hero{background-position:center 18%!important}
 body.ibody-theme .elementor .e-con.ibody-schedule-page{padding-top:48px!important}
 body.ibody-theme .elementor .e-con.ibody-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;flex-wrap:nowrap!important;gap:10px!important}
 body.ibody-theme .elementor .e-con.ibody-hero-actions>.elementor-element{width:100%!important}.ibody-hero-actions .elementor-button{width:100%!important;min-height:68px!important;padding:12px 8px!important;font-size:11px!important;text-align:center!important}
}

/* 1.6.0: exact desktop navigation and benefit-card parity with the preview. */
body.ibody-theme .academy-desktop-nav{height:100%;gap:1.75vw;margin-left:auto;margin-right:1.4vw}
body.ibody-theme .academy-desktop-nav>.nav-parent{height:100%;display:flex;align-items:center;position:relative}
body.ibody-theme .academy-desktop-nav>.nav-parent--mega{position:static}
body.ibody-theme .academy-desktop-nav button{color:inherit;background:transparent;border:0;padding:0;display:flex;align-items:center;gap:5px;font-size:14px;font-weight:600;cursor:pointer}
body.ibody-theme .academy-desktop-nav button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}
body.ibody-theme .academy-desktop-nav>.nav-parent.is-open>button svg{transform:rotate(180deg)}
body.ibody-theme .academy-desktop-nav .small-dropdown{position:absolute;top:calc(100% - 1px);left:-24px;width:230px;padding:17px;background:#f7f6f1;color:var(--ink);border-radius:18px;box-shadow:0 28px 65px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(12px);transition:.28s;overflow:hidden}
body.ibody-theme .academy-desktop-nav .small-dropdown a{min-height:46px;padding:0 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;color:var(--ink)}
body.ibody-theme .academy-desktop-nav .small-dropdown a:last-child{border-bottom:0}
body.ibody-theme .academy-desktop-nav>.nav-parent:hover>.small-dropdown,
body.ibody-theme .academy-desktop-nav>.nav-parent:focus-within>.small-dropdown,
body.ibody-theme .academy-desktop-nav>.nav-parent.is-open>.small-dropdown{opacity:1;visibility:visible;transform:none}

body.ibody-theme .academy-desktop-nav .mega-menu{position:absolute;z-index:60;left:3vw;right:3vw;top:calc(100% - 1px);min-height:520px;display:grid;grid-template-columns:.68fr 2.15fr .48fr;background:#f7f6f1;color:var(--ink);border-radius:26px;box-shadow:0 35px 80px rgba(0,0,0,.26);opacity:0;visibility:hidden;transform:translateY(14px);transition:.32s ease;overflow:hidden}
body.ibody-theme .academy-desktop-nav>.nav-parent--mega:hover>.mega-menu,
body.ibody-theme .academy-desktop-nav>.nav-parent--mega:focus-within>.mega-menu,
body.ibody-theme .academy-desktop-nav>.nav-parent--mega.is-open>.mega-menu{opacity:1;visibility:visible;transform:none}
body.ibody-theme .academy-desktop-nav .mega-menu__intro{padding:45px;background:var(--lime);display:flex;flex-direction:column;align-items:flex-start}
body.ibody-theme .academy-desktop-nav .mega-menu__intro>span{font-size:14px;font-weight:800;letter-spacing:2px}
body.ibody-theme .academy-desktop-nav .mega-menu__intro strong{font-size:35px;line-height:1.1;letter-spacing:-.055em;margin:auto 0 35px}
body.ibody-theme .academy-desktop-nav .mega-menu__intro a{font-size:14px;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:8px;display:flex;gap:12px;color:var(--ink)}
body.ibody-theme .academy-desktop-nav .mega-menu__links{padding:34px 38px;display:grid;grid-auto-rows:min-content;align-content:start}
body.ibody-theme .academy-desktop-nav .mega-menu__groups{grid-template-columns:1.15fr 1fr .9fr;gap:28px}
body.ibody-theme .academy-desktop-nav .mega-class-group{min-width:0}
body.ibody-theme .academy-desktop-nav .mega-class-group__title{min-height:50px;border-bottom:1px solid #b9beb8;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:18px;font-weight:800;color:var(--ink)}
body.ibody-theme .academy-desktop-nav .mega-class-group__title svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:#78951d;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.ibody-theme .academy-desktop-nav .mega-class-group .nav-third-level{margin-top:8px;padding-left:0;border-left:0;display:flex;flex-direction:column}
body.ibody-theme .academy-desktop-nav .mega-class-group .nav-third-level a{min-height:42px;border-bottom:1px solid var(--line);display:flex;align-items:center;color:#626862;font-size:13px;font-weight:650;line-height:1.35;transition:padding-left .22s ease,color .22s ease}
body.ibody-theme .academy-desktop-nav .mega-class-group .nav-third-level a:hover{padding-left:7px;color:#647f12}
body.ibody-theme .academy-desktop-nav .mega-class-stack{display:flex;flex-direction:column;gap:25px;min-width:0}
body.ibody-theme .academy-desktop-nav .mega-class-stack .mega-class-group .nav-third-level a{min-height:36px}
body.ibody-theme .academy-desktop-nav .mega-menu__image{position:relative;overflow:hidden}
body.ibody-theme .academy-desktop-nav .mega-menu__image img{width:100%;height:100%;object-fit:cover}
body.ibody-theme .academy-desktop-nav .mega-menu__image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent)}
body.ibody-theme .academy-desktop-nav .mega-menu__image span{position:absolute;z-index:2;bottom:25px;left:25px;color:#fff;font-size:14px;font-weight:800;letter-spacing:2px}
body.ibody-theme .academy-desktop-nav .small-dropdown a::after,
body.ibody-theme .academy-desktop-nav .mega-menu a::after{display:none!important}

body.ibody-theme .elementor .e-con.ibody-benefits{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;padding:20px 4.3vw!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;background:var(--paper)!important;counter-reset:ibody-benefit}
body.ibody-theme .elementor .e-con.ibody-benefit-card{display:flex!important;flex-direction:column!important;justify-content:flex-end!important;align-items:stretch!important;gap:0!important;min-height:260px!important;padding:30px 28px!important;border:1px solid rgba(17,19,18,.12)!important;border-radius:26px!important;position:relative!important;overflow:hidden!important;isolation:isolate!important;counter-increment:ibody-benefit;background:linear-gradient(145deg,#fdfcf7,#e9e7df)!important;box-shadow:0 20px 46px rgba(18,22,18,.07)!important;transition:color .35s,transform .35s,box-shadow .35s,border-color .35s!important}
body.ibody-theme .elementor .e-con.ibody-benefit-card::before{content:"0" counter(ibody-benefit);position:absolute;left:28px;top:24px;font-size:14px;font-weight:800;letter-spacing:1.6px;color:rgba(17,19,18,.48);z-index:2}
body.ibody-theme .elementor .e-con.ibody-benefit-card::after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-82px;top:-94px;background:radial-gradient(circle,rgba(186,244,45,.65) 0%,rgba(186,244,45,.16) 45%,transparent 72%);border:1px solid rgba(17,19,18,.08);z-index:-1;transition:transform .55s ease}
body.ibody-theme .elementor .e-con.ibody-benefit-card>.elementor-widget{position:relative;z-index:2}
body.ibody-theme .elementor .e-con.ibody-benefit-card>.ibody-benefit-card__icon{position:absolute!important;right:24px!important;top:22px!important;width:68px!important;height:68px!important;padding:18px!important;border-radius:50%!important;background:var(--lime)!important;color:var(--ink)!important;display:grid!important;place-items:center!important;box-shadow:0 12px 32px rgba(120,158,26,.24)!important;transform:rotate(-5deg)!important;transition:transform .4s,box-shadow .4s!important;z-index:2!important}
body.ibody-theme .elementor .e-con.ibody-benefit-card>.ibody-benefit-card__icon .elementor-widget-container,
body.ibody-theme .elementor .e-con.ibody-benefit-card>.ibody-benefit-card__icon svg{display:block!important;width:100%!important;height:100%!important}
body.ibody-theme .elementor .e-con.ibody-benefit-card>.ibody-benefit-card__icon svg{fill:none!important;stroke:currentColor!important;stroke-width:2.2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body.ibody-theme .elementor .e-con.ibody-benefit-card>.elementor-widget-heading,
body.ibody-theme .elementor .e-con.ibody-benefit-card>.elementor-widget-text-editor{width:100%!important;grid-column:auto!important}
body.ibody-theme .elementor .e-con.ibody-benefit-card h3.elementor-heading-title{max-width:230px;margin:0 0 11px!important;color:inherit!important;font-size:21px!important;line-height:1.16!important;letter-spacing:-.045em!important}
body.ibody-theme .elementor .e-con.ibody-benefit-card .elementor-widget-text-editor{max-width:270px;color:#696d69!important;font-size:14px!important;line-height:1.65!important}
body.ibody-theme .elementor .e-con.ibody-benefit-card .elementor-widget-text-editor p{margin:0!important}
body.ibody-theme .elementor .e-con.ibody-benefit-card:nth-child(1),
body.ibody-theme .elementor .e-con.ibody-benefit-card:nth-child(4){background:linear-gradient(145deg,#222922,#101411)!important;color:#fff!important;border-color:rgba(186,244,45,.18)!important}
body.ibody-theme .elementor .e-con.ibody-benefit-card:nth-child(1)::before,
body.ibody-theme .elementor .e-con.ibody-benefit-card:nth-child(4)::before{color:rgba(255,255,255,.52)}
body.ibody-theme .elementor .e-con.ibody-benefit-card:nth-child(1) .elementor-widget-text-editor,
body.ibody-theme .elementor .e-con.ibody-benefit-card:nth-child(4) .elementor-widget-text-editor{color:rgba(255,255,255,.62)!important}
body.ibody-theme .elementor .e-con.ibody-benefit-card:nth-child(2){background:linear-gradient(145deg,#caff43,var(--lime))!important;color:var(--ink)!important}
body.ibody-theme .elementor .e-con.ibody-benefit-card:nth-child(2)>.ibody-benefit-card__icon{background:#151815!important;color:var(--lime)!important;box-shadow:0 12px 32px rgba(17,19,18,.2)!important}
body.ibody-theme .elementor .e-con.ibody-benefit-card:nth-child(2)::after{background:radial-gradient(circle,rgba(255,255,255,.65),rgba(255,255,255,.08) 58%,transparent 72%)}
body.ibody-theme .elementor .e-con.ibody-benefit-card:nth-child(2) .elementor-widget-text-editor{color:rgba(17,19,18,.66)!important}
body.ibody-theme .elementor .e-con.ibody-benefit-card:hover{transform:translateY(-9px)!important;box-shadow:0 30px 65px rgba(18,22,18,.16)!important;border-color:rgba(186,244,45,.5)!important}
body.ibody-theme .elementor .e-con.ibody-benefit-card:hover::after{transform:scale(1.18) translate(-8px,8px)}
body.ibody-theme .elementor .e-con.ibody-benefit-card:hover>.ibody-benefit-card__icon{transform:rotate(5deg) scale(1.09)!important;box-shadow:0 18px 38px rgba(120,158,26,.32)!important}

@media(max-width:1100px) and (min-width:761px){
 body.ibody-theme .elementor .e-con.ibody-benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
 body.ibody-theme .elementor .e-con.ibody-benefits{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none;padding:16px 14px 20px!important;gap:12px!important}
 body.ibody-theme .elementor .e-con.ibody-benefits::-webkit-scrollbar{display:none}
 body.ibody-theme .elementor .e-con.ibody-benefit-card{flex:0 0 84vw!important;width:auto!important;max-width:none!important;min-height:270px!important;padding:30px 26px!important;border-radius:24px!important;scroll-snap-align:start}
 body.ibody-theme .elementor .e-con.ibody-benefit-card::before{top:27px;left:26px}
 body.ibody-theme .elementor .e-con.ibody-benefit-card>.ibody-benefit-card__icon{width:70px!important;height:70px!important}
 body.ibody-theme .elementor .e-con.ibody-benefit-card h3.elementor-heading-title{max-width:245px;font-size:23px!important}
}

/* 1.7.0: final homepage parity with the approved Sites preview. */
body.home.ibody-theme .elementor .e-con.ibody-home-hero {
	background-image:
		linear-gradient(90deg,rgba(6,10,7,.97) 0%,rgba(6,10,7,.9) 34%,rgba(6,10,7,.34) 62%,rgba(6,10,7,.08) 79%),
		radial-gradient(circle at 94% 46%,rgba(156,211,38,.30) 0%,rgba(109,151,27,.14) 22%,transparent 46%),
		url("../images/ibody-hero-duo-2k-sharp.webp") !important;
	background-repeat: no-repeat !important;
	background-size: cover,cover,cover !important;
	background-position: center,center,center calc(50% + 75px) !important;
	animation: none !important;
}

body.home.ibody-theme .elementor .e-con.ibody-home-hero::before {
	content: none !important;
}

body.ibody-theme .elementor .e-con.ibody-hero-actions .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	letter-spacing: .05px !important;
}

body.ibody-theme .elementor .e-con.ibody-hero-actions .elementor-button-content-wrapper,
body.ibody-theme .elementor .e-con.ibody-method__copy .elementor-button-content-wrapper,
body.ibody-theme .elementor .e-con.ibody-home-clinical .elementor-button-content-wrapper,
body.ibody-theme .elementor .e-con.ibody-home-cta .elementor-button-content-wrapper,
body.ibody-theme .elementor .e-con.ibody-schedule-link-card .elementor-button-content-wrapper {
	display: flex !important;
	width: 100% !important;
	height: 100% !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Four equal service cards, using the same information hierarchy as preview. */
@media (min-width:1101px) {
	body.ibody-theme .elementor .e-con.ibody-home-classes {
		grid-template-columns: .68fr 1.65fr .82fr !important;
		grid-template-rows: auto auto auto !important;
		column-gap: 5vw !important;
		row-gap: 58px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-grid {
		grid-template-columns: repeat(4,minmax(0,1fr)) !important;
		grid-template-rows: 430px !important;
		gap: 14px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-grid > .ibody-class-card {
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-end !important;
		align-items: stretch !important;
		gap: 0 !important;
		min-width: 0 !important;
		min-height: 430px !important;
		padding: 28px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-card > .elementor-widget-text-editor {
		order: 3 !important;
		margin: 0 0 13px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-card > .elementor-widget-heading:not(.ibody-class-card__id) {
		order: 4 !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-card h3.elementor-heading-title {
		margin: 0 !important;
		font-size: clamp(29px,2.15vw,38px) !important;
		font-weight: 450 !important;
		line-height: 1 !important;
		letter-spacing: -.055em !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-card .elementor-widget-text-editor,
	body.ibody-theme .elementor .e-con.ibody-class-card .elementor-widget-text-editor p {
		font-size: 13px !important;
		font-weight: 500 !important;
		line-height: 1.35 !important;
		letter-spacing: .35px !important;
		text-transform: uppercase !important;
	}

	body.ibody-theme .elementor .ibody-class-card__icon,
	body.ibody-theme .elementor .e-con.ibody-class-card:nth-child(1) .ibody-class-card__icon {
		top: 66px !important;
		left: auto !important;
		right: 36px !important;
		width: 160px !important;
		height: 160px !important;
		transform: none !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-card:hover .ibody-class-card__icon {
		transform: rotate(-7deg) scale(1.06) !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-classes > .elementor-widget-button .elementor-button {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 14px !important;
		min-height: 46px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: #fff !important;
		font-size: 13px !important;
		font-weight: 750 !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-classes > .elementor-widget-button .elementor-button::after {
		content: "↗";
		display: grid;
		place-items: center;
		width: 42px;
		height: 42px;
		border: 1px solid rgba(255,255,255,.38);
		border-radius: 50%;
		font-size: 19px;
		font-weight: 500;
		line-height: 1;
	}
}

/* Pilates Method proportions, contrast and true 360-degree motion. */
body.ibody-theme .elementor .e-con.ibody-method {
	grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
	gap: 8vw !important;
	align-items: center !important;
	background: #fbfbf8 !important;
}

body.ibody-theme .elementor .e-con.ibody-method__visual {
	min-height: 710px !important;
	border-radius: 36px !important;
	background: #161b17 !important;
}

body.ibody-theme .elementor .ibody-method__orbit-icon {
	width: min(410px,58%) !important;
	height: min(410px,58%) !important;
	animation: ibodyOrbitSpin 18s linear infinite !important;
}

@keyframes ibodyOrbitSpin {
	to { transform: translate(-50%,-50%) rotate(360deg); }
}

body.ibody-theme .elementor .e-con.ibody-method__visual-top {
	top: 42px !important;
	left: 38px !important;
}

body.ibody-theme .elementor .e-con.ibody-method__visual-bottom {
	right: 38px !important;
	bottom: 36px !important;
}

body.ibody-theme .elementor .e-con.ibody-method__copy {
	gap: 24px !important;
	justify-content: center !important;
}

body.ibody-theme .elementor .e-con.ibody-method__copy h2.elementor-heading-title {
	font-size: clamp(64px,5vw,92px) !important;
	line-height: .88 !important;
}

body.ibody-theme .elementor .e-con.ibody-method__copy > .elementor-widget-text-editor {
	font-size: 16px !important;
	line-height: 1.72 !important;
}

body.ibody-theme .elementor .e-con.ibody-method__copy blockquote {
	margin: 4px 0 0 !important;
	padding: 4px 0 4px 22px !important;
	border-left: 2px solid var(--lime) !important;
	color: #303530 !important;
	line-height: 1.7 !important;
}

body.ibody-theme .elementor .e-con.ibody-method__copy blockquote small {
	color: #7a7f79 !important;
	font-size: 12px !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
}

body.ibody-theme .elementor .e-con.ibody-method__copy .elementor-button,
body.ibody-theme .elementor .e-con.ibody-home-clinical .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 13px !important;
	font-weight: 750 !important;
	line-height: 1.1 !important;
}

/* Full longevity statement instead of the reduced orbit-only divider. */
body.ibody-theme .elementor .e-con.ibody-home-clinical {
	display: grid !important;
	grid-template-columns: minmax(0,1.18fr) minmax(330px,.82fr) !important;
	place-items: center stretch !important;
	gap: 6vw !important;
	min-height: 620px !important;
	padding: 90px 6.8vw !important;
	background: var(--lime) !important;
	color: var(--ink) !important;
}

body.ibody-theme .elementor .e-con.ibody-home-clinical__copy {
	width: 100% !important;
	max-width: 920px !important;
	gap: 24px !important;
}

body.ibody-theme .elementor .e-con.ibody-home-clinical__copy .ibody-section-label {
	position: relative !important;
	padding-left: 50px !important;
	color: var(--ink) !important;
}

body.ibody-theme .elementor .e-con.ibody-home-clinical__copy .ibody-section-label::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 36px;
	height: 1px;
	background: currentColor;
}

body.ibody-theme .elementor .e-con.ibody-home-clinical h2.elementor-heading-title {
	max-width: 900px !important;
	font-size: clamp(58px,5.35vw,94px) !important;
	line-height: .88 !important;
	color: var(--ink) !important;
}

body.ibody-theme .elementor .e-con.ibody-home-clinical h2.elementor-heading-title em {
	color: transparent !important;
	-webkit-text-stroke: 1px var(--ink) !important;
	text-stroke: 1px var(--ink) !important;
}

body.ibody-theme .elementor .e-con.ibody-home-clinical__copy > .elementor-widget-text-editor {
	max-width: 720px !important;
	color: #222820 !important;
	font-size: 15px !important;
	line-height: 1.78 !important;
}

body.ibody-theme .elementor .e-con.ibody-home-clinical__copy > .elementor-widget-button {
	align-self: flex-start !important;
}

body.ibody-theme .elementor .e-con.ibody-home-clinical__copy .elementor-button {
	min-height: 54px !important;
	padding: 0 22px !important;
	border-radius: 13px !important;
	background: var(--ink) !important;
	color: #fff !important;
}

body.ibody-theme .elementor .e-con.ibody-home-clinical .ibody-mht-orbit {
	justify-self: end !important;
	width: min(390px,30vw) !important;
	height: min(390px,30vw) !important;
	gap: 17px !important;
}

body.ibody-theme .elementor .e-con.ibody-home-clinical .ibody-mht-orbit .elementor-heading-title {
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: 6px !important;
}

/* Schedule headline and square-arrow alignment. */
body.ibody-theme .elementor .e-con.ibody-home-schedule {
	grid-template-columns: minmax(0,1.3fr) minmax(330px,.7fr) !important;
}

body.ibody-theme .elementor .e-con.ibody-home-schedule__heading h2.elementor-heading-title {
	font-size: clamp(52px,4.2vw,76px) !important;
	line-height: .92 !important;
}

body.ibody-theme .elementor .e-con.ibody-schedule-link-card .elementor-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	line-height: 1 !important;
}

body.ibody-theme .elementor .e-con.ibody-schedule-link-card .elementor-button-text {
	display: block !important;
	line-height: 1 !important;
}

/* Four distinct, spaced and dynamically dated journal cards. */
body.ibody-theme .elementor .e-con.ibody-home-journal .journal-grid {
	display: grid !important;
	grid-template-columns: repeat(4,minmax(0,1fr)) !important;
	gap: 18px !important;
	width: 100% !important;
	margin-top: 45px !important;
}

body.ibody-theme .elementor .e-con.ibody-home-journal .journal-card {
	min-width: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-home-journal .journal-card__image {
	border-radius: 24px !important;
}

body.ibody-theme .elementor .e-con.ibody-home-journal .journal-card__image > span {
	display: grid !important;
	place-items: center !important;
	line-height: 1 !important;
}

body.ibody-theme .elementor .e-con.ibody-home-journal .journal-card h3 {
	font-size: clamp(22px,1.65vw,30px) !important;
	line-height: 1.12 !important;
}

/* The approved dark, centred closing call-to-action. */
body.ibody-theme .elementor .e-con.ibody-home-cta {
	position: relative !important;
	isolation: isolate !important;
	overflow: hidden !important;
	min-height: 620px !important;
	padding: 95px 20px !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 22px !important;
	background: #141915 !important;
	color: #fff !important;
	text-align: center !important;
}

body.ibody-theme .elementor .e-con.ibody-home-cta::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: 50%;
	top: 50%;
	width: 470px;
	aspect-ratio: 1;
	border: 1px solid rgba(186,244,45,.12);
	border-radius: 49% 51% 44% 56% / 52% 45% 55% 48%;
	box-shadow: 0 0 0 66px rgba(186,244,45,.018),0 0 0 132px rgba(186,244,45,.012);
	transform: translate(-50%,-50%) rotate(-8deg);
	animation: ibodyCtaOrbit 13s ease-in-out infinite alternate;
}

@keyframes ibodyCtaOrbit {
	to { transform: translate(-50%,-50%) rotate(9deg) scale(1.04); }
}

body.ibody-theme .elementor .e-con.ibody-home-cta > .elementor-element {
	position: relative !important;
	z-index: 1 !important;
}

body.ibody-theme .elementor .e-con.ibody-home-cta > .elementor-widget-heading:first-child .elementor-heading-title {
	color: rgba(255,255,255,.9) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 2.7px !important;
}

body.ibody-theme .elementor .e-con.ibody-home-cta h2.elementor-heading-title {
	font-size: clamp(78px,7.4vw,126px) !important;
	line-height: .84 !important;
	letter-spacing: -.07em !important;
	color: #fff !important;
}

body.ibody-theme .elementor .e-con.ibody-home-cta h2.elementor-heading-title em {
	color: var(--lime) !important;
	font-weight: 400 !important;
}

body.ibody-theme .elementor .e-con.ibody-home-cta > .elementor-widget-button .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 54px !important;
	padding: 0 19px !important;
	border: 1px solid rgba(186,244,45,.58) !important;
	border-radius: 13px !important;
	background: rgba(20,25,21,.78) !important;
	color: var(--lime) !important;
	font-size: 13px !important;
	font-weight: 750 !important;
	line-height: 1.1 !important;
}

@media (max-width:1100px) and (min-width:761px) {
	body.ibody-theme .elementor .e-con.ibody-home-journal .journal-grid {
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
		gap: 30px 18px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-clinical {
		grid-template-columns: 1.2fr .8fr !important;
	}
}

@media (max-width:760px) {
	body.home.ibody-theme .elementor .e-con.ibody-home-hero {
		background-size: cover,cover,cover !important;
		background-position: center,center,68% 18% !important;
	}

	body.ibody-theme .elementor .e-con.ibody-hero-actions .elementor-button {
		font-size: 11px !important;
		font-weight: 700 !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-card > .elementor-widget-text-editor {
		order: 3 !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-card > .elementor-widget-heading:not(.ibody-class-card__id) {
		order: 4 !important;
	}

	body.ibody-theme .elementor .e-con.ibody-class-card h3.elementor-heading-title {
		font-weight: 450 !important;
	}

	body.ibody-theme .elementor .e-con.ibody-method__visual {
		min-height: 560px !important;
	}

	body.ibody-theme .elementor .ibody-method__orbit-icon {
		width: 250px !important;
		height: 250px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-method__copy h2.elementor-heading-title {
		font-size: 52px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-clinical {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 65px !important;
		min-height: 0 !important;
		padding: 85px 20px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-clinical h2.elementor-heading-title {
		font-size: 50px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-clinical .ibody-mht-orbit {
		align-self: center !important;
		width: min(270px,72vw) !important;
		height: min(270px,72vw) !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-schedule {
		display: flex !important;
		flex-direction: column !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-schedule__heading h2.elementor-heading-title {
		font-size: 50px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-journal .journal-grid {
		grid-template-columns: 1fr !important;
		gap: 42px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-journal .journal-card h3 {
		font-size: 27px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-cta {
		min-height: 540px !important;
		padding: 85px 20px 120px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-cta h2.elementor-heading-title {
		font-size: clamp(58px,18vw,78px) !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-cta::before {
		width: 300px !important;
	}
}

@media (prefers-reduced-motion:reduce) {
	body.ibody-theme .elementor .ibody-method__orbit-icon,
	body.ibody-theme .elementor .e-con.ibody-home-cta::before {
		animation: none !important;
	}
}

/* 1.9.0 — final parity refinements from the approved desktop/mobile previews. */
html,
body.home.ibody-theme {
	background: #080b09 !important;
}

html:has(body.ibody-theme.admin-bar) {
	margin-top: 0 !important;
}

body.ibody-theme .elementor-location-header,
body.ibody-theme .ibody-header-template,
body.ibody-theme .elementor-location-header > .elementor-element {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* The closing pulse is made from true circles at every animation frame. */
body.ibody-theme .elementor .e-con.ibody-home-cta::before,
body.ibody-theme .elementor .e-con.ibody-home-cta::after {
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	border-radius: 50% !important;
}

@keyframes ibodyCtaPulse {
	0%,100% { opacity: .34; transform: translate(-50%,-50%) scale(.9); }
	50% { opacity: .92; transform: translate(-50%,-50%) scale(1.07); }
}

@keyframes ibodyCtaPulseInner {
	0%,100% { opacity: .18; transform: translate(-50%,-50%) scale(1.08); }
	50% { opacity: .62; transform: translate(-50%,-50%) scale(.9); }
}

/* About copy uses the larger editorial scale shown in the preview. */
body.ibody-theme .elementor .e-con.ibody-inner-content--about {
	grid-template-columns: .72fr 1.78fr !important;
	gap: 7.5vw !important;
	align-items: center !important;
	min-height: 610px !important;
}

body.ibody-theme .elementor .e-con.ibody-inner-content--about .ibody-inner-content__copy {
	max-width: 960px !important;
	gap: 28px !important;
}

body.ibody-theme .elementor .e-con.ibody-inner-content--about .ibody-inner-content__copy > .elementor-widget-text-editor,
body.ibody-theme .elementor .e-con.ibody-inner-content--about .ibody-inner-content__copy > .elementor-widget-text-editor p {
	font-size: clamp(22px,1.55vw,27px) !important;
	line-height: 1.58 !important;
	letter-spacing: -.025em !important;
	color: #222622 !important;
}

body.ibody-theme .elementor .e-con.ibody-inner-content--about .ibody-inner-content__copy > .elementor-widget-text-editor:first-child,
body.ibody-theme .elementor .e-con.ibody-inner-content--about .ibody-inner-content__copy > .elementor-widget-text-editor:first-child p {
	font-weight: 700 !important;
}

/* Reserve a clear top zone for the card icons so they never touch headings. */
body.ibody-theme .elementor .e-con.ibody-experience-card {
	min-height: 310px !important;
	padding: 120px 28px 28px !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card h3.elementor-heading-title {
	max-width: 235px !important;
	margin: 0 !important;
}

body.ibody-theme .elementor .ibody-experience-card__icon {
	top: 25px !important;
	right: 25px !important;
}

/* Group of Brands — the preview uses editorial columns and underlined links. */
body.ibody-theme .elementor .e-con.ibody-brands-grid {
	align-items: stretch !important;
}

body.ibody-theme .elementor .e-con.ibody-brand-card {
	display: grid !important;
	grid-template-rows: 132px auto 1fr auto !important;
	align-content: stretch !important;
	justify-content: stretch !important;
	gap: 15px !important;
	min-height: 410px !important;
	padding: 42px 36px 24px !important;
}

body.ibody-theme .elementor .e-con.ibody-brand-card > * {
	width: 100% !important;
	margin: 0 !important;
	align-self: start !important;
}

body.ibody-theme .elementor .e-con.ibody-brand-card .ibody-brand-logo,
body.ibody-theme .elementor .e-con.ibody-brand-card .ibody-brand-portrait {
	align-self: center !important;
}

body.ibody-theme .elementor .e-con.ibody-brand-card h3.elementor-heading-title {
	font-size: clamp(27px,2vw,35px) !important;
	line-height: 1.02 !important;
}

body.ibody-theme .elementor .e-con.ibody-brand-card .ibody-line-button {
	align-self: end !important;
}

body.ibody-theme .elementor .e-con.ibody-brand-card .ibody-line-button .elementor-button {
	width: 100% !important;
	min-height: 0 !important;
	padding: 0 0 9px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--lime) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--lime) !important;
	justify-content: flex-start !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}

body.ibody-theme .elementor .e-con.ibody-brand-card .ibody-line-button .elementor-button-content-wrapper {
	justify-content: flex-start !important;
}

/* Team cards: keep metadata unclipped and the longest name on one line. */
body.ibody-theme .elementor .e-con.ibody-trainer-card .elementor-widget-heading:nth-child(2) {
	position: absolute !important;
	top: 26px !important;
	left: 28px !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
	overflow: visible !important;
}

body.ibody-theme .elementor .e-con.ibody-trainer-card .elementor-widget-heading:nth-child(3) {
	width: auto !important;
	height: auto !important;
	margin-bottom: 8px !important;
	padding: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
	overflow: visible !important;
	align-self: flex-start !important;
}

body.ibody-theme .elementor .e-con.ibody-trainer-card .elementor-widget-heading:nth-child(3) .elementor-heading-title {
	white-space: normal !important;
	overflow: visible !important;
}

@media (min-width:761px) {
	body.ibody-theme .elementor .e-con.ibody-trainer-card:last-child h3.elementor-heading-title {
		font-size: clamp(23px,1.72vw,31px) !important;
		white-space: nowrap !important;
		letter-spacing: -.06em !important;
	}
}

/* Contact page — balanced information panel, form card and social links. */
body.ibody-theme .elementor .e-con.ibody-contact-section {
	display: grid !important;
	grid-template-columns: minmax(300px,.82fr) minmax(500px,1.35fr) !important;
	gap: 24px !important;
	align-items: stretch !important;
	background: #f3f1eb !important;
}

body.ibody-theme .elementor .e-con.ibody-contact-panel {
	min-width: 0 !important;
	padding: clamp(34px,4vw,64px) !important;
	border-radius: 30px !important;
}

body.ibody-theme .elementor .e-con.ibody-contact-panel--info {
	background: #111512 !important;
	color: #fff !important;
}

body.ibody-theme .elementor .e-con.ibody-contact-panel--info h2.elementor-heading-title {
	font-size: clamp(54px,5vw,82px) !important;
	line-height: .88 !important;
	letter-spacing: -.065em !important;
	color: #fff !important;
}

body.ibody-theme .elementor .e-con.ibody-contact-panel--info .elementor-widget-text-editor {
	max-width: 420px !important;
	color: rgba(255,255,255,.64) !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
}

body.ibody-theme .elementor .e-con.ibody-contact-panel--form {
	background: #fcfcf9 !important;
	border: 1px solid rgba(17,19,18,.12) !important;
	box-shadow: 0 28px 70px rgba(19,24,19,.08) !important;
}

body.ibody-theme .elementor .ibody-contact-details,
body.ibody-theme .elementor .ibody-contact-socials {
	margin-top: 38px !important;
	padding-top: 24px !important;
	border-top: 1px solid rgba(255,255,255,.16) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 10px !important;
}

body.ibody-theme .elementor .ibody-contact-details span,
body.ibody-theme .elementor .ibody-contact-socials span {
	margin-bottom: 5px !important;
	color: var(--lime) !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: 1.8px !important;
}

body.ibody-theme .elementor .ibody-contact-details strong {
	font-size: 20px !important;
	line-height: 1.35 !important;
}

body.ibody-theme .elementor .ibody-contact-details a,
body.ibody-theme .elementor .ibody-contact-socials a {
	font-size: 14px !important;
	color: rgba(255,255,255,.78) !important;
}

body.ibody-theme .elementor .ibody-contact-socials {
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
}

body.ibody-theme .elementor .ibody-contact-socials span {
	flex: 0 0 100% !important;
}

body.ibody-theme .elementor .ibody-contact-socials a {
	padding: 12px 15px !important;
	border: 1px solid rgba(186,244,45,.42) !important;
	border-radius: 12px !important;
	color: var(--lime) !important;
}

body.ibody-theme .elementor .ibody-contact-form .ibody-cf7-grid {
	grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	gap: 22px 20px !important;
}

/* Popup proportions and field hierarchy from the approved preview. */
.ibody-contact-modal {
	padding: 14px !important;
}

.message-dialog {
	width: min(670px,calc(100vw - 28px)) !important;
	max-width: 670px !important;
	max-height: calc(100svh - 28px) !important;
	padding: 38px 40px 36px !important;
	border-radius: 26px !important;
	overflow-y: auto !important;
}

.message-dialog h2,
.message-dialog #ibody-contact-title {
	max-width: 570px !important;
	margin: 16px 0 13px !important;
	font-size: clamp(45px,4.3vw,57px) !important;
	line-height: .88 !important;
	letter-spacing: -.065em !important;
}

.message-dialog .message-form-wrap {
	margin-top: 24px !important;
}

.message-dialog .wpcf7-form > p,
.message-dialog .ibody-cf7-grid > p {
	margin: 0 !important;
}

.message-dialog .ibody-cf7-grid {
	display: grid !important;
	grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	gap: 14px 16px !important;
}

.message-dialog .ibody-cf7-grid .full {
	grid-column: 1 / -1 !important;
}

.message-dialog .ibody-cf7-grid textarea {
	min-height: 104px !important;
	height: 104px !important;
}

.message-dialog .ibody-cf7-grid input[type=submit] {
	min-height: 58px !important;
	height: 58px !important;
}

@media (max-width:1000px) {
	body.ibody-theme .elementor .e-con.ibody-contact-section {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width:760px) {
	body.ibody-theme .elementor .e-con.ibody-inner-content--about {
		min-height: 0 !important;
		align-items: start !important;
	}

	body.ibody-theme .elementor .e-con.ibody-inner-content--about .ibody-inner-content__copy > .elementor-widget-text-editor,
	body.ibody-theme .elementor .e-con.ibody-inner-content--about .ibody-inner-content__copy > .elementor-widget-text-editor p {
		font-size: 20px !important;
		line-height: 1.58 !important;
	}

	body.ibody-theme .elementor .e-con.ibody-experience-card {
		min-height: 310px !important;
		padding: 118px 25px 25px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-brand-card {
		grid-template-rows: 120px auto auto auto !important;
		min-height: 0 !important;
		padding: 34px 8px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-contact-section {
		padding: 68px 14px 90px !important;
		gap: 14px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-contact-panel {
		padding: 32px 22px !important;
		border-radius: 24px !important;
	}

	body.ibody-theme .elementor .ibody-contact-form .ibody-cf7-grid,
	.message-dialog .ibody-cf7-grid {
		grid-template-columns: 1fr !important;
	}

	body.ibody-theme .elementor .ibody-contact-form .ibody-cf7-grid .full,
	.message-dialog .ibody-cf7-grid .full {
		grid-column: 1 !important;
	}

	.message-dialog {
		width: calc(100vw - 16px) !important;
		max-width: none !important;
		max-height: calc(100svh - 16px) !important;
		padding: 27px 20px 20px !important;
	}

	.message-dialog h2,
	.message-dialog #ibody-contact-title {
		font-size: clamp(34px,10.5vw,43px) !important;
	}
}

/* 1.8.0: cross-page parity, reliable motion and responsive component fixes. */
.site-header .header-round {
	display: grid;
	place-items: center;
}

.site-header .header-round svg {
	display: block;
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.65;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Animate the SVG itself so Elementor's positioning transform remains intact. */
body.ibody-theme .elementor .ibody-method__orbit-icon {
	animation: none !important;
	transform: translate(-50%,-50%) !important;
}

body.ibody-theme .elementor .ibody-method__orbit-icon svg {
	transform-box: fill-box;
	transform-origin: center;
	will-change: transform;
	animation: ibodyOrbitSpinSvg 15s linear infinite !important;
}

@keyframes ibodyOrbitSpinSvg {
	to { transform: rotate(1turn); }
}

/* Journal: four independent cards, correctly sized imagery and preview placement. */
body.ibody-theme .elementor .e-con.ibody-home-journal {
	position: relative !important;
}

body.ibody-theme .elementor .e-con.ibody-home-journal .journal-grid {
	grid-template-columns: repeat(4,minmax(0,1fr)) !important;
	column-gap: 22px !important;
	row-gap: 38px !important;
	width: 100% !important;
	min-width: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-home-journal .journal-card {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	overflow: hidden !important;
}

body.ibody-theme .elementor .e-con.ibody-home-journal .journal-card__image {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	aspect-ratio: 1.34 / 1 !important;
	border-radius: 24px !important;
}

body.ibody-theme .elementor .e-con.ibody-home-journal .journal-card__image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	object-fit: cover !important;
}

body.ibody-theme .elementor .e-con.ibody-home-journal .journal-card__category {
	margin-top: 18px !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
}

body.ibody-theme .elementor .e-con.ibody-home-journal .journal-card h3 {
	margin-top: 10px !important;
	font-size: clamp(20px,1.45vw,24px) !important;
	line-height: 1.12 !important;
	letter-spacing: -.045em !important;
}

@media (min-width:1101px) {
	body.ibody-theme .elementor .e-con.ibody-home-journal > .elementor-widget-button {
		position: absolute !important;
		top: clamp(112px,8.8vw,132px) !important;
		right: 6.8vw !important;
		left: auto !important;
		width: auto !important;
		margin: 0 !important;
	}
}

/* Closing CTA: the pulse must sit above the section background. */
body.ibody-theme .elementor .e-con.ibody-home-cta::before,
body.ibody-theme .elementor .e-con.ibody-home-cta::after {
	content: "" !important;
	position: absolute !important;
	z-index: 0 !important;
	left: 50% !important;
	top: 50% !important;
	width: 470px !important;
	aspect-ratio: 1 !important;
	border: 1px solid rgba(186,244,45,.16) !important;
	border-radius: 49% 51% 44% 56% / 52% 45% 55% 48% !important;
	pointer-events: none !important;
	will-change: transform,opacity;
}

body.ibody-theme .elementor .e-con.ibody-home-cta::before {
	box-shadow: 0 0 0 66px rgba(186,244,45,.024),0 0 0 132px rgba(186,244,45,.016) !important;
	animation: ibodyCtaPulse 4.8s ease-in-out infinite !important;
}

body.ibody-theme .elementor .e-con.ibody-home-cta::after {
	width: 330px !important;
	border-color: rgba(186,244,45,.09) !important;
	animation: ibodyCtaPulseInner 4.8s ease-in-out 1.2s infinite !important;
}

@keyframes ibodyCtaPulse {
	0%,100% { opacity: .42; transform: translate(-50%,-50%) rotate(-7deg) scale(.92); }
	50% { opacity: 1; transform: translate(-50%,-50%) rotate(7deg) scale(1.055); }
}

@keyframes ibodyCtaPulseInner {
	0%,100% { opacity: .2; transform: translate(-50%,-50%) rotate(8deg) scale(1.06); }
	50% { opacity: .68; transform: translate(-50%,-50%) rotate(-8deg) scale(.9); }
}

/* Inner pages use the same readable type scale as the preview. */
body.ibody-theme .elementor .e-con.ibody-inner-hero__copy > .ibody-inner-hero__intro,
body.ibody-theme .elementor .e-con.ibody-inner-hero__copy > .ibody-inner-hero__intro .elementor-widget-container,
body.ibody-theme .elementor .e-con.ibody-inner-hero__copy > .ibody-inner-hero__intro p {
	max-width: 760px !important;
	font-size: 18px !important;
	line-height: 1.68 !important;
}

body.ibody-theme .elementor .e-con.ibody-inner-content__copy > .elementor-widget-text-editor,
body.ibody-theme .elementor .e-con.ibody-inner-content__copy > .elementor-widget-text-editor .elementor-widget-container,
body.ibody-theme .elementor .e-con.ibody-inner-content__copy > .elementor-widget-text-editor p {
	font-size: 18px !important;
	line-height: 1.72 !important;
}

body.ibody-theme .elementor .e-con.ibody-inner-content__copy {
	gap: 24px !important;
}

/* Four editorial cards used on the About page. */
body.ibody-theme .elementor .e-con.ibody-experience-grid {
	grid-template-columns: repeat(4,minmax(0,1fr)) !important;
	gap: 14px !important;
	padding: 90px 2vw 80px !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	align-items: stretch !important;
	gap: 8px !important;
	min-width: 0 !important;
	min-height: 270px !important;
	padding: 28px !important;
	border: 1px solid rgba(136,143,134,.28) !important;
	border-radius: 24px !important;
	overflow: hidden !important;
	box-shadow: none !important;
	transform: none !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card:nth-child(1),
body.ibody-theme .elementor .e-con.ibody-experience-card:nth-child(4) {
	background: #182019 !important;
	color: #fff !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card:nth-child(2) {
	background: var(--lime) !important;
	color: var(--ink) !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card:nth-child(3) {
	background: #f7f6f0 !important;
	color: var(--ink) !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card::after {
	content: "";
	position: absolute;
	z-index: 0;
	width: 210px;
	height: 210px;
	right: -68px;
	top: -88px;
	border: 1px solid currentColor;
	border-radius: 50%;
	opacity: .09;
	box-shadow: 0 0 0 36px currentColor,0 0 0 72px currentColor;
}

body.ibody-theme .elementor .e-con.ibody-experience-card > * {
	position: relative !important;
	z-index: 1 !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card__number {
	position: absolute !important;
	top: 26px !important;
	left: 27px !important;
	margin: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card__number .elementor-heading-title {
	font-size: 13px !important;
	font-weight: 750 !important;
	letter-spacing: .9px !important;
}

body.ibody-theme .elementor .ibody-experience-card__icon {
	position: absolute !important;
	top: 22px !important;
	right: 22px !important;
	width: 66px !important;
	height: 66px !important;
	padding: 14px !important;
	border-radius: 50% !important;
	background: var(--lime) !important;
	color: var(--ink) !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card:nth-child(2) .ibody-experience-card__icon {
	background: #111512 !important;
	color: var(--lime) !important;
}

body.ibody-theme .elementor .ibody-experience-card__icon svg {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2.2 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card h3.elementor-heading-title {
	max-width: 250px !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	line-height: 1.08 !important;
	letter-spacing: -.045em !important;
	color: inherit !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card .elementor-widget-text-editor,
body.ibody-theme .elementor .e-con.ibody-experience-card .elementor-widget-text-editor p {
	max-width: 245px !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	color: currentColor !important;
	opacity: .62 !important;
}

/* Group of Brands: layered rotating paths and a stable central core. */
body.ibody-theme .elementor .e-con.ibody-ecosystem {
	width: calc(100% - 4vw) !important;
	max-width: none !important;
}

body.ibody-theme .elementor .e-con.ibody-ecosystem-orbit {
	position: relative !important;
	display: grid !important;
	place-items: center !important;
	width: min(440px,75vw) !important;
	height: min(440px,75vw) !important;
	aspect-ratio: 1 !important;
}

body.ibody-theme .elementor .e-con.ibody-ecosystem-orbit::before,
body.ibody-theme .elementor .e-con.ibody-ecosystem-orbit::after {
	content: none !important;
}

body.ibody-theme .elementor .ibody-brand-orbit-art {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

body.ibody-theme .elementor .ibody-brand-orbit__track {
	position: absolute;
	inset: 5%;
	border: 1px solid rgba(186,244,45,.3);
	border-radius: 50%;
	animation: ibodyBrandTrack 17s linear infinite;
}

body.ibody-theme .elementor .ibody-brand-orbit__track::before,
body.ibody-theme .elementor .ibody-brand-orbit__track::after {
	content: "";
	position: absolute;
	inset: 14% -7%;
	border: 1px solid rgba(186,244,45,.18);
	border-radius: 50%;
	transform: rotate(58deg);
}

body.ibody-theme .elementor .ibody-brand-orbit__track::after {
	transform: rotate(-58deg);
}

body.ibody-theme .elementor .ibody-brand-orbit__track i {
	position: absolute;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: var(--lime);
	box-shadow: 0 0 25px rgba(186,244,45,.72);
}

body.ibody-theme .elementor .ibody-brand-orbit__track i:nth-child(1) { left: 49%; top: -8px; }
body.ibody-theme .elementor .ibody-brand-orbit__track i:nth-child(2) { right: 2%; bottom: 18%; }
body.ibody-theme .elementor .ibody-brand-orbit__track i:nth-child(3) { left: 4%; bottom: 15%; }

body.ibody-theme .elementor .ibody-brand-orbit__shape,
body.ibody-theme .elementor .ibody-brand-orbit__shape::after {
	position: absolute;
	inset: 22%;
	content: "";
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 46% 54% 58% 42% / 53% 45% 55% 47%;
	animation: ibodyBrandShape 8s ease-in-out infinite alternate;
}

body.ibody-theme .elementor .ibody-brand-orbit__shape::after {
	inset: 14%;
	border-color: rgba(186,244,45,.19);
	animation-duration: 6.5s;
	animation-direction: alternate-reverse;
}

body.ibody-theme .elementor .ibody-brand-orbit__core {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 120px;
	height: 120px;
	transform: translate(-50%,-50%);
	border-radius: 50%;
	background: var(--lime);
	display: grid;
	place-items: center;
	box-shadow: 0 0 60px rgba(186,244,45,.25);
}

body.ibody-theme .elementor .ibody-brand-orbit__core b {
	display: block;
	width: 62px;
	height: 62px;
	border: 4px solid #111512;
	border-radius: 50%;
	animation: ibodyBrandCore 3.6s ease-in-out infinite;
}

@keyframes ibodyBrandTrack { to { transform: rotate(1turn); } }
@keyframes ibodyBrandShape {
	from { transform: rotate(-8deg) scale(.92); border-radius: 46% 54% 58% 42% / 53% 45% 55% 47%; }
	to { transform: rotate(10deg) scale(1.08); border-radius: 61% 39% 43% 57% / 42% 61% 39% 58%; }
}
@keyframes ibodyBrandCore {
	0%,100% { transform: scale(.92); opacity: .72; }
	50% { transform: scale(1.08); opacity: 1; }
}

/* Contact dialog fits the viewport without a visible internal scrollbar. */
.ibody-contact-modal {
	padding: 18px !important;
}

.message-dialog {
	width: min(880px,calc(100vw - 36px)) !important;
	max-width: 880px !important;
	max-height: calc(100svh - 36px) !important;
	padding: 34px 38px 32px !important;
	overflow-y: auto !important;
	scrollbar-width: none;
}

.message-dialog::-webkit-scrollbar { display: none; }

.message-dialog h2,
.message-dialog #ibody-contact-title {
	margin: 12px 0 8px !important;
	font-size: clamp(42px,4.2vw,58px) !important;
	line-height: .9 !important;
}

.message-dialog > p {
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
}

.message-dialog .message-form-wrap {
	width: 100% !important;
	max-width: none !important;
	margin-top: 18px !important;
}

.message-dialog .wpcf7,
.message-dialog .wpcf7-form,
.message-dialog .ibody-cf7-grid {
	width: 100% !important;
	max-width: none !important;
}

.message-dialog .ibody-cf7-grid {
	grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	gap: 12px 16px !important;
}

.message-dialog .ibody-cf7-grid label {
	width: 100% !important;
	min-width: 0 !important;
	gap: 6px !important;
	font-size: 12px !important;
	line-height: 1.2 !important;
}

.message-dialog .ibody-cf7-grid input:not([type=submit]) {
	min-height: 48px !important;
	height: 48px !important;
	padding: 10px 13px !important;
}

.message-dialog .ibody-cf7-grid textarea {
	min-height: 92px !important;
	height: 92px !important;
	padding: 11px 13px !important;
	resize: none !important;
}

.message-dialog .ibody-cf7-grid input[type=submit] {
	width: 100% !important;
	min-height: 50px !important;
	height: 50px !important;
}

.message-dialog .wpcf7-spinner { margin: 8px 0 0 !important; }
.message-dialog .wpcf7-response-output { margin: 10px 0 0 !important; padding: 8px 10px !important; }

@media (max-width:1100px) and (min-width:761px) {
	body.ibody-theme .elementor .e-con.ibody-experience-grid {
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	}
}

@media (max-width:760px) {
	body.ibody-theme .elementor .e-con.ibody-inner-hero,
	body.ibody-theme .elementor .e-con.ibody-team-hero {
		min-height: 620px !important;
		height: 78svh !important;
		padding: 145px 20px 64px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-inner-hero h1.elementor-heading-title {
		font-size: clamp(48px,15vw,64px) !important;
		line-height: .9 !important;
	}

	body.ibody-theme .elementor .e-con.ibody-inner-hero__copy > .ibody-inner-hero__intro,
	body.ibody-theme .elementor .e-con.ibody-inner-hero__copy > .ibody-inner-hero__intro .elementor-widget-container,
	body.ibody-theme .elementor .e-con.ibody-inner-hero__copy > .ibody-inner-hero__intro p,
	body.ibody-theme .elementor .e-con.ibody-inner-content__copy > .elementor-widget-text-editor,
	body.ibody-theme .elementor .e-con.ibody-inner-content__copy > .elementor-widget-text-editor .elementor-widget-container,
	body.ibody-theme .elementor .e-con.ibody-inner-content__copy > .elementor-widget-text-editor p {
		font-size: 17px !important;
		line-height: 1.68 !important;
	}

	body.ibody-theme .elementor .e-con.ibody-inner-content {
		padding: 70px 20px !important;
		gap: 34px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-journal .journal-grid {
		grid-template-columns: 1fr !important;
		gap: 34px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-journal .journal-card {
		overflow: visible !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-journal .journal-card h3 {
		font-size: 24px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-journal > .elementor-widget-button {
		position: static !important;
		width: auto !important;
		align-self: flex-start !important;
		margin-top: 8px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-cta::before {
		width: 300px !important;
		box-shadow: 0 0 0 42px rgba(186,244,45,.024),0 0 0 84px rgba(186,244,45,.016) !important;
	}

	body.ibody-theme .elementor .e-con.ibody-home-cta::after {
		width: 220px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-experience-grid {
		display: flex !important;
		overflow-x: auto !important;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		padding: 65px 20px 75px !important;
		gap: 12px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-experience-grid::-webkit-scrollbar { display: none; }

	body.ibody-theme .elementor .e-con.ibody-experience-card {
		flex: 0 0 84vw !important;
		width: 84vw !important;
		min-height: 280px !important;
		scroll-snap-align: start;
	}

	body.ibody-theme .elementor .e-con.ibody-ecosystem {
		width: 100% !important;
		margin: 0 0 70px !important;
		padding: 68px 20px 0 !important;
		border-radius: 28px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-ecosystem h2.elementor-heading-title {
		font-size: 56px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-ecosystem-orbit {
		width: min(320px,82vw) !important;
		height: min(320px,82vw) !important;
	}

	body.ibody-theme .elementor .ibody-brand-orbit__core {
		width: 96px;
		height: 96px;
	}

	body.ibody-theme .elementor .ibody-brand-orbit__core b {
		width: 50px;
		height: 50px;
	}

	.ibody-contact-modal { padding: 8px !important; }

	.message-dialog {
		width: calc(100vw - 16px) !important;
		max-width: none !important;
		max-height: calc(100svh - 16px) !important;
		padding: 25px 18px 18px !important;
		border-radius: 22px !important;
	}

	.message-dialog .message-dialog__eyebrow { font-size: 11px !important; }
	.message-dialog h2,
	.message-dialog #ibody-contact-title { margin-top: 9px !important; font-size: 36px !important; }
	.message-dialog > p { font-size: 13px !important; }
	.message-dialog .ibody-contact-close { top: 12px !important; right: 12px !important; width: 36px !important; height: 36px !important; }
	.message-dialog .message-form-wrap { margin-top: 13px !important; }
	.message-dialog .ibody-cf7-grid { grid-template-columns: 1fr !important; gap: 9px !important; }
	.message-dialog .ibody-cf7-grid .full { grid-column: 1 !important; }
	.message-dialog .ibody-cf7-grid input:not([type=submit]) { min-height: 44px !important; height: 44px !important; }
	.message-dialog .ibody-cf7-grid textarea { min-height: 72px !important; height: 72px !important; }
	.message-dialog .ibody-cf7-grid input[type=submit] { min-height: 46px !important; height: 46px !important; }
}

/* 1.10.0 — regression fixes and isolated mobile homepage parity. */
html {
	background: var(--paper) !important;
}

body.ibody-theme,
body.home.ibody-theme {
	background: var(--paper) !important;
}

body.home.ibody-theme .elementor .e-con.ibody-home-intro,
body.home.ibody-theme .elementor .e-con.ibody-benefits,
body.home.ibody-theme .elementor .e-con.ibody-method,
body.home.ibody-theme .elementor .e-con.ibody-home-schedule {
	background: var(--paper) !important;
	color: var(--ink) !important;
}

body.home.ibody-theme .elementor .e-con.ibody-home-journal {
	background: var(--white) !important;
	color: var(--ink) !important;
}

/* The Elementor HTML widget is the second direct child in every card. Using
 * the structure as well as its class prevents legacy widget CSS from putting
 * the icon back into the title flow. */
body.ibody-theme .elementor .e-con.ibody-experience-card {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	align-items: stretch !important;
	gap: 9px !important;
	min-height: 310px !important;
	padding: 122px 28px 28px !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(1) {
	position: absolute !important;
	top: 27px !important;
	left: 28px !important;
	width: auto !important;
	margin: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(2) {
	position: absolute !important;
	top: 22px !important;
	right: 22px !important;
	left: auto !important;
	bottom: auto !important;
	display: grid !important;
	place-items: center !important;
	width: 66px !important;
	height: 66px !important;
	margin: 0 !important;
	padding: 14px !important;
	border-radius: 50% !important;
	background: var(--lime) !important;
	color: var(--ink) !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card:nth-child(2) > .elementor-element:nth-child(2) {
	background: var(--ink) !important;
	color: var(--lime) !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(2) .elementor-widget-container,
body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(2) svg {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(2) svg {
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2.2 !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(3) {
	position: static !important;
	width: 100% !important;
	margin: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(3) .elementor-heading-title {
	max-width: 245px !important;
	margin: 0 !important;
}

/* The archive must respect its semantic hidden state until the button opens it. */
.events-history[hidden] {
	display: none !important;
}

/* Team uses the same graphic page-title language as Program and Journal. */
body.ibody-theme .elementor .e-con.ibody-team-page-hero {
	background: radial-gradient(circle at 78% 34%,rgba(186,244,45,.3),transparent 19%),linear-gradient(120deg,#090d0a,#152016 54%,#080b09) !important;
}

body.ibody-theme .elementor .e-con.ibody-team-page-hero h1.elementor-heading-title {
	max-width: 1050px !important;
}

/* Popup stays two-column at the compact width used by the approved preview. */
@media (min-width:521px) {
	.message-dialog {
		width: min(670px,calc(100vw - 16px)) !important;
		max-width: 670px !important;
		padding: 32px 38px 30px !important;
	}

	.message-dialog h2,
	.message-dialog #ibody-contact-title {
		font-size: clamp(40px,6.2vw,54px) !important;
	}

	.message-dialog .ibody-cf7-grid {
		display: grid !important;
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
		gap: 11px 16px !important;
	}

	.message-dialog .ibody-cf7-grid .full {
		grid-column: 1 / -1 !important;
	}

	.message-dialog .ibody-cf7-grid textarea {
		min-height: 92px !important;
		height: 92px !important;
	}

	.message-dialog .ibody-cf7-grid input[type=submit] {
		min-height: 54px !important;
		height: 54px !important;
	}
}

@media (max-width:520px) {
	.message-dialog .ibody-cf7-grid {
		grid-template-columns: 1fr !important;
	}

	.message-dialog .ibody-cf7-grid .full {
		grid-column: 1 !important;
	}
}

/* 1.12.0 — canonical preview parity. */
body.home.ibody-theme .elementor .ibody-home-intro__spark {
	width: 30px !important;
	height: 30px !important;
	color: #80a124 !important;
}
body.home.ibody-theme .elementor .ibody-home-intro__spark svg,
body.ibody-theme .premium-footer svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}
body.ibody-theme .elementor .ibody-section-label span {
	display: inline-block;
	margin-top: 8px;
}
body.home.ibody-theme .elementor .e-con.ibody-class-card[link],
body.home.ibody-theme .elementor a.e-con.ibody-class-card {
	color: inherit !important;
	text-decoration: none !important;
	cursor: pointer;
}
body.home.ibody-theme .elementor .e-con.ibody-schedule-link-card {
	cursor: pointer;
	color: var(--ink) !important;
	text-decoration: none !important;
}
body.home.ibody-theme .elementor .ibody-schedule-card__icon {
	grid-row: 1 / 3;
	display: grid !important;
	place-items: center;
	width: 48px !important;
	height: 48px !important;
	color: #80a124 !important;
}
body.home.ibody-theme .elementor .ibody-schedule-card__icon svg {
	width: 38px;
	height: 38px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.45;
}
body.home.ibody-theme .elementor .ibody-schedule-card__arrow {
	grid-column: 3;
	grid-row: 1 / 3;
	display: grid !important;
	place-items: center;
	width: 52px !important;
	height: 52px !important;
	border-radius: 14px;
	background: var(--lime);
	font-size: 20px;
}
@media (min-width:761px) {
	body.home.ibody-theme .elementor .e-con.ibody-home-classes > h2.elementor-heading-title {
		white-space: nowrap !important;
	}
}

body.ibody-theme .elementor .e-con.ibody-feature-card {
	justify-content: flex-end !important;
	padding: 28px !important;
}
body.ibody-theme .elementor .e-con.ibody-feature-card > .elementor-element:last-child h3 {
	margin-bottom: 0 !important;
}
body.ibody-theme .elementor .e-con.ibody-related-programs {
	padding-top: clamp(76px,8vw,140px) !important;
	padding-bottom: clamp(76px,8vw,140px) !important;
	background: #f7f7f4 !important;
}
body.ibody-theme .elementor .ibody-events-section > h2.elementor-heading-title,
body.ibody-theme .elementor .booking-flow__intro h2 {
	max-width: 760px;
	margin: 18px 0 28px !important;
	font-size: clamp(60px,6vw,104px) !important;
	line-height: .88 !important;
}
body.ibody-theme .elementor .ibody-events-section > .elementor-widget-text-editor {
	max-width: 590px;
	margin: 0 0 52px;
}
body.ibody-theme .elementor .booking-flow__intro {
	margin-bottom: 50px;
}
body.ibody-theme .elementor .booking-flow__intro > span,
body.ibody-theme .elementor .booking-flow__intro > small {
	display: block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
}
body.ibody-theme .elementor .booking-flow__intro > small { margin-top: 25px; }
body.ibody-theme .elementor .e-con.ibody-related-programs > h2.elementor-heading-title {
	max-width: 680px;
	margin: 18px 0 48px !important;
	font-size: clamp(64px,6.6vw,112px) !important;
	line-height: .86 !important;
}
body.ibody-theme .elementor .e-con.ibody-related-grid {
	display: grid !important;
	grid-template-columns: repeat(4,minmax(0,1fr)) !important;
	gap: 0 !important;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
body.ibody-theme .elementor .e-con.ibody-related-card {
	min-height: 205px;
	justify-content: space-between !important;
	padding: 26px !important;
	border-right: 1px solid var(--line);
	color: var(--ink) !important;
	text-decoration: none !important;
}
body.ibody-theme .elementor .e-con.ibody-related-card:last-child { border-right: 0; }
body.ibody-theme .elementor .e-con.ibody-related-card h3.elementor-heading-title {
	font-size: clamp(24px,2.1vw,38px) !important;
	line-height: .98 !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-grid {
	background: #f7f7f4 !important;
	gap: 14px !important;
}
body.ibody-theme .elementor .e-con.ibody-experience-card {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	min-height: 290px !important;
	padding: 96px 28px 28px !important;
	border: 1px solid #d2d2cb !important;
	border-radius: 24px !important;
	background: #f7f7f4 !important;
}
body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(1) {
	position: static !important;
	width: 100% !important;
	margin: auto 0 7px !important;
}
body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(1) .elementor-heading-title {
	font-size: clamp(43px,3.5vw,62px) !important;
	line-height: .9 !important;
	font-weight: 500 !important;
	color: #80a124 !important;
}
body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(2),
body.ibody-theme .elementor .e-con.ibody-experience-card:nth-child(2) > .elementor-element:nth-child(2) {
	position: absolute !important;
	top: 28px !important;
	left: 28px !important;
	right: auto !important;
	display: grid !important;
	place-items: center !important;
	width: 48px !important;
	height: 48px !important;
	padding: 11px !important;
	border-radius: 11px !important;
	background: var(--lime) !important;
	color: var(--ink) !important;
}
body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(3) {
	position: static !important;
	width: 100% !important;
	margin: 0 0 7px !important;
}

/* 1.12.5 — only the requested journal link, EST/2009 scale and mobile phone action. */
body.home.ibody-theme .elementor .e-con.ibody-home-journal > .ibody-line-button .elementor-button {
	min-height: 0 !important;
	padding: 0 0 8px !important;
	border: 0 !important;
	border-bottom: 1px solid #111312 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #111312 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .04em !important;
}

body.home.ibody-theme .elementor .e-con.ibody-home-journal > .ibody-line-button .elementor-button-text::after {
	content: "↗";
	display: inline-block;
	margin-left: 10px;
	color: #78951d;
}

body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats .elementor-heading-title {
	align-items: center !important;
}

body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats strong {
	font-size: 22px !important;
	line-height: 1 !important;
}

body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats span {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 1px !important;
}

body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats span b {
	font-size: 20px !important;
	line-height: 1 !important;
	font-weight: 600 !important;
}

body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats span small {
	font-size: 11px !important;
	line-height: 1.15 !important;
	letter-spacing: 1px !important;
}

.site-header .mobile-phone-action {
	display: none;
}

@media (max-width:1100px) {
	.site-header .mobile-phone-action {
		display: grid !important;
		place-items: center;
		width: 48px;
		height: 48px;
		border: 1px solid rgba(255,255,255,.5);
		border-radius: 50%;
		color: #fff;
	}

	.site-header .mobile-phone-action svg {
		display: block;
		width: 21px;
		height: 21px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.65;
		stroke-linecap: round;
		stroke-linejoin: round;
	}
}

@media (max-width:760px) {
	body.home.ibody-theme .elementor .e-con.ibody-home-journal > .elementor-widget-button {
		margin-top: 28px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats strong {
		font-size: 19px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats span b {
		font-size: 17px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats span small {
		font-size: 10px !important;
	}

	.site-header .mobile-phone-action {
		width: 44px;
		height: 44px;
	}
}

/* 1.12.4 — compact developer credit card at the end of the team page. */
body.ibody-theme .elementor .e-con.ibody-team-developer-card {
	display: flex !important;
	width: min(380px,100%) !important;
	min-height: 500px !important;
	margin: 34px auto 0 !important;
	align-self: center !important;
	text-decoration: none !important;
}

body.ibody-theme .elementor .e-con.ibody-team-developer-card .ibody-trainer-photo img {
	object-position: center 18% !important;
}

body.ibody-theme .elementor .e-con.ibody-team-developer-card h3.elementor-heading-title {
	font-size: clamp(23px,1.72vw,31px) !important;
	white-space: nowrap !important;
}

@media (max-width:520px) {
	body.ibody-theme .elementor .e-con.ibody-team-developer-card {
		width: 100% !important;
		min-height: 470px !important;
	}
}

/* 1.12.3 — focused booking, classes, lesson-copy and footer corrections. */
body.ibody-theme .elementor .booking-flow.is-form-step {
	display: grid;
	grid-template-columns: minmax(0,.82fr) minmax(520px,1fr);
	gap: clamp(48px,7vw,110px);
	align-items: start;
}

body.ibody-theme .elementor .booking-flow.is-form-step .booking-flow__intro {
	margin: 0;
}

body.ibody-theme .elementor .booking-flow.is-form-step .booking-flow__intro h2 {
	max-width: 650px;
	font-size: clamp(52px,5vw,82px) !important;
}

body.ibody-theme .elementor .booking-form {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 34px;
	border: 1px solid #d2d5cf;
	border-radius: 26px;
	background: #fff;
}

body.ibody-theme .elementor .booking-form .booking-back {
	min-height: 52px;
	margin-bottom: 28px;
}

body.ibody-theme .elementor .booking-form .wpcf7,
body.ibody-theme .elementor .booking-form .wpcf7-form,
body.ibody-theme .elementor .booking-form .ibody-cf7-grid {
	width: 100%;
	max-width: none;
}

body.ibody-theme .elementor .booking-form .ibody-cf7-grid > p:first-child {
	display: contents !important;
}

body.ibody-theme .elementor .booking-form .ibody-cf7-grid {
	display: grid !important;
	grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	gap: 20px 18px !important;
}

body.ibody-theme .elementor .booking-form .ibody-cf7-grid .full {
	grid-column: 1 / -1 !important;
}

body.ibody-theme .elementor .booking-form .ibody-cf7-grid label,
body.ibody-theme .elementor .booking-form .ibody-cf7-grid .wpcf7-form-control-wrap,
body.ibody-theme .elementor .booking-form .ibody-cf7-grid input:not([type=submit]),
body.ibody-theme .elementor .booking-form .ibody-cf7-grid textarea {
	width: 100% !important;
	min-width: 0 !important;
}

body.ibody-theme .elementor .booking-form .ibody-cf7-grid textarea {
	min-height: 118px !important;
	resize: vertical;
}

body.ibody-theme .elementor .booking-form .ibody-cf7-grid input[type=submit] {
	width: 100% !important;
}

body.ibody-theme .elementor .e-con.ibody-classes-directory {
	background: #f3f1eb !important;
}

body.ibody-theme .elementor .e-con.ibody-classes-directory > h2.elementor-heading-title {
	max-width: 780px;
	margin: 18px 0 58px !important;
	font-size: clamp(58px,6.2vw,104px) !important;
	line-height: .88 !important;
}

body.ibody-theme .elementor .e-con.ibody-classes-directory__grid {
	display: grid !important;
	grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	gap: 18px !important;
}

body.ibody-theme .elementor .e-con.ibody-classes-directory__category {
	min-width: 0;
	padding: 30px;
	border: 1px solid #d2d5cf;
	border-radius: 26px;
	background: #f8f7f3;
}

body.ibody-theme .elementor .e-con.ibody-classes-directory__heading {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 20px;
	padding-bottom: 24px;
	border-bottom: 1px solid #cfd2cc;
	color: var(--ink);
}

body.ibody-theme .elementor .e-con.ibody-classes-directory__heading .elementor-widget-heading:first-child {
	width: auto;
	color: #78951d;
	font-size: 13px;
	font-weight: 800;
}

body.ibody-theme .elementor .e-con.ibody-classes-directory__heading h2.elementor-heading-title {
	font-size: clamp(34px,3vw,52px) !important;
	line-height: 1 !important;
}

body.ibody-theme .elementor .e-con.ibody-classes-directory__lessons {
	gap: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-classes-directory__lesson {
	display: grid !important;
	grid-template-columns: minmax(0,1fr) auto !important;
	align-items: center !important;
	gap: 20px;
	min-height: 58px;
	padding: 11px 0;
	border-bottom: 1px solid #d9dbd6;
	color: #404540;
}

body.ibody-theme .elementor .e-con.ibody-classes-directory__lesson h3.elementor-heading-title {
	font-size: 16px !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
}

body.ibody-theme .elementor .ibody-classes-directory__arrow {
	width: 20px !important;
	height: 20px;
	color: #78951d;
}

body.ibody-theme .elementor .ibody-classes-directory__arrow svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.ibody-theme .elementor .e-con.ibody-inner-content--lesson .ibody-inner-content__copy {
	gap: 42px !important;
}

body.ibody-theme .elementor .e-con.ibody-inner-content--lesson .ibody-inner-content__copy > .elementor-widget-text-editor,
body.ibody-theme .elementor .e-con.ibody-inner-content--lesson .ibody-inner-content__copy > .elementor-widget-text-editor .elementor-widget-container,
body.ibody-theme .elementor .e-con.ibody-inner-content--lesson .ibody-inner-content__copy > .elementor-widget-text-editor p,
body.ibody-theme .elementor .e-con.ibody-inner-content--lesson .ibody-inner-content__copy > .elementor-widget-text-editor:first-child,
body.ibody-theme .elementor .e-con.ibody-inner-content--lesson .ibody-inner-content__copy > .elementor-widget-text-editor:first-child p {
	margin: 0 !important;
	font-size: 18px !important;
	line-height: 1.72 !important;
	font-weight: 400 !important;
	letter-spacing: -.015em !important;
	color: #626862 !important;
}

body.ibody-theme .message-fab svg {
	display: block;
	width: 28px;
	height: 28px;
	fill: none;
	stroke: var(--lime);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.ibody-theme .premium-footer .footer-main > div:not(.footer-brand) {
	gap: 0;
}

body.ibody-theme .premium-footer .footer-title {
	display: block;
	margin: 0 0 25px !important;
}

body.ibody-theme .premium-footer .footer-nav ul,
body.ibody-theme .premium-footer .footer-classes ul {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

body.ibody-theme .premium-footer .footer-contact {
	row-gap: 13px !important;
}

body.ibody-theme .premium-footer .footer-contact .footer-title,
body.ibody-theme .premium-footer .footer-find .footer-title,
body.ibody-theme .premium-footer .footer-hours .footer-title {
	margin-bottom: 14px !important;
}

body.ibody-theme .premium-footer .footer-find .footer-map {
	margin-top: 15px !important;
}

body.ibody-theme .premium-footer .footer-hours p + p {
	margin-top: 22px !important;
}

body.ibody-theme .premium-footer .footer-brand p {
	margin-top: 31px !important;
}

body.ibody-theme .premium-footer .footer-social {
	margin-top: 34px !important;
}

@media (max-width:900px) {
	body.ibody-theme .elementor .booking-flow.is-form-step {
		display: block;
	}

	body.ibody-theme .elementor .booking-flow.is-form-step .booking-flow__intro {
		margin-bottom: 38px;
	}

	body.ibody-theme .elementor .e-con.ibody-classes-directory__grid {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width:520px) {
	body.ibody-theme .elementor .booking-flow__intro h2,
	body.ibody-theme .elementor .booking-flow.is-form-step .booking-flow__intro h2 {
		font-size: clamp(42px,12.5vw,58px) !important;
	}

	body.ibody-theme .elementor .booking-form {
		padding: 24px 18px;
	}

	body.ibody-theme .elementor .booking-form .ibody-cf7-grid {
		grid-template-columns: 1fr !important;
	}

	body.ibody-theme .elementor .booking-form .ibody-cf7-grid .full {
		grid-column: 1 !important;
	}

	body.ibody-theme .elementor .e-con.ibody-classes-directory > h2.elementor-heading-title {
		font-size: 48px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-classes-directory__category {
		padding: 24px 20px;
	}

	body.ibody-theme .elementor .e-con.ibody-inner-content--lesson .ibody-inner-content__copy {
		gap: 28px !important;
	}
}
body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(3) .elementor-heading-title {
	font-size: clamp(21px,1.35vw,28px) !important;
	font-weight: 500 !important;
}
body.ibody-theme .elementor .ibody-ecosystem__intro {
	max-width: 650px;
	margin: 18px 0 64px;
}

body.ibody-theme .elementor .ibody-inner-cta .elementor-button,
body.ibody-theme .elementor .ibody-home-cta .elementor-button {
	font-weight: 600 !important;
}

body.ibody-theme .premium-footer .footer-lead > a svg,
body.ibody-theme .premium-footer .footer-map svg {
	width: 16px;
	height: 16px;
	margin-left: 8px;
}
body.ibody-theme .premium-footer .footer-main > div:not(.footer-brand) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 11px;
}
body.ibody-theme .premium-footer .footer-main > div:not(.footer-brand) a,
body.ibody-theme .premium-footer .footer-main > div:not(.footer-brand) p,
body.ibody-theme .premium-footer .footer-main > div:not(.footer-brand) li {
	margin: 0 !important;
	line-height: 1.4 !important;
}
body.ibody-theme .premium-footer .footer-contact a,
body.ibody-theme .premium-footer .footer-find p {
	display: flex;
	align-items: flex-start;
	gap: 7px;
}
body.ibody-theme .premium-footer .footer-contact a svg,
body.ibody-theme .premium-footer .footer-find p > svg {
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	margin-top: 2px;
}

.ibody-carousel-dots { display: none; }
@media (max-width:760px) {
	body.home.ibody-theme .elementor .e-con.ibody-benefits,
	body.home.ibody-theme .elementor .e-con.ibody-class-grid,
	body.home.ibody-theme .elementor .journal-grid {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: visible !important;
		scroll-snap-type: x mandatory !important;
		scroll-behavior: smooth;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-x pan-y;
	}
	body.home.ibody-theme .elementor .e-con.ibody-benefits > .e-con,
	body.home.ibody-theme .elementor .e-con.ibody-class-grid > .e-con,
	body.home.ibody-theme .elementor .journal-grid > * {
		flex: 0 0 min(84vw,360px) !important;
		width: min(84vw,360px) !important;
		scroll-snap-align: start !important;
	}
	body.home.ibody-theme .elementor .ibody-carousel-dots {
		display: flex;
		justify-content: center;
		gap: 8px;
		margin: 12px 0 0;
	}
	body.home.ibody-theme .elementor .ibody-carousel-dots button {
		width: 8px;
		height: 8px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: #a4a9a2;
	}
	body.home.ibody-theme .elementor .ibody-carousel-dots button.is-active {
		width: 28px;
		border-radius: 999px;
		background: var(--lime);
	}
	body.home.ibody-theme .elementor .slick-arrow,
	body.home.ibody-theme .elementor .swiper-button-prev,
	body.home.ibody-theme .elementor .swiper-button-next,
	body.home.ibody-theme .elementor .elementor-swiper-button,
	body.home.ibody-theme .elementor .eicon-chevron-left,
	body.home.ibody-theme .elementor .eicon-chevron-right {
		display: none !important;
	}
	body.home.ibody-theme .elementor .e-con.ibody-schedule-link-card {
		display: grid !important;
		grid-template-columns: 52px 1fr 48px !important;
		grid-template-rows: auto auto !important;
		gap: 8px 16px !important;
		align-items: center !important;
	}
	body.home.ibody-theme .elementor .e-con.ibody-schedule-link-card > .elementor-widget:first-child {
		display: grid !important;
	}
	body.home.ibody-theme .elementor .ibody-schedule-card__arrow {
		grid-column: 3 !important;
	}
	body.ibody-theme .elementor .e-con.ibody-related-programs > h2.elementor-heading-title {
		font-size: clamp(48px,14vw,66px) !important;
	}
	body.ibody-theme .elementor .e-con.ibody-related-grid {
		display: flex !important;
		overflow-x: auto !important;
		scroll-snap-type: x mandatory;
	}
	body.ibody-theme .elementor .e-con.ibody-related-card {
		flex: 0 0 78vw !important;
		scroll-snap-align: start;
		border-bottom: 0;
	}
}

@media (max-width:760px) {
	body.home.ibody-theme .elementor .e-con.ibody-home-hero {
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-end !important;
		gap: 24px !important;
		min-height: max(760px,100svh) !important;
		height: auto !important;
		padding: 124px 18px 34px !important;
		background-position: center,center,67% 23% !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-hero__copy {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		gap: 16px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-hero h1.elementor-heading-title {
		font-size: clamp(48px,14.6vw,64px) !important;
		line-height: .88 !important;
		letter-spacing: -.07em !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-hero .ibody-hero-lead,
	body.home.ibody-theme .elementor .e-con.ibody-home-hero .ibody-hero-lead p {
		font-size: 14px !important;
		line-height: 1.58 !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-hero-actions {
		display: grid !important;
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
		gap: 9px !important;
		width: 100% !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-hero-actions > .elementor-widget-button,
	body.home.ibody-theme .elementor .e-con.ibody-hero-actions .elementor-button {
		width: 100% !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-hero-actions .elementor-button {
		min-height: 52px !important;
		padding: 0 9px !important;
		font-size: 9.5px !important;
		line-height: 1.12 !important;
		white-space: normal !important;
		text-align: center !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats {
		position: static !important;
		display: grid !important;
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
		width: 100% !important;
		margin: 0 !important;
		gap: 16px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats strong {
		font-size: 25px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats span {
		font-size: 10px !important;
	}

	body.home.ibody-theme .elementor .e-con.experience-marquee .elementor-heading-title {
		padding: 14px 0 !important;
		font-size: 12px !important;
		letter-spacing: 2px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-section,
	body.home.ibody-theme .elementor .e-con.ibody-home-intro,
	body.home.ibody-theme .elementor .e-con.ibody-home-classes,
	body.home.ibody-theme .elementor .e-con.ibody-method,
	body.home.ibody-theme .elementor .e-con.ibody-home-clinical,
	body.home.ibody-theme .elementor .e-con.ibody-home-schedule,
	body.home.ibody-theme .elementor .e-con.ibody-home-journal {
		padding: 72px 18px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-intro {
		display: flex !important;
		flex-direction: column !important;
		gap: 34px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-intro__main h2.elementor-heading-title {
		font-size: 44px !important;
		line-height: .93 !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-intro__main .elementor-widget-text-editor,
	body.home.ibody-theme .elementor .e-con.ibody-home-intro__main .elementor-widget-text-editor p {
		font-size: 17px !important;
		line-height: 1.55 !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-benefits {
		display: flex !important;
		width: 100% !important;
		padding: 18px 0 72px 18px !important;
		gap: 12px !important;
		overflow-x: auto !important;
		scroll-snap-type: x mandatory !important;
		scrollbar-width: none !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-benefits::-webkit-scrollbar {
		display: none !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-benefit-card {
		flex: 0 0 min(82vw,340px) !important;
		min-height: 210px !important;
		padding: 24px 20px !important;
		scroll-snap-align: start !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-classes h2.elementor-heading-title,
	body.home.ibody-theme .elementor .e-con.ibody-method__copy h2.elementor-heading-title,
	body.home.ibody-theme .elementor .e-con.ibody-home-clinical h2.elementor-heading-title,
	body.home.ibody-theme .elementor .e-con.ibody-home-schedule__heading h2.elementor-heading-title,
	body.home.ibody-theme .elementor .e-con.ibody-home-journal h2.elementor-heading-title {
		font-size: clamp(43px,13vw,54px) !important;
		line-height: .9 !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-class-grid {
		width: calc(100% + 18px) !important;
		margin-right: -18px !important;
		padding: 0 18px 12px 0 !important;
		gap: 12px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-class-card {
		flex: 0 0 min(82vw,350px) !important;
		width: min(82vw,350px) !important;
		min-height: 480px !important;
		padding: 24px !important;
	}

	body.home.ibody-theme .elementor .ibody-class-card__icon {
		top: 92px !important;
		right: 24px !important;
		width: 150px !important;
		height: 150px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-method {
		display: flex !important;
		flex-direction: column !important;
		gap: 48px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-method__visual {
		width: 100% !important;
		min-height: 0 !important;
		aspect-ratio: .94 !important;
		border-radius: 28px !important;
	}

	body.home.ibody-theme .elementor .ibody-method__orbit-icon {
		width: 62% !important;
		height: 62% !important;
		animation: ibodyOrbitSpin 18s linear infinite !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-clinical {
		gap: 54px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-clinical .ibody-mht-orbit {
		width: min(260px,70vw) !important;
		height: min(260px,70vw) !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-schedule {
		gap: 38px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-schedule-link-card {
		grid-template-columns: 1fr auto !important;
		min-height: 190px !important;
		padding: 24px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-schedule-link-card > .elementor-widget:first-child {
		display: none !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-journal .journal-grid {
		display: flex !important;
		width: calc(100% + 18px) !important;
		margin: 34px -18px 0 0 !important;
		padding: 0 18px 12px 0 !important;
		gap: 14px !important;
		overflow-x: auto !important;
		scroll-snap-type: x mandatory !important;
		scrollbar-width: none !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-journal .journal-grid::-webkit-scrollbar {
		display: none !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-journal .journal-card {
		flex: 0 0 min(84vw,360px) !important;
		scroll-snap-align: start !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-journal .journal-card h3 {
		font-size: 24px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-cta {
		min-height: 520px !important;
		padding: 76px 18px 116px !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-cta::before,
	body.home.ibody-theme .elementor .e-con.ibody-home-cta::after {
		width: min(320px,86vw) !important;
	}

	body.home.ibody-theme .elementor .e-con.ibody-home-cta h2.elementor-heading-title {
		font-size: clamp(57px,18vw,72px) !important;
	}

	body.ibody-theme .elementor .e-con.ibody-team-page-hero {
		min-height: 680px !important;
		height: 82svh !important;
		padding: 138px 20px 64px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-team-page-hero h1.elementor-heading-title {
		font-size: clamp(54px,16vw,72px) !important;
	}
}

/* These brand motions are core content, kept subtle even with reduced motion. */
@media (prefers-reduced-motion:reduce) {
	body.ibody-theme .elementor .ibody-method__orbit-icon svg { animation-duration: 34s !important; animation-iteration-count: infinite !important; }
	body.ibody-theme .elementor .e-con.ibody-home-cta::before,
	body.ibody-theme .elementor .e-con.ibody-home-cta::after,
	body.ibody-theme .elementor .ibody-brand-orbit__track,
	body.ibody-theme .elementor .ibody-brand-orbit__shape,
	body.ibody-theme .elementor .ibody-brand-orbit__shape::after,
	body.ibody-theme .elementor .ibody-brand-orbit__core b {
		animation-duration: 16s !important;
		animation-iteration-count: infinite !important;
	}
}

/* 1.9.0 cascade seal — intentionally last, after legacy compatibility rules. */
body.ibody-theme .elementor .e-con.ibody-home-cta::before,
body.ibody-theme .elementor .e-con.ibody-home-cta::after {
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	border-radius: 50% !important;
}

body.ibody-theme .elementor .e-con.ibody-home-cta::before {
	animation-name: ibodyCtaPulse !important;
}

body.ibody-theme .elementor .e-con.ibody-home-cta::after {
	animation-name: ibodyCtaPulseInner !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card {
	min-height: 310px !important;
	padding: 120px 28px 28px !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card h3.elementor-heading-title {
	max-width: 235px !important;
	margin: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-brand-card {
	display: grid !important;
	grid-template-rows: 132px auto 1fr auto !important;
	align-content: stretch !important;
	justify-content: stretch !important;
	gap: 15px !important;
	min-height: 410px !important;
	padding: 42px 36px 24px !important;
}

body.ibody-theme .elementor .e-con.ibody-brand-card .ibody-line-button .elementor-button {
	width: 100% !important;
	min-height: 0 !important;
	padding: 0 0 9px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--lime) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--lime) !important;
	justify-content: flex-start !important;
}

body.ibody-theme .elementor .e-con.ibody-trainer-card .elementor-widget-heading:nth-child(3) {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin-bottom: 8px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	overflow: visible !important;
	align-self: flex-start !important;
}

body.ibody-theme .elementor .e-con.ibody-trainer-card .elementor-widget-heading:nth-child(3) .elementor-widget-container,
body.ibody-theme .elementor .e-con.ibody-trainer-card .elementor-widget-heading:nth-child(3) .elementor-heading-title {
	display: block !important;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	overflow: visible !important;
	white-space: normal !important;
}

@media (min-width:761px) {
	body.ibody-theme .elementor .e-con.ibody-trainer-card:last-child h3.elementor-heading-title {
		font-size: clamp(23px,1.72vw,31px) !important;
		white-space: nowrap !important;
	}
}

.ibody-contact-modal {
	padding: 14px !important;
}

.message-dialog {
	width: min(670px,calc(100vw - 28px)) !important;
	max-width: 670px !important;
	max-height: calc(100svh - 28px) !important;
	padding: 38px 40px 36px !important;
	border-radius: 26px !important;
}

.message-dialog h2,
.message-dialog #ibody-contact-title {
	max-width: 570px !important;
	margin: 16px 0 13px !important;
	font-size: clamp(45px,4.3vw,57px) !important;
	line-height: .88 !important;
}

.message-dialog .message-form-wrap {
	margin-top: 24px !important;
}

.message-dialog .ibody-cf7-grid {
	display: grid !important;
	grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	gap: 14px 16px !important;
}

.message-dialog .ibody-cf7-grid .full {
	grid-column: 1 / -1 !important;
}

.message-dialog .ibody-cf7-grid textarea {
	min-height: 104px !important;
	height: 104px !important;
}

.message-dialog .ibody-cf7-grid input[type=submit] {
	min-height: 58px !important;
	height: 58px !important;
}

@media (max-width:760px) {
	body.ibody-theme .elementor .e-con.ibody-experience-card {
		min-height: 310px !important;
		padding: 118px 25px 25px !important;
	}

	body.ibody-theme .elementor .e-con.ibody-brand-card {
		grid-template-rows: 120px auto auto auto !important;
		min-height: 0 !important;
		padding: 34px 8px !important;
	}

	.ibody-contact-modal { padding: 8px !important; }

	.message-dialog {
		width: calc(100vw - 16px) !important;
		max-width: none !important;
		max-height: calc(100svh - 16px) !important;
		padding: 27px 20px 20px !important;
		border-radius: 22px !important;
	}

	.message-dialog h2,
	.message-dialog #ibody-contact-title {
		font-size: clamp(34px,10.5vw,43px) !important;
	}

	.message-dialog .ibody-cf7-grid {
		grid-template-columns: 1fr !important;
		gap: 9px !important;
	}

	.message-dialog .ibody-cf7-grid .full { grid-column: 1 !important; }
	.message-dialog .ibody-cf7-grid textarea { min-height: 72px !important; height: 72px !important; }
	.message-dialog .ibody-cf7-grid input[type=submit] { min-height: 46px !important; height: 46px !important; }
}

/* 1.10.0 final cascade seal. */
body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(1) {
	position: absolute !important;
	top: 27px !important;
	left: 28px !important;
	width: auto !important;
	margin: 0 !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(2) {
	position: absolute !important;
	top: 22px !important;
	right: 22px !important;
	left: auto !important;
	bottom: auto !important;
	display: grid !important;
	place-items: center !important;
	width: 66px !important;
	height: 66px !important;
	margin: 0 !important;
	padding: 14px !important;
	border-radius: 50% !important;
	background: var(--lime) !important;
	color: var(--ink) !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card:nth-child(2) > .elementor-element:nth-child(2) {
	background: var(--ink) !important;
	color: var(--lime) !important;
}

body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(3) {
	position: static !important;
	width: 100% !important;
	margin: 0 !important;
}

@media (min-width:521px) and (max-width:760px) {
	.message-dialog {
		width: min(670px,calc(100vw - 16px)) !important;
		max-width: 670px !important;
		padding: 28px 34px 26px !important;
	}

	.message-dialog h2,
	.message-dialog #ibody-contact-title {
		font-size: clamp(39px,6.2vw,45px) !important;
	}

	.message-dialog .ibody-cf7-grid {
		display: grid !important;
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
		gap: 10px 14px !important;
	}

	.message-dialog .ibody-cf7-grid .full {
		grid-column: 1 / -1 !important;
	}

	.message-dialog .ibody-cf7-grid textarea {
		min-height: 88px !important;
		height: 88px !important;
	}

	.message-dialog .ibody-cf7-grid input[type=submit] {
		min-height: 52px !important;
		height: 52px !important;
	}
}

/* 1.11.0 — live regression seal. */
body.home.ibody-theme .elementor .e-con.ibody-home-intro,
body.home.ibody-theme .elementor .e-con.ibody-benefits,
body.home.ibody-theme .elementor .e-con.ibody-method,
body.home.ibody-theme .elementor .e-con.ibody-home-schedule {
	background-color: #f3f1eb !important;
	background-image: none !important;
	color: #111312 !important;
}

body.home.ibody-theme .elementor .e-con.ibody-home-intro::before,
body.home.ibody-theme .elementor .e-con.ibody-home-intro::after {
	display: none !important;
	content: none !important;
}

/* CF7 wraps the complete imported form in one paragraph. Let its labels
 * participate directly in the two-column grid without changing CF7 globally. */
.message-dialog .ibody-cf7-grid > p:first-child,
body.ibody-theme .elementor .ibody-contact-form .ibody-cf7-grid > p:first-child {
	display: contents !important;
}

.message-dialog .ibody-cf7-grid,
body.ibody-theme .elementor .ibody-contact-form .ibody-cf7-grid {
	display: grid !important;
	grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}

.message-dialog .ibody-cf7-grid .full,
body.ibody-theme .elementor .ibody-contact-form .ibody-cf7-grid .full {
	grid-column: 1 / -1 !important;
}

/* Use the same neutral treatment as the approved lesson preview. The former
 * lime wash on the right made the page-title photography look warm. */
body.ibody-theme .elementor .e-con.ibody-inner-hero--lesson::before {
	background:
		linear-gradient(90deg,rgba(5,9,7,.94) 0%,rgba(5,9,7,.70) 38%,rgba(5,9,7,.18) 72%,rgba(5,9,7,.06) 100%),
		linear-gradient(0deg,rgba(4,7,5,.62),transparent 55%) !important;
}

/* Keep every name on the team grid at the approved Despoina scale. */
body.ibody-theme .elementor .e-con.ibody-trainer-card h3.elementor-heading-title {
	font-size: clamp(23px,1.72vw,31px) !important;
	line-height: 1 !important;
}

@media (min-width:761px) {
	body.ibody-theme .elementor .e-con.ibody-trainer-card h3.elementor-heading-title {
		white-space: nowrap !important;
	}
}

@media (max-width:520px) {
	.message-dialog .ibody-cf7-grid,
	body.ibody-theme .elementor .ibody-contact-form .ibody-cf7-grid {
		grid-template-columns: 1fr !important;
	}

	.message-dialog .ibody-cf7-grid .full,
	body.ibody-theme .elementor .ibody-contact-form .ibody-cf7-grid .full {
		grid-column: 1 !important;
	}
}

/* 1.12.0 final cascade seal. */
body.ibody-theme .header-cta svg,
body.ibody-theme .ibody-mobile-menu .lime-button svg {
	display: block;
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}
body.ibody-theme .header-cta span,
body.ibody-theme .ibody-mobile-menu .lime-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(1) {
	position: static !important;
	top: auto !important;
	left: auto !important;
	width: 100% !important;
	margin: auto 0 7px !important;
}
body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(2),
body.ibody-theme .elementor .e-con.ibody-experience-card:nth-child(2) > .elementor-element:nth-child(2) {
	position: absolute !important;
	top: 28px !important;
	left: 28px !important;
	right: auto !important;
	width: 48px !important;
	height: 48px !important;
	padding: 11px !important;
	border-radius: 11px !important;
	background: var(--lime) !important;
	color: var(--ink) !important;
}
body.ibody-theme .elementor .e-con.ibody-experience-card > .elementor-element:nth-child(3) {
	position: static !important;
	width: 100% !important;
	margin: 0 0 7px !important;
}

/* 1.12.5 final statistic scale. */
body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats strong {
	font-size: 22px !important;
	line-height: 1 !important;
}
body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats span {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 1px !important;
}
body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats span b {
	font-size: 20px !important;
	line-height: 1 !important;
	font-weight: 600 !important;
}
body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats span small {
	font-size: 11px !important;
	line-height: 1.15 !important;
	letter-spacing: 1px !important;
}
@media (max-width:760px) {
	body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats strong { font-size: 19px !important; }
	body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats span b { font-size: 17px !important; }
	body.home.ibody-theme .elementor .e-con.ibody-home-hero__stats span small { font-size: 10px !important; }
}
