/* Relay IG — site chrome: mobile header, off-canvas nav, footer legal bar.
   Desktop layout is left intact except where a selector is shared and harmless. */

:root {
	--rig-navy: #0A2844;
	--rig-accent: #4A8DB5;
	--rig-cream: #F4F3F0;
	--rig-white: #FFFFFF;
	--rig-text: #4A5563;
	--rig-page-width: 1200px;
	--rig-nav-width: min(90vw, 380px);
	--rig-admin-offset: 0px;
}

/* Content column only. Section shells with color/image stay full-bleed. */
.elementor-location-header .e-con-boxed > .e-con-inner,
.elementor-location-footer .e-con-boxed > .e-con-inner,
.elementor .e-con-boxed > .e-con-inner {
	max-width: var(--rig-page-width);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* Outer section shells only. Nested cards, quotes, posts, and value rows keep Elementor widths. */
.elementor > .e-con.e-con-full,
.elementor-location-header > .e-con.e-con-full,
.elementor-location-footer > .e-con.e-con-full,
.elementor-location-single > .e-con.e-con-full {
	max-width: none;
	width: 100%;
}

@media (min-width: 768px) {
	#rig-cards,
	#rig-cards > .e-con-inner,
	#rig-values,
	#rig-values > .e-con-inner,
	#rig-quotes,
	#rig-quotes > .e-con-inner,
	#rig-articles,
	#rig-articles > .e-con-inner {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
	}

	#rig-cards > .e-con,
	#rig-cards > .e-con-inner > .e-con {
		width: 23.5% !important;
		flex: 1 1 0 !important;
		max-width: none !important;
	}

	#rig-values > .e-con,
	#rig-values > .e-con-inner > .e-con {
		width: 32% !important;
		flex: 1 1 0 !important;
		max-width: none !important;
	}

	#rig-quotes > .e-con,
	#rig-quotes > .e-con-inner > .e-con,
	#rig-articles > .e-con,
	#rig-articles > .e-con-inner > .e-con {
		width: 31.5% !important;
		flex: 1 1 0 !important;
		max-width: none !important;
	}

	.e-con:has(> #rig-articles),
	.e-con:has(> .e-con-inner > #rig-articles) {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
	}

	#rig-articles {
		width: 74% !important;
		flex: 1 1 0 !important;
		max-width: none !important;
	}

	#rig-social {
		width: 24% !important;
		flex: 0 0 24% !important;
		max-width: none !important;
	}

	#rig-profiles,
	#rig-profiles > .e-con-inner,
	#rig-together-row,
	#rig-together-row > .e-con-inner,
	#rig-community-row,
	#rig-community-row > .e-con-inner {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
	}

	#rig-profile-matt,
	#rig-profile-michaela {
		width: 48% !important;
		flex: 1 1 0 !important;
		max-width: none !important;
		display: flex !important;
		flex-direction: column !important;
	}

	#rig-matt-attrs,
	#rig-mich-attrs {
		margin-top: auto !important;
	}
}

/* Team attribute rows share one 3-column grid on every viewport. */
#rig-matt-attrs,
#rig-mich-attrs,
#rig-matt-attrs > .e-con-inner,
#rig-mich-attrs > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	align-items: start !important;
	justify-items: start !important;
	column-gap: 8px !important;
	row-gap: 0 !important;
	width: 100% !important;
	max-width: none !important;
}

#rig-matt-attrs > .e-con,
#rig-mich-attrs > .e-con,
#rig-matt-attrs > .e-con-inner > .e-con,
#rig-mich-attrs > .e-con-inner > .e-con {
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	flex: none !important;
}

@media (min-width: 1025px) {
	#rig-mainbar,
	#rig-mainbar > .e-con-inner {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
	}

	#rig-logo-wrap {
		width: auto !important;
		flex: 0 0 auto !important;
		max-width: none !important;
	}

	#rig-mainbar .elementor-widget-nav-menu {
		flex: 1 1 auto !important;
		width: auto !important;
		max-width: none !important;
	}

	#rig-mainbar .elementor-widget-button {
		flex: 0 0 auto !important;
		width: auto !important;
	}

	#rig-site-header .elementor-nav-menu--main .elementor-nav-menu {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		white-space: nowrap;
	}

	#rig-site-header .elementor-nav-menu--main .elementor-item {
		white-space: nowrap;
	}

	.elementor-location-header .elementor-widget-button .elementor-button {
		font-size: 13px !important;
		padding: 16px 32px !important;
	}
}

/* Gutenberg pages (Privacy, Terms). Elementor-designed pages keep full-bleed sections. */
.elementor-location-single .elementor-widget-theme-post-content:not(:has(.elementor)) {
	max-width: var(--rig-page-width);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 48px 20px 64px;
	box-sizing: border-box;
}

@media (max-width: 767px) {
	.elementor-location-single .elementor-widget-theme-post-content:not(:has(.elementor)) {
		padding: 32px 16px 48px;
	}
}

.page-header .entry-title,
.site-footer .footer-inner,
.site-footer:not(.dynamic-footer),
.site-header .header-inner,
.site-header:not(.dynamic-header),
body:not([class*="elementor-page-"]) .site-main {
	max-width: var(--rig-page-width) !important;
}

html.admin-bar {
	--rig-admin-offset: var(--wp-admin--admin-bar--height, 32px);
}

@media screen and (max-width: 782px) {
	html.admin-bar {
		--rig-admin-offset: var(--wp-admin--admin-bar--height, 46px);
	}
}

/* ---- Footer social ---- */
#rig-footer-social,
#rig-footer-social .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 12px !important;
}

#rig-footer-social .elementor-widget-icon {
	display: inline-flex !important;
	visibility: visible !important;
	opacity: 1 !important;
}

#rig-footer-social a.elementor-icon {
	width: 36px;
	height: 36px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}

#rig-legal-bar {
	background: var(--rig-navy) !important;
}

#rig-legal-bar,
#rig-legal-bar .elementor-heading-title,
#rig-legal-bar .elementor-widget-text-editor,
#rig-legal-bar .elementor-widget-text-editor p,
#rig-legal-bar a {
	color: rgba(255, 255, 255, 0.82) !important;
	font-size: 12px !important;
	line-height: 1.5 !important;
	font-family: "Open Sans", sans-serif;
}

#rig-legal-bar a {
	text-decoration: none !important;
}

#rig-legal-bar a:hover,
#rig-legal-bar a:focus {
	color: var(--rig-white) !important;
	text-decoration: underline !important;
}

#rig-legal-bar .rig-nextwave {
	opacity: 0.78;
}

@media (max-width: 767px) {
	#rig-legal-bar .e-con-inner,
	#rig-legal-bar {
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
		gap: 6px !important;
	}

	#rig-site-footer .e-con[data-id] > .e-con-inner {
		row-gap: 28px;
	}
}

/* ---- Mobile / tablet header + off-canvas (Elementor burger breakpoint) ---- */
@media (max-width: 1024px) {
	#rig-topbar,
	#rig-topbar .e-con,
	#rig-topbar .e-con-inner,
	#rig-topbar .elementor-widget,
	#rig-topbar .elementor-widget-container,
	#rig-topbar .elementor-icon-list-items,
	#rig-topbar .elementor-icon-list-item {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		min-height: 0 !important;
	}

	#rig-topbar > .e-con,
	#rig-topbar .e-con-inner {
		padding: 4px 16px !important;
		justify-content: flex-end !important;
		align-items: center !important;
	}

	#rig-topbar-service,
	#rig-topbar .elementor-widget-icon-list:first-of-type {
		display: none !important;
	}

	#rig-topbar-phone,
	#rig-topbar .elementor-widget-icon-list:last-of-type {
		display: block !important;
		width: auto !important;
		margin-left: auto !important;
	}

	#rig-topbar-phone .elementor-icon-list-item,
	#rig-topbar .elementor-widget-icon-list:last-of-type .elementor-icon-list-item {
		display: flex !important;
		justify-content: flex-end;
		align-items: center;
		padding: 2px 0 !important;
	}

	#rig-topbar .elementor-icon-list-text {
		font-size: 12px !important;
		font-weight: 500 !important;
		color: var(--rig-white) !important;
		letter-spacing: 0.02em;
		line-height: 1.2 !important;
	}

	#rig-topbar .elementor-icon-list-icon {
		color: var(--rig-white) !important;
	}

	#rig-topbar .elementor-icon-list-icon svg,
	#rig-topbar .elementor-icon-list-icon i {
		fill: var(--rig-white);
		color: var(--rig-white) !important;
		width: 12px;
		height: 12px;
		font-size: 12px;
	}

	#rig-mainbar {
		padding: 4px 12px !important;
		align-items: center !important;
		min-height: 0 !important;
	}

	#rig-mainbar .e-con,
	#rig-mainbar .e-con-inner {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		align-items: center !important;
		min-height: 0 !important;
	}

	#rig-site-header #rig-logo-wrap,
	#rig-logo-wrap {
		align-self: center !important;
		margin: 0 !important;
		padding: 0 !important;
		width: auto !important;
		max-width: none !important;
		height: auto !important;
		min-height: 44px !important;
		flex: 0 0 auto !important;
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		overflow: visible !important;
		z-index: 2;
	}

	#rig-logo-wrap .elementor-widget,
	#rig-logo-wrap .elementor-widget-container,
	#rig-logo-wrap .elementor-image {
		margin: 0 !important;
		padding: 0 !important;
		height: auto !important;
		display: flex !important;
		align-items: center !important;
	}

	#rig-site-header #rig-logo-wrap img,
	#rig-logo-wrap img {
		margin: 0 !important;
		max-height: 48px !important;
		width: auto !important;
		max-width: 120px !important;
		height: auto !important;
		display: block;
	}

	#rig-site-header .elementor-widget-button:not(.rig-nav-cta) {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		overflow: hidden !important;
		clip: rect(0 0 0 0) !important;
		clip-path: inset(50%) !important;
		white-space: nowrap !important;
		border: 0 !important;
		padding: 0 !important;
	}

	.elementor-location-header .elementor-menu-toggle {
		width: 44px !important;
		height: 44px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		margin: 0 !important;
		padding: 0 !important;
		align-self: center !important;
		z-index: 10060;
	}

	.elementor-location-header .elementor-menu-toggle i {
		font-size: 22px;
	}

	body.rig-nav-open {
		overflow: hidden !important;
		touch-action: none;
	}

	.rig-nav-backdrop {
		position: fixed;
		inset: 0;
		background: rgba(7, 30, 51, 0.45);
		z-index: 10040;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.2s ease, visibility 0.2s ease;
	}

	body.rig-nav-open .rig-nav-backdrop {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.elementor-location-header .elementor-nav-menu__container.elementor-nav-menu--dropdown,
	.rig-mobile-nav-panel {
		position: fixed !important;
		top: var(--rig-admin-offset) !important;
		right: calc(-1 * var(--rig-nav-width) - 24px) !important;
		left: auto !important;
		bottom: 0 !important;
		width: var(--rig-nav-width) !important;
		max-width: 400px !important;
		height: auto !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 12px 22px 28px !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		background: var(--rig-white) !important;
		box-shadow: -18px 0 40px rgba(10, 40, 68, 0.18) !important;
		z-index: 10050 !important;
		transform: none !important;
		transition: right 0.22s ease !important;
		display: block !important;
		visibility: visible !important;
		pointer-events: none;
		-webkit-overflow-scrolling: touch;
	}

	body.rig-nav-open .elementor-location-header .elementor-nav-menu__container.elementor-nav-menu--dropdown,
	body.rig-nav-open .rig-mobile-nav-panel {
		right: 0 !important;
		left: auto !important;
		transform: none !important;
		pointer-events: auto;
	}

	.elementor-location-header .elementor-nav-menu__container .sub-menu.elementor-nav-menu--dropdown,
	.elementor-location-header .elementor-nav-menu__container ul.sub-menu,
	.rig-mobile-nav-panel .sub-menu.elementor-nav-menu--dropdown,
	.rig-mobile-nav-panel ul.sub-menu {
		position: static !important;
		inset: auto !important;
		right: auto !important;
		left: auto !important;
		top: auto !important;
		bottom: auto !important;
		transform: none !important;
		width: 100% !important;
		max-width: none !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		box-shadow: none !important;
		padding: 0 0 4px 6px !important;
		margin: 0 !important;
		background: transparent !important;
		visibility: visible !important;
		pointer-events: auto !important;
		z-index: auto !important;
		transition: none !important;
	}

	.elementor-location-header .elementor-nav-menu__container .elementor-nav-menu,
	.rig-mobile-nav-panel .elementor-nav-menu {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	#rig-site-header .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-item,
	#rig-site-header .elementor-nav-menu__container.elementor-nav-menu--dropdown a,
	.rig-mobile-nav-panel .elementor-item,
	.rig-mobile-nav-panel a {
		color: var(--rig-navy) !important;
		background: transparent !important;
		font-weight: 600 !important;
		font-size: 16px !important;
		padding: 12px 8px !important;
		border-radius: 0;
		box-shadow: none !important;
	}

	#rig-site-header .elementor-nav-menu__container.elementor-nav-menu--dropdown a:hover,
	#rig-site-header .elementor-nav-menu__container.elementor-nav-menu--dropdown a:focus,
	.rig-mobile-nav-panel a:hover,
	.rig-mobile-nav-panel a:focus {
		color: var(--rig-navy) !important;
		background: var(--rig-cream) !important;
		outline: none;
	}

	#rig-site-header .elementor-nav-menu__container.elementor-nav-menu--dropdown a.elementor-item-active,
	#rig-site-header .elementor-nav-menu__container.elementor-nav-menu--dropdown .current-menu-item > a,
	#rig-site-header .elementor-nav-menu__container.elementor-nav-menu--dropdown .current-menu-ancestor > a,
	#rig-site-header .elementor-nav-menu__container.elementor-nav-menu--dropdown a.highlighted:not(:hover):not(:focus),
	.rig-mobile-nav-panel a.elementor-item-active,
	.rig-mobile-nav-panel .current-menu-item > a,
	.rig-mobile-nav-panel .current-menu-ancestor > a,
	.rig-mobile-nav-panel a.highlighted:not(:hover):not(:focus) {
		color: var(--rig-navy) !important;
		background: var(--rig-cream) !important;
		box-shadow: inset 3px 0 0 var(--rig-accent) !important;
	}

	#rig-site-header .elementor-nav-menu__container.elementor-nav-menu--dropdown .sub-menu a,
	#rig-site-header .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-sub-item,
	.rig-mobile-nav-panel .sub-menu a,
	.rig-mobile-nav-panel .elementor-sub-item {
		font-size: 15px !important;
		font-weight: 500 !important;
		padding-left: 18px !important;
	}

		.rig-mobile-nav-panel .menu-item-has-children > a {
			display: flex !important;
			align-items: center;
			justify-content: space-between;
		}

		.rig-mobile-nav-panel .sub-arrow {
			display: inline-flex !important;
			align-items: center;
			justify-content: center;
			min-width: 44px;
			min-height: 44px;
			margin-left: 8px;
			flex: 0 0 auto;
		}

		.rig-mobile-nav-panel li.rig-sub-open > .sub-menu {
			display: block !important;
		}

	.rig-nav-close {
		position: sticky;
		top: 0;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		width: 100%;
		margin: 0 0 8px;
		padding: 0;
		border: 0;
		background: var(--rig-white);
		color: var(--rig-navy);
		font-size: 28px;
		line-height: 1;
		cursor: pointer;
		z-index: 2;
	}

	.rig-nav-close:focus {
		outline: 2px solid var(--rig-accent);
		outline-offset: 2px;
	}

	.rig-nav-cta {
		display: block !important;
		margin: 20px 0 12px !important;
		position: static !important;
		width: auto !important;
		height: auto !important;
		overflow: visible !important;
		clip: auto !important;
		clip-path: none !important;
		white-space: normal !important;
	}

	.rig-nav-cta .elementor-button {
		display: inline-flex !important;
		width: 100% !important;
		justify-content: center !important;
		background: var(--rig-navy) !important;
		color: var(--rig-white) !important;
		padding: 14px 18px !important;
		font-size: 13px !important;
		letter-spacing: 0.08em !important;
		text-transform: uppercase;
	}

	.rig-nav-phone {
		display: block;
		margin-top: 8px;
		padding: 10px 8px;
		color: var(--rig-navy);
		font-weight: 600;
		font-size: 15px;
		text-decoration: none;
	}

	.rig-nav-phone:hover,
	.rig-nav-phone:focus {
		color: var(--rig-accent);
	}

	#rig-matt-attrs,
	#rig-mich-attrs,
	#rig-matt-attrs > .e-con-inner,
	#rig-mich-attrs > .e-con-inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		justify-content: space-between !important;
		gap: 6px !important;
		width: 100% !important;
	}

	#rig-matt-attrs > .e-con,
	#rig-mich-attrs > .e-con,
	#rig-matt-attrs > .e-con-inner > .e-con,
	#rig-mich-attrs > .e-con-inner > .e-con {
		width: 33.333% !important;
		flex: 1 1 0 !important;
		min-width: 0 !important;
		max-width: none !important;
		padding: 4px 2px 0 !important;
	}

	#rig-matt-attrs .elementor-icon,
	#rig-mich-attrs .elementor-icon {
		font-size: 18px !important;
		width: 18px !important;
		height: 18px !important;
	}

	#rig-matt-attrs .elementor-heading-title,
	#rig-mich-attrs .elementor-heading-title {
		font-size: 11px !important;
		line-height: 1.25 !important;
		letter-spacing: 0.04em !important;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

@media (max-width: 360px) {
	#rig-matt-attrs .elementor-heading-title,
	#rig-mich-attrs .elementor-heading-title {
		font-size: 10px !important;
	}
}
