/**
 * Local Moving page — hero tweaks + teal services band (Figma node 1754:898).
 * 4 steps section: assets/css/moving-steps.css
 */

/* "Get a quote" in 4 steps → #beaver-calculator. Smooth scroll; offset from sticky header: calculator-dropdown.js */
html:has(.beaver-page-local-moving),
html:has(.beaver-page-commercial-moving),
html:has(.beaver-page-specialty-services),
html:has(.beaver-page-long-distance-moving),
html:has(.beaver-page-junk-removal),
html:has(.beaver-page-seniors-moving),
html:has(.beaver-page-packing-services),
html:has(.beaver-page-delivery-services),
html:has(.beaver-page-pricing),
html:has(.beaver-page-about-us) {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--bm-header-height, 88px) + 1.5rem);
}

@media (prefers-reduced-motion: reduce) {

	html:has(.beaver-page-local-moving),
	html:has(.beaver-page-commercial-moving),
	html:has(.beaver-page-specialty-services),
	html:has(.beaver-page-long-distance-moving),
	html:has(.beaver-page-junk-removal),
	html:has(.beaver-page-seniors-moving),
	html:has(.beaver-page-packing-services),
	html:has(.beaver-page-delivery-services),
	html:has(.beaver-page-pricing),
	html:has(.beaver-page-about-us) {
		scroll-behavior: auto;
	}
}

/* Pricing page: space before footer after last band */
main.beaver-page-pricing > section:last-child {
	padding-bottom: 104px;
}

@media (max-width: 736px) {

	main.beaver-page-pricing > section:last-child {
		padding-bottom: 64px;
	}
}

/* About Us page: space before footer after last band */
main.beaver-page-about-us > section:last-child {
	padding-bottom: 120px;
}

@media (max-width: 736px) {

	main.beaver-page-about-us > section:last-child {
		padding-bottom: 64px;
	}
}

/* Single-line hero headline (long copy) */
.beaver-main-pic__headline--single .beaver-main-pic__headline-line {
	max-width: 36rem;
}

@media (min-width: 960px) {
	.beaver-main-pic__headline--single .beaver-main-pic__headline-line {
		max-width: 52rem;
	}
}

/* -------------------------------------------------------------------------
 * Local services (teal band)
 * ------------------------------------------------------------------------- */
.beaver-local-services {
	position: relative;
	padding: min(87px, 4.5rem) 48px;
	overflow: hidden;
	margin-top: 80px;
}

.beaver-local-services__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image: url("../images/local-services-bg.svg");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100% auto;
}

.beaver-local-services__inner {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin: 0 auto;
}

.beaver-local-services__title {
	font-family: var(--bm-font-brand, Georgia, serif);
	font-size: 36px;
	text-align: center;
	text-transform: uppercase;
	color: var(--bm-color-text-heading, #2c2008);
	margin: 0 0 24px;
}

.beaver-local-services__intro {
	font-family: var(--bm-font-nav, inherit);
	font-weight: 500;
	font-size: 20px;
	text-align: center;
	color: var(--bm-color-text-main, #151515);
	max-width: 42rem;
	margin: 0 auto min(64px, 2.5rem);
	line-height: normal;
}

/* Two-paragraph intro (Figma junk removal & similar) */
.beaver-local-services__intro-wrap {
	max-width: 66rem;
	margin: 0 auto min(64px, 2.5rem);
	text-align: center;
}

.beaver-local-services__intro-wrap .beaver-local-services__intro--line {
	max-width: none;
	margin: 0;
}

.beaver-local-services__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	align-items: start;
	margin-bottom: min(64px, 2.5rem);
}

.beaver-local-services__row:last-child {
	margin-bottom: 0;
}

@media (min-width: 900px) {
	.beaver-local-services__row {
		grid-template-columns: 1fr 1fr;
		align-items: center;
	}

	.beaver-local-services__row--image-right .beaver-local-services__copy {
		order: 1;
	}

	.beaver-local-services__row--image-right .beaver-local-services__figure {
		order: 2;
	}
}

.beaver-local-services__figure {
	border-radius: var(--bm-radius-card, 20px);
	overflow: hidden;
	max-width: 90%;
	max-height: 368px;
	margin: 0 auto;
}

/* About Us — title to row spacing when intro is off (Figma 1964:8469) */
.beaver-local-services--about-us .beaver-local-services__title {
	margin-bottom: min(64px, 2.5rem);
}

/* About Us services — team photo (Figma 1964:8469); full height, strong rounded frame */
.beaver-local-services--about-us .beaver-local-services__figure {
	border-radius: 24px;
	max-height: none;
	max-width: min(584px, 100%);
}

.beaver-local-services--about-us .beaver-local-services__figure img {
	width: 100%;
	height: auto;
	display: block;
}

.beaver-local-services__placeholder {
	min-height: 260px;
	background: linear-gradient(135deg,
			var(--bm-color-bg-sky, #b9f6ff),
			var(--bm-color-bg-cta-soft, #d5fa86));
}

.beaver-local-services__subheading {
	font-family: var(--bm-font-nav, inherit);
	font-weight: 700;
	font-size: 20px;
	text-transform: uppercase;
	color: var(--bm-color-text-main, #151515);
	margin: 0 0 24px;
}

.beaver-local-services__list {
	margin: 0 0 24px;
	padding-left: 1.35rem;
	font-family: var(--bm-font-nav, inherit);
	font-weight: 500;
	font-size: 20px;
	line-height: 28px;
	color: var(--bm-color-text-main, #151515);
}

/* First row paragraph (Figma seniors 1767-3089) instead of bullets */
.beaver-local-services__body {
	margin: 0 0 24px;
	font-family: var(--bm-font-nav, inherit);
	font-weight: 500;
	font-size: 20px;
	line-height: 28px;
	color: var(--bm-color-text-main, #151515);
}

.beaver-local-services__note {
	font-family: var(--bm-font-nav, inherit);
	font-weight: 500;
	font-size: 20px;
	color: var(--bm-color-text-main, #151515);
	margin: 0;
	line-height: normal;
}

/* Two-row band: reflow background at ≤1184px */
@media (max-width: 1184px) {
	.beaver-local-services:not(.beaver-local-services--single-row) .beaver-local-services__bg {
		background-size: auto 100%;
	}
}

@media (max-width: 1024px) {
	.beaver-local-services__title {
		font-size: 32px;
	}

	.beaver-local-services {
		margin-top: 64px;
	}
}

/* Single-row: reflow background only at ≤899px (base 100% auto from 900px up) */
@media (max-width: 899px) {
	.beaver-local-services--single-row .beaver-local-services__bg {
		background-size: auto 100%;
	}

	.beaver-local-services__row--image-right .beaver-local-services__figure {
		order: -1;
	}

	.beaver-local-services__figure {
		max-width: 100%;
	}
}

@media (max-width: 736px) {
	.beaver-local-services {
		padding: 56px 24px;
	}

	.beaver-local-services__row {
		margin-bottom: 24px;
	}

	.beaver-local-services__title {
		font-size: 24px;
		margin-bottom: 16px;
	}

	.beaver-local-services__intro {
		font-size: 16px;
		margin-bottom: 18px;
	}

	.beaver-local-services__intro-wrap {
		margin-bottom: 18px;
	}

	.beaver-local-services__subheading {
		font-size: 16px;
		margin-bottom: 16px;
	}

	.beaver-local-services__list {
		font-size: 16px;
		line-height: 24px;
		margin-bottom: 16px;
	}

	.beaver-local-services__body {
		font-size: 16px;
		line-height: 24px;
		margin-bottom: 16px;
	}

	.beaver-local-services__note {
		font-size: 16px;
		line-height: normal;
	}
}

@media (max-width: 600px) {
	.beaver-local-services {
		padding: 56px 12px;
	}

	.beaver-local-services__intro {
		font-size: 14px;
		margin-bottom: 18px;
	}

	.beaver-local-services__intro-wrap {
		margin-bottom: 18px;
	}

	.beaver-local-services__subheading {
		font-size: 16px;
		margin-bottom: 16px;
	}

	.beaver-local-services__list {
		font-size: 14px;
		line-height: 20px;
		margin-bottom: 16px;
	}

	.beaver-local-services__body {
		font-size: 14px;
		line-height: 20px;
		margin-bottom: 16px;
	}

	.beaver-local-services__note {
		font-size: 14px;
		line-height: normal;
	}
}

/* -------------------------------------------------------------------------
 * FAQ — bottom pad when promo is omitted. faq.css sets #beaver-faq-section
 * padding-bottom: 0 (beats two classes); include id so this wins.
 * ------------------------------------------------------------------------- */
#beaver-faq-section.beaver-section--questions--no-promo-below {
	padding-bottom: 128px;
}

@media (max-width: 736px) {
	#beaver-faq-section.beaver-section--questions--no-promo-below {
		padding-bottom: 64px;
	}
}