/*
 * A single service page (single-service.php). Loaded only on service pages
 * (inc/assets.php), together with the services block's CSS for the
 * "other services" list. Mobile first; desktop from 900px.
 */

.service__head { padding: 36px 0 8px; }

.service__crumb { margin: 0 0 10px; font-size: 14px; font-weight: 600; }
.service__crumb a { text-decoration: none; }
.service__crumb a:hover { text-decoration: underline; }

.service__title { font-size: 2.2rem; line-height: 1.08; }
.service__lede { max-width: 56ch; margin: 10px 0 0; color: var(--muted); font-size: 1.1rem; }

.service__body { display: grid; gap: 24px; padding-block: 20px 8px; }

.service__image { margin: 0; overflow: hidden; border-radius: var(--card-r); background: var(--tint); }
.service__image img { width: 100%; height: auto; }

.service__content { max-width: 68ch; }
.service__content > * + * { margin-top: 1em; }
.service__content h2 { margin-top: 1.6em; font-size: 1.5rem; }
.service__content h3 { margin-top: 1.4em; font-size: 1.2rem; }
.service__content ul,
.service__content ol { padding-left: 1.25em; }

.service__cta { padding-block: 32px; }

.service__cta-box { padding: 28px; border-radius: var(--card-r); background: var(--band-bg); color: var(--band-ink); }
.service__cta-box h2 { margin: 0; font-size: 1.6rem; color: inherit; }

.service__ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.service__ctas .button { flex: 1 1 150px; background: var(--accent); color: var(--on-accent); }
.service__ctas .button--secondary { background: transparent; border-color: currentcolor; color: inherit; }
.service__ctas .button--alert { background: transparent; border-color: var(--accent-2); color: inherit; }

@media (min-width: 900px) {
	.service__head { padding-top: 56px; }
	.service__title { font-size: 3.2rem; }
	.service__body { padding-block: 32px 16px; }
	.service__body--image { grid-template-columns: 1fr 1.15fr; align-items: start; gap: 48px; }
	.service__cta { padding-block: 40px; }
	.service__cta-box { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; padding: 36px 40px; }
	.service__ctas { margin-top: 0; }
	.service__ctas .button { flex: 0 0 auto; min-height: 56px; padding: 0 26px; font-size: 17px; }
}
