/* Crossover band, service-area block, bid CTA band — README §1.7, 1.8, 1.9 */

/* Background/border stay full-bleed on the section; the inner wrapper caps
   and centers content at 1200px, same as .container elsewhere. */
.crossover-band {
	background: var(--color-tint);
	border-top: 1px solid var(--color-line);
	border-bottom: 1px solid var(--color-line);
	padding-block: 56px;
}
.crossover-band__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--gutter-desktop);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-24);
	flex-wrap: wrap;
}
.crossover-band p {
	margin: 0;
	font-size: 20px;
	line-height: 1.55;
	max-width: 60ch;
}

/* No background of its own, so — unlike the bands above — it's safe to cap
   directly on this element, same pattern as .container/.site-header__inner. */
.service-area {
	max-width: var(--container-max);
	margin-inline: auto;
	padding: 92px var(--gutter-desktop);
}
.service-area__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	gap: 80px;
}
.service-area h2 { margin: var(--space-12) 0 var(--space-24); }
.service-area__col p { margin: 0 0 var(--space-16); font-size: 17px; line-height: 1.6; }

.service-area__panel {
	border: 1px solid var(--color-line);
	padding: 36px;
}
.service-area__panel-label {
	display: block;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-ink);
	margin-bottom: var(--space-20);
}
.service-area__cities {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-12) var(--space-16);
	margin-top: var(--space-20);
}
.service-area__city {
	font-size: 14px;
	color: var(--color-ink);
	background: var(--color-tint);
	padding: 8px 10px;
	text-align: center;
	border-radius: var(--radius);
}

/* Dark background/swoosh stay full-bleed on the section; the inner wrapper
   caps and centers content at 1200px, same as .container elsewhere. */
.bid-cta-band {
	position: relative;
	overflow: hidden;
	padding-block: 100px;
}
.bid-cta-band__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--gutter-desktop);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-32);
	flex-wrap: wrap;
}
.bid-cta-band__swoosh {
	width: 620px;
	right: -100px;
	top: -140px;
	transform: rotate(-18deg);
	fill: var(--color-primary);
	opacity: 0.14;
}
.bid-cta-band__content { position: relative; max-width: 760px; }
.bid-cta-band h2 { font-size: 40px; line-height: 1.15; margin: 0 0 var(--space-16); }
.bid-cta-band__sub { margin: 0 0 var(--space-24); font-size: 18px; color: var(--color-muted-dark); }
.bid-cta-band__contacts { display: flex; gap: var(--space-24); flex-wrap: wrap; }
.bid-cta-band .btn-primary { position: relative; padding: 20px 32px; flex: none; }

@media (max-width: 1279px) {
	.crossover-band__inner,
	.bid-cta-band__inner { padding-inline: var(--gutter-tablet); }
	.service-area { padding-inline: var(--gutter-tablet); }
}

@media (max-width: 767px) {
	.crossover-band { padding-block: 40px; }
	.crossover-band__inner { padding-inline: var(--gutter-mobile); flex-direction: column; align-items: flex-start; }
	.service-area { padding: 56px var(--gutter-mobile); }
	.service-area__grid { grid-template-columns: 1fr; gap: var(--space-32); }
	.service-area__cities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bid-cta-band { padding-block: 56px; }
	.bid-cta-band__inner { padding-inline: var(--gutter-mobile); flex-direction: column; align-items: flex-start; }
	.bid-cta-band h2 { font-size: 30px; }
	.bid-cta-band .btn-primary { width: 100%; justify-content: center; }
}
