/*
 * MCS-DESIGN-ENTERPRISE-002-R1 owner-directed Home checkpoint.
 *
 * This layer is intentionally small, semantic, and Home-scoped. It translates
 * the approved clean Blocksy + Stackable direction without changing any other
 * page body or hiding owner-editable Gutenberg content.
 */

:root {
	--mcs-simple-navy: #071b33;
	--mcs-simple-navy-soft: #0c2a4b;
	--mcs-simple-ink: #10243b;
	--mcs-simple-copy: #43566a;
	--mcs-simple-gold: #e1ae3f;
	--mcs-simple-gold-hover: #c99427;
	--mcs-simple-cool: #edf3f6;
	--mcs-simple-line: #d6e0e6;
	--mcs-simple-white: #ffffff;
	--mcs-simple-shadow: 0 16px 42px rgba(7, 27, 51, 0.09);
	--mcs-simple-wrap: min(1200px, calc(100vw - 64px));
	--mcs-header: 76px;
}

/* Compact, white global shell with the existing owner-controlled navigation. */
.mcs-header,
.mcs-header.is-scrolled {
	border-bottom: 1px solid rgba(7, 27, 51, 0.12);
	background: rgba(255, 255, 255, 0.985);
	box-shadow: none;
	backdrop-filter: blur(14px);
}

.mcs-header.is-scrolled {
	box-shadow: 0 8px 26px rgba(7, 27, 51, 0.08);
}

.mcs-header__inner {
	width: min(1392px, calc(100vw - 48px));
	height: var(--mcs-header);
	gap: 14px;
}

.mcs-brand--desktop {
	width: 210px;
	max-width: 210px;
}

.mcs-brand--desktop .mcs-brand__logo {
	max-height: 62px;
}

.mcs-menu--desktop > li > a {
	min-height: 44px;
	padding-inline: 7px;
	border-radius: 6px;
	color: var(--mcs-simple-navy);
	font-size: 0.8rem;
	font-weight: 730;
}

.mcs-menu--desktop > li > a:hover,
.mcs-menu--desktop > li > a:focus-visible,
.mcs-menu--desktop > li.current-menu-item > a,
.mcs-menu--desktop > li.current-menu-ancestor > a {
	color: var(--mcs-simple-navy);
	background: var(--mcs-simple-cool);
	box-shadow: inset 0 -2px 0 var(--mcs-simple-gold);
}

.mcs-header__cta {
	min-height: 46px;
	margin-left: 4px;
	padding-inline: 18px;
	border-color: var(--mcs-simple-gold);
	border-radius: 999px;
	color: var(--mcs-simple-navy);
	background: var(--mcs-simple-gold);
	font-size: 0.86rem;
	font-weight: 780;
}

.mcs-header__cta:hover,
.mcs-header__cta:focus-visible {
	background: var(--mcs-simple-gold-hover);
}

.mcs-header__phone {
	color: var(--mcs-simple-navy);
}

.mcs-header__phone span {
	color: var(--mcs-simple-copy);
}

.mcs-menu-toggle {
	border-color: rgba(7, 27, 51, 0.22);
	color: var(--mcs-simple-navy);
	background: var(--mcs-simple-white);
}

.mcs-menu-toggle__icon i {
	background: currentColor;
}

/* Keep the widest desktop mega menu inside the viewport at scrollbar-rounded widths. */
.mcs-menu--desktop > .mcs-nav-transportation-services > .sub-menu {
	width: min(1118px, calc(100vw - 66px));
}

/* The new Home owns its canvas and uses one clean sans-serif hierarchy. */
body.mcs-front-page,
body.mcs-front-page .mcs-s-home {
	color: var(--mcs-simple-ink);
	background: var(--mcs-simple-white);
	font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 17px;
	line-height: 1.65;
}

body.mcs-front-page .mcs-home-content,
body.mcs-front-page .mcs-home-content > .entry-content,
body.mcs-front-page .entry-content:has(> .mcs-s-home) {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.mcs-s-home,
.mcs-s-home :where(.wp-block-group, .wp-block-columns, .wp-block-column) {
	box-sizing: border-box;
}

.mcs-s-home > :where(.wp-block-group, .wp-block-columns),
.mcs-s-home .wp-block-group,
.mcs-s-home .wp-block-columns {
	max-width: none;
	margin-top: 0;
	margin-bottom: 0;
}

.mcs-s-home .mcs-s-wrap {
	width: var(--mcs-simple-wrap);
	margin-inline: auto;
}

.mcs-s-home :where(h1, h2, h3, p, ul) {
	font-family: inherit;
}

.mcs-s-home :where(h1, h2, h3) {
	margin-top: 0;
	color: var(--mcs-simple-ink);
	font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-weight: 780;
	letter-spacing: -0.035em;
}

.mcs-s-home :where(.stk-block-heading__text, .stk-block-text__text) {
	font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.mcs-s-home h1 {
	max-width: 11.5ch;
	margin-bottom: 22px;
	font-size: clamp(3.15rem, 4.6vw, 4.1rem) !important;
	line-height: 0.98;
}

.mcs-s-home h2 {
	margin-bottom: 18px;
	font-size: clamp(2.1rem, 3.7vw, 3.35rem);
	line-height: 1.06;
}

.mcs-s-home h3 {
	margin-bottom: 12px;
	font-size: clamp(1.3rem, 1.9vw, 1.65rem);
	line-height: 1.2;
}

.mcs-s-home :where(p, li) {
	color: var(--mcs-simple-copy);
	font-size: 1rem;
	line-height: 1.65;
}

.mcs-s-home p {
	margin-top: 0;
	margin-bottom: 18px;
}

.mcs-s-home .stk-block {
	margin-block: 0;
}

.mcs-s-home .stk-block-heading__text,
.mcs-s-home .stk-block-text__text {
	margin-top: 0;
}

.mcs-s-home .stk-block-text__text {
	font-size: inherit;
	line-height: inherit;
}

.mcs-s-eyebrow,
.mcs-s-home p.mcs-s-eyebrow {
	position: relative;
	margin-bottom: 18px;
	padding-left: 28px;
	color: #7a5510;
	font-size: 0.76rem;
	font-weight: 820;
	letter-spacing: 0.15em;
	line-height: 1.4;
	text-transform: uppercase;
}

.mcs-s-eyebrow::before {
	position: absolute;
	top: 0.56em;
	left: 0;
	width: 18px;
	height: 2px;
	background: var(--mcs-simple-gold);
	content: "";
}

.mcs-s-section {
	padding: clamp(72px, 7vw, 104px) 0;
}

.mcs-s-section--cool {
	background: var(--mcs-simple-cool);
}

.mcs-s-intro {
	max-width: 760px;
	margin-bottom: 38px !important;
}

.mcs-s-actions {
	display: flex;
	margin-top: 30px !important;
	gap: 12px;
}

.mcs-s-home .wp-block-button__link {
	min-height: 50px;
	padding: 14px 23px;
	border: 1px solid var(--mcs-simple-gold);
	border-radius: 999px;
	color: var(--mcs-simple-navy);
	background: var(--mcs-simple-gold);
	font-size: 0.94rem;
	font-weight: 780;
}

.mcs-s-home .wp-block-button__link:hover,
.mcs-s-home .wp-block-button__link:focus-visible {
	background: var(--mcs-simple-gold-hover);
}

.mcs-s-home .is-style-outline .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.72);
	color: var(--mcs-simple-white);
	background: transparent;
}

.mcs-s-home .is-style-outline .wp-block-button__link:hover,
.mcs-s-home .is-style-outline .wp-block-button__link:focus-visible {
	border-color: var(--mcs-simple-gold);
	color: var(--mcs-simple-navy);
	background: var(--mcs-simple-gold);
}

.mcs-s-home :where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid #2d79b4;
	outline-offset: 3px;
}

/* Hero: one message, one planning card, no vehicle or decorative gallery. */
.mcs-s-hero {
	padding: clamp(74px, 7.5vw, 116px) 0;
	background: linear-gradient(118deg, #06172c 0%, var(--mcs-simple-navy-soft) 100%);
}

body.mcs-front-page .mcs-s-home .mcs-s-hero.mcs-page-hero {
	margin: 0;
	padding: clamp(74px, 7.5vw, 116px) 0;
	border: 0;
	border-radius: 0;
	background: linear-gradient(118deg, #06172c 0%, var(--mcs-simple-navy-soft) 100%);
	box-shadow: none;
}

body.mcs-front-page .mcs-s-home .mcs-s-hero.mcs-page-hero::before,
body.mcs-front-page .mcs-s-home .mcs-s-hero.mcs-page-hero::after {
	display: none;
}

body.mcs-front-page .mcs-s-home .mcs-s-hero.mcs-page-hero h1 {
	max-width: 11.5ch;
	font-weight: 780;
	line-height: 0.98;
}

.mcs-s-hero__columns {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.82fr);
	align-items: center;
	gap: clamp(52px, 7vw, 96px);
}

.mcs-s-hero__copy,
.mcs-s-hero__panel {
	min-width: 0;
}

.mcs-s-hero :where(h1, h2, p) {
	color: var(--mcs-simple-white) !important;
}

.mcs-s-hero .mcs-s-eyebrow {
	color: #f0ca72;
}

.mcs-s-hero__copy .stk-block-text__text {
	max-width: 670px;
	color: #d6e2ec !important;
	font-size: clamp(1.05rem, 1.45vw, 1.2rem);
	line-height: 1.68;
}

.mcs-s-hero .is-style-outline .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.72) !important;
	color: var(--mcs-simple-white) !important;
	background: transparent !important;
}

.mcs-s-hero .is-style-outline .wp-block-button__link:hover,
.mcs-s-hero .is-style-outline .wp-block-button__link:focus-visible {
	border-color: var(--mcs-simple-gold) !important;
	color: var(--mcs-simple-navy) !important;
	background: var(--mcs-simple-gold) !important;
}

.mcs-s-hero__panel {
	padding: clamp(28px, 3vw, 42px);
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 22px;
	background: rgba(4, 20, 40, 0.44);
	box-shadow: 0 28px 70px rgba(2, 10, 22, 0.28);
}

.mcs-s-hero__panel h2 {
	margin-bottom: 26px;
	font-size: clamp(1.65rem, 2.35vw, 2.2rem) !important;
	letter-spacing: -0.025em;
}

.mcs-s-panel__label,
.mcs-s-home p.mcs-s-panel__label {
	margin-bottom: 12px;
	color: #f0ca72;
	font-size: 0.72rem;
	font-weight: 820;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.mcs-s-panel__rows {
	display: grid;
	gap: 10px;
}

.mcs-s-panel__row {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	align-items: start;
	padding: 17px 0;
	gap: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.mcs-s-panel__row p {
	margin: 0;
	color: #dbe6ef;
	font-size: 0.91rem;
	line-height: 1.5;
}

.mcs-s-panel__row strong {
	color: var(--mcs-simple-white);
	font-size: 1rem;
}

.mcs-s-panel__number,
.mcs-s-home p.mcs-s-panel__number {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 50%;
	color: var(--mcs-simple-navy);
	background: var(--mcs-simple-gold);
	font-size: 0.72rem;
	font-weight: 820;
}

/* Three substantial cards: readable at desktop and intentionally stackable. */
.mcs-s-cards,
.mcs-s-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.mcs-s-card {
	display: flex;
	min-width: 0;
	min-height: 300px;
	padding: 32px;
	flex-direction: column;
	border: 1px solid var(--mcs-simple-line);
	border-radius: 16px;
	background: var(--mcs-simple-white);
	box-shadow: var(--mcs-simple-shadow);
}

.mcs-s-card .mcs-s-link {
	margin-top: auto;
	margin-bottom: 0;
	padding-top: 24px;
}

.mcs-s-card__marker,
.mcs-s-home p.mcs-s-card__marker {
	display: grid;
	width: 40px;
	height: 40px;
	margin-bottom: 26px;
	place-items: center;
	border-radius: 8px;
	color: var(--mcs-simple-navy);
	background: #f5e7bc;
	font-size: 0.76rem;
	font-weight: 820;
}

.mcs-s-link a {
	color: #174f7c;
	font-weight: 760;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.mcs-s-link a:hover,
.mcs-s-link a:focus-visible {
	color: var(--mcs-simple-navy);
}

/* Process and split sections retain generous whitespace and direct reading flow. */
.mcs-s-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.75fr);
	align-items: end;
	margin-bottom: 40px !important;
	gap: clamp(42px, 7vw, 90px);
}

.mcs-s-section-heading p:last-child {
	margin-bottom: 8px;
}

.mcs-s-step {
	min-width: 0;
	padding: 30px;
	border-top: 4px solid var(--mcs-simple-gold);
	border-radius: 0 0 14px 14px;
	background: var(--mcs-simple-white);
	box-shadow: 0 10px 28px rgba(7, 27, 51, 0.06);
}

.mcs-s-step__number,
.mcs-s-home p.mcs-s-step__number {
	margin-bottom: 28px;
	color: #7a5510;
	font-size: 0.78rem;
	font-weight: 840;
	letter-spacing: 0.1em;
}

.mcs-s-split {
	display: grid;
	grid-template-columns: minmax(0, 0.88fr) minmax(430px, 1.12fr);
	align-items: center;
	gap: clamp(50px, 7vw, 96px);
}

.mcs-s-route-list {
	display: grid;
	gap: 12px;
}

.mcs-s-route {
	display: grid;
	grid-template-columns: 62px minmax(0, 1fr);
	padding: 24px 26px;
	gap: 20px;
	border: 1px solid var(--mcs-simple-line);
	border-radius: 14px;
	background: var(--mcs-simple-white);
}

.mcs-s-route h3 {
	margin-bottom: 6px;
	font-size: 1.16rem;
}

.mcs-s-route p {
	margin-bottom: 8px;
	font-size: 0.92rem;
}

.mcs-s-route .mcs-s-link {
	margin-bottom: 0;
}

.mcs-s-route__code,
.mcs-s-home p.mcs-s-route__code {
	display: grid;
	width: 52px;
	height: 52px;
	margin: 0;
	place-items: center;
	border-radius: 50%;
	color: var(--mcs-simple-white);
	background: var(--mcs-simple-navy);
	font-size: 0.75rem;
	font-weight: 840;
	letter-spacing: 0.06em;
}

/* Conversion area keeps the governed Metro form visible and comfortable. */
.mcs-s-quote__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.76fr) minmax(520px, 1.24fr);
	align-items: start;
	gap: clamp(46px, 7vw, 92px);
}

.mcs-s-quote__copy {
	position: sticky;
	top: calc(var(--mcs-header) + 32px);
}

.mcs-s-checks {
	display: grid;
	margin: 30px 0 0;
	padding: 0;
	gap: 14px;
	list-style: none;
}

.mcs-s-checks li {
	margin-left: 20px;
	padding-left: 8px;
	list-style: square;
}

.mcs-s-checks li::marker {
	color: var(--mcs-simple-gold-hover);
}

.mcs-s-quote__form {
	min-width: 0;
	padding: clamp(26px, 3.2vw, 42px);
	border: 1px solid var(--mcs-simple-line);
	border-radius: 18px;
	background: var(--mcs-simple-white);
	box-shadow: var(--mcs-simple-shadow);
}

.mcs-s-quote__form .mcs-quick-quote__header h2 {
	font-family: inherit;
	font-size: clamp(1.8rem, 2.8vw, 2.45rem);
	letter-spacing: -0.025em;
}

.mcs-s-quote__form .mcs-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 18px;
}

.mcs-s-quote__form :where(.mcs-form__field--full, .mcs-form__actions, .mcs-form__privacy, .mcs-form__message) {
	grid-column: 1 / -1;
}

.mcs-s-quote__form :where(input, select, textarea) {
	width: 100%;
	max-width: 100%;
}

.mcs-s-card--resource {
	min-height: 240px;
}

/* One restrained close, followed by the existing governed footer. */
.mcs-s-final {
	padding: clamp(56px, 6vw, 78px) 0;
	background: linear-gradient(118deg, #06172c, var(--mcs-simple-navy-soft));
}

.mcs-s-final__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 44px;
}

.mcs-s-final :where(h2, p) {
	color: var(--mcs-simple-white) !important;
}

.mcs-s-final h2 {
	font-size: clamp(2.15rem, 3.5vw, 3.15rem) !important;
}

.mcs-s-final h2 {
	max-width: 760px;
	margin-bottom: 12px;
	font-size: clamp(2rem, 3.6vw, 3.1rem);
}

.mcs-s-final p {
	max-width: 680px;
	margin-bottom: 0;
	color: #d6e2ec;
}

.mcs-s-final__action {
	display: flex;
	justify-content: flex-end;
}

.mcs-footer__inner {
	padding-top: 62px;
	padding-bottom: 50px;
}

.mcs-footer :where(h2, p, a) {
	font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

@media (max-width: 1360px) and (min-width: 1181px) {
	.mcs-header__inner {
		width: calc(100vw - 32px);
	}

	.mcs-brand--desktop {
		width: 186px;
		max-width: 186px;
	}

	.mcs-menu--desktop > li > a {
		padding-inline: 5px;
		font-size: 0.75rem;
	}

	.mcs-header__cta {
		padding-inline: 14px;
		font-size: 0.8rem;
	}
}

@media (max-width: 1040px) {
	:root {
		--mcs-simple-wrap: min(100% - 48px, 920px);
	}

	.mcs-s-hero__columns,
	.mcs-s-split,
	.mcs-s-quote__layout {
		grid-template-columns: 1fr;
	}

	.mcs-s-hero__panel,
	.mcs-s-route-list,
	.mcs-s-quote__form {
		width: min(760px, 100%);
	}

	.mcs-s-quote__copy {
		position: static;
		max-width: 760px;
	}

	.mcs-s-section-heading {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 12px;
	}
}

@media (max-width: 781px) {
	:root {
		--mcs-simple-wrap: calc(100vw - 36px);
		--mcs-header: 72px;
	}

	body.mcs-front-page,
	body.mcs-front-page .mcs-s-home {
		font-size: 16px;
	}

	.mcs-header__inner {
		width: calc(100vw - 32px);
	}

	.mcs-s-home h1 {
		max-width: 11ch;
		font-size: clamp(2.65rem, 12vw, 4rem);
	}

	.mcs-s-home h2 {
		font-size: clamp(1.9rem, 8.5vw, 2.7rem);
	}

	.mcs-s-hero,
	.mcs-s-section {
		padding-block: 64px;
	}

	body.mcs-front-page .mcs-s-home .mcs-s-hero.mcs-page-hero {
		padding-block: 64px;
	}

	.mcs-s-hero__columns,
	.mcs-s-cards,
	.mcs-s-steps,
	.mcs-s-section-heading,
	.mcs-s-split,
	.mcs-s-quote__layout,
	.mcs-s-final__layout {
		display: grid;
		grid-template-columns: 1fr;
		gap: 26px;
	}

	.mcs-s-card,
	.mcs-s-card--resource {
		min-height: 0;
		padding: 28px 24px;
	}

	.mcs-s-step {
		padding: 26px 24px;
	}

	.mcs-s-route {
		padding: 22px;
	}

	.mcs-s-final__action {
		justify-content: flex-start;
	}

	.mcs-s-footer__inner {
		padding-top: 54px;
	}
}

@media (max-width: 480px) {
	:root {
		--mcs-simple-wrap: calc(100vw - 28px);
	}

	.mcs-s-hero,
	.mcs-s-section {
		padding-block: 52px;
	}

	body.mcs-front-page .mcs-s-home .mcs-s-hero.mcs-page-hero {
		padding-block: 52px;
	}

	.mcs-s-home h1 {
		font-size: clamp(2.45rem, 12vw, 3.25rem);
	}

	.mcs-s-hero__panel,
	.mcs-s-card,
	.mcs-s-step,
	.mcs-s-quote__form {
		padding: 24px 20px;
		border-radius: 14px;
	}

	.mcs-s-panel__row {
		grid-template-columns: 36px minmax(0, 1fr);
		gap: 10px;
	}

	.mcs-s-panel__number,
	.mcs-s-home p.mcs-s-panel__number {
		width: 34px;
		height: 34px;
	}

	.mcs-s-route {
		grid-template-columns: 1fr;
	}

	.mcs-s-route__code,
	.mcs-s-home p.mcs-s-route__code {
		width: 46px;
		height: 46px;
	}

	.mcs-s-quote__form .mcs-form__grid {
		grid-template-columns: 1fr;
	}

	.mcs-s-quote__form .mcs-form__field {
		grid-column: 1;
	}

	.mcs-s-actions,
	.mcs-s-home .wp-block-buttons {
		align-items: stretch;
		flex-direction: column;
	}

	.mcs-s-home .wp-block-button,
	.mcs-s-home .wp-block-button__link {
		width: 100%;
	}
}

@media (max-width: 340px) {
	.mcs-s-home h1 {
		font-size: 2.18rem !important;
		letter-spacing: -0.045em;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mcs-s-home *,
	.mcs-header,
	.mcs-footer {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
