/* Full-width black bands: operating model, steps, CTA sections. */

@layer components {
	.sw-band {
		background: var(--ink);
		color: #fff;
		padding-block: var(--section-pad);
	}

	.sw-band h2, .sw-band h3 { color: #fff; }
	.sw-band .sw-eyebrow { color: var(--accent); }

	.sw-band__lead {
		max-width: 640px;
		font-size: clamp(1.0625rem, 1.6vw, 1.1875rem);
		color: rgba(255, 255, 255, 0.8);
		margin-bottom: 2rem;
	}

	.sw-band a:not(.sw-btn) { color: #fff; }
	.sw-band a:not(.sw-btn):hover { text-decoration-color: var(--accent); }

	.sw-tags {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		list-style: none;
		padding: 0;
	}
	.sw-tag {
		font-family: var(--font-mono);
		font-size: 0.75rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		padding: 7px 14px;
		border: 1px solid rgba(255, 255, 255, 0.3);
		margin: 0;
	}

	/* light context (work page rows) reuses .sw-tags/.sw-tag */
	.sw-section .sw-tag {
		border-color: var(--border);
		color: var(--muted);
	}

	.sw-band--cta { text-align: center; }
	.sw-band--cta h2 { font-size: clamp(2.25rem, 5vw, 3.5rem); margin-bottom: 1.25rem; }
	.sw-band--cta .sw-band__lead { margin-inline: auto; }

	/* steps grid inside the services band */
	.sw-steps { margin-bottom: 2.5rem; }
	.sw-step .sw-card__num { color: var(--accent); }
	.sw-step h3 { margin-bottom: 0.5rem; }
	.sw-step p { color: rgba(255, 255, 255, 0.75); font-size: 0.9375rem; }
}
