/* Service-page content only. Shared shell and homepage styling are separate. */
.zt-service,
.zt-service-content { margin-block: 0; padding: 0; }
.zt-service :where(h1, h2, h3, p) { margin: 0; }
.zt-service-content > *,
.zt-service :where(.wp-block-group) > * { margin-block-start: 0; }
.zt-service-container { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: clamp(1.25rem, 4vw, 3rem); }
.zt-service-section { padding-block: clamp(3rem, 6vw, 5rem); }
.zt-service-section .zt-eyebrow { margin-bottom: 14px; }
.zt-service h2 { max-width: 800px; }
.zt-service p { max-width: 65ch; }
.zt-service-hero { color: #fff; background: radial-gradient(ellipse at 87% 37%, #26394f 0, #142033 65%); }
.zt-service-hero-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.zt-service-hero-copy { display: grid; gap: 24px; }
.zt-service-hero-copy .zt-eyebrow { margin-bottom: 0; color: #E2B66C; font-size: .875rem; }
.zt-service-hero h1 { font-size: clamp(2.125rem, 4vw, 3.25rem); }
.zt-service .zt-service-lead { color: #E3E9EF; font-size: 1.25rem; }
.zt-service .zt-service-caption { color: #E3E9EF; font-size: 1rem; }
.zt-service-art img { display: block; width: 100%; height: auto; }
.zt-service .zt-service-actions { gap: 14px; }
.zt-service-actions .wp-block-button__link { font-size: 1rem; padding-inline: 20px; }
.zt-service-hero .wp-block-button.is-style-outline > .wp-block-button__link { border-color: #8A9AAF; background: transparent; color: #fff; }
.zt-service-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: #E2B66C; background: #E2B66C; color: #142033; }
.zt-service-scenarios,
.zt-service-support,
.zt-service-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 32px; }
.zt-service-scenarios,
.zt-service-support { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.zt-service-card { display: grid; align-content: start; gap: 18px; padding: 28px; border: 1px solid #DED6C7; border-radius: 12px; background: #F7F4ED; }
.zt-service-card h3,
.zt-service-step h3 { font-size: 1.375rem; }
.zt-service .zt-service-help { padding-top: 0; }
.zt-service-support .zt-service-card { padding: 0 0 0 22px; border: 0; border-left: 3px solid #825918; border-radius: 0; background: transparent; }
.zt-service-process { background: #F7F4ED; }
.zt-service-step { display: grid; align-content: start; gap: 18px; }
.zt-service-step-number { color: #825918; font-size: 2rem; font-weight: 600; line-height: 1; }
.zt-service-expectation-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.zt-service-expectation-copy { display: grid; gap: 20px; }
.zt-service-ongoing { display: grid; gap: 14px; padding: 28px; background: #F7F4ED; border-radius: 12px; }
.zt-service-ongoing a { font-weight: 600; }
.zt-service-review { background: #F7F4ED; border-top: 1px solid #DED6C7; }
.zt-service-review-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.zt-service-review-copy,
.zt-service-review-actions { display: grid; gap: 20px; }
.zt-service-review-copy .zt-eyebrow { margin-bottom: 0; }
.zt-service-review-actions { justify-items: start; }
.zt-service-email { font-size: 1rem; overflow-wrap: anywhere; }
@media (max-width: 959px) {
    .zt-service-hero-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, .9fr); gap: 20px; }
    .zt-service .zt-service-lead { font-size: 1.125rem; }
    .zt-service-review-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .zt-service-expectation-grid { gap: 28px; }
}
@media (min-width: 700px) and (max-width: 959px) {
    .zt-service-scenarios,
    .zt-service-support { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zt-service-scenarios > :last-child:nth-child(odd),
    .zt-service-support > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 699px) {
    .zt-service-section { padding-block: 44px; }
    .zt-service-hero-grid,
    .zt-service-scenarios,
    .zt-service-support,
    .zt-service-steps,
    .zt-service-expectation-grid { grid-template-columns: minmax(0, 1fr); }
    .zt-service-hero-copy { gap: 20px; }
    .zt-service-hero h1 { font-size: clamp(2.125rem, 8.6vw, 3rem); }
    .zt-service-art { max-width: 300px; margin: 0 auto; }
    .zt-service-card { padding: 24px; }
    .zt-service-hero .wp-block-button,
    .zt-service-review .wp-block-button,
    .zt-service-actions .wp-block-button__link { width: 100%; }
    .zt-service-step { padding-bottom: 24px; border-bottom: 1px solid #DED6C7; }
    .zt-service-step:last-child { padding-bottom: 0; border-bottom: 0; }
}

/* Separate the family-support invitation from the preceding support cards. */
.zt-service .zt-family-section .zt-service-container > .zt-service-support + p { margin-top: 28px; }
