/* Homepage-only layout. Shared header, footer, and dock remain in site-shell.css. */
.zt-home {
    margin-block: 0;
    padding: 0;
}
.zt-home :where(h1, h2, h3, p, ul, figure) { margin: 0; }
.zt-home > *,
.zt-home :where(.wp-block-group) > * { margin-block-start: 0; }
.zt-home-container {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: clamp(1.25rem, 4vw, 3rem);
}
.zt-home-section { padding-block: clamp(3rem, 6vw, 5.5rem); }
.zt-home-section .zt-eyebrow { margin-bottom: 14px; }
.zt-home h2 { max-width: 810px; }
.zt-home p { max-width: 66ch; }
.zt-home .zt-home-lead { font-size: 1.25rem; line-height: 1.65; }
.zt-home .zt-home-caption { font-size: 1rem; }
.zt-home-hero {
    padding-block: clamp(3.25rem, 6vw, 5rem);
    color: #fff;
    background: radial-gradient(ellipse at 87% 37%, #26394f 0, #142033 65%);
}
.zt-home-hero-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; gap: 32px; }
.zt-home-hero-copy { display: grid; justify-items: start; gap: 24px; }
.zt-home-hero .zt-eyebrow { color: #E2B66C; font-size: .875rem; letter-spacing: .08em; }
.zt-home-hero h1 { font-size: clamp(2.25rem, 4.2vw, 3.5rem); line-height: 1.12; letter-spacing: -.035em; }
.zt-home-hero .zt-home-lead { color: #E3E9EF; max-width: 48ch; }
.zt-home-hero .zt-home-caption { color: #E3E9EF; }
.zt-home .zt-home-actions { gap: 14px; }
.zt-home .zt-home-actions .wp-block-button__link { font-size: 1rem; padding-inline: 20px; }
.zt-home-hero .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; border-color: #8A9AAF; background: transparent; }
.zt-home-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover { color: #142033; border-color: #E2B66C; background: #E2B66C; }
.zt-home-hero-art { display: flex; align-items: center; justify-content: center; }
.zt-home-security { display: block; width: 100%; height: auto; }
.zt-home-trust { padding-block: 20px; background: #F7F4ED; border-bottom: 1px solid #DED6C7; }
.zt-home-reassurance { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 1rem; font-weight: 600; }
.zt-home-reassurance p { display: flex; align-items: center; gap: 10px; }
.zt-home-reassurance p::before { content: ''; flex: none; width: 7px; height: 7px; border-radius: 50%; background: #825918; }
.zt-home-intro-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: clamp(32px, 6vw, 80px); align-items: center; }
.zt-home-intro-copy { display: grid; gap: 20px; }
.zt-home-intro-copy .zt-eyebrow { margin: 0; }
.zt-home-question { padding: 32px; background: #F7F4ED; border-left: 3px solid #825918; border-radius: 0 12px 12px 0; display: grid; gap: 20px; }
.zt-home-help { padding-top: 0; }
.zt-home-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 32px; }
.zt-home-service { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; padding: clamp(24px, 3vw, 36px); border: 1px solid #DED6C7; border-top: 3px solid #825918; border-radius: 12px; }
.zt-home-service .zt-icon-tile { width: 54px; height: 54px; padding: 12px; }
.zt-home-service ul { padding-left: 22px; }
.zt-home-service li { margin-bottom: 10px; padding-left: 3px; }
.zt-home-service li::marker { color: #825918; }
.zt-home .zt-home-text-link { font-weight: 600; font-size: 1rem; }
.zt-home-service .zt-home-text-link { margin-top: auto; padding-top: 8px; }
.zt-home .zt-home-service-note { max-width: 84ch; margin-top: 24px; color: #43566D; font-size: 1rem; }
.zt-home .zt-home-concierge { padding-top: 0; }
.zt-home-concierge-panel { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: center; gap: 36px; padding: 36px; border-radius: 12px; background: #142033; color: #fff; }
.zt-home-concierge-copy { display: grid; gap: 18px; }
.zt-home-concierge-copy .zt-eyebrow { margin-bottom: 0; color: #E2B66C; }
.zt-home-concierge-offer { display: grid; justify-items: start; gap: 20px; }
.zt-home .zt-home-concierge-rate { color: #E2B66C; font-size: clamp(2rem, 3vw, 2.5rem); font-weight: 600; line-height: 1.2; }
.zt-home-concierge-rate span { margin-left: 4px; font-size: 1rem; font-weight: 400; }
.zt-home-concierge-offer .wp-block-button__link { font-size: 1rem; }
.zt-home-process { background: #F7F4ED; }
.zt-home-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; margin-top: 36px; }
.zt-home-step { display: grid; align-content: start; gap: 18px; }
.zt-home-step h3 { font-size: 1.375rem; }
.zt-home-step-number { color: #825918; font-size: 2rem; line-height: 1; font-weight: 600; }
.zt-home-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); }
.zt-home-about-copy { display: grid; gap: 18px; }
.zt-home-founder { font-size: 1.5rem; font-weight: 600; }
.zt-home .zt-home-founder-role { margin-top: 0; font-size: 1rem; color: #43566D; }
.zt-home-review { background: #F7F4ED; border-top: 1px solid #DED6C7; }
.zt-home-review-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.zt-home-review-copy { display: grid; gap: 20px; }
.zt-home-review-copy .zt-eyebrow { margin-bottom: 0; }
.zt-home .zt-home-review-note { font-size: 1rem; color: #43566D; }
.zt-home-review-actions { display: grid; gap: 20px; justify-items: start; }
.zt-home-direct-phone { font-weight: 600; }
.zt-home-direct-email { font-size: 1rem; overflow-wrap: anywhere; }
@media (max-width: 959px) {
    .zt-home-hero-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, .9fr); gap: 16px; }
    .zt-home-hero h1 { font-size: clamp(2.25rem, 4.7vw, 3rem); }
    .zt-home .zt-home-lead { font-size: 1.125rem; }
    .zt-home-intro-grid { gap: 28px; }
    .zt-home-reassurance { font-size: .9375rem; }
    .zt-home-steps { gap: 24px; }
    .zt-home-review-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .zt-home-concierge-panel { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 699px) {
    .zt-home-section { padding-block: 44px; }
    .zt-home-hero { padding-block: 40px 28px; }
    .zt-home-hero-grid, .zt-home-intro-grid, .zt-home-services, .zt-home-steps, .zt-home-about-grid { grid-template-columns: minmax(0, 1fr); }
    .zt-home-hero-copy { gap: 20px; }
    .zt-home-hero h1 { font-size: clamp(2.125rem, 8.6vw, 3rem); }
    .zt-home-hero .zt-eyebrow { font-size: .75rem; max-width: 29ch; }
    .zt-home-hero-art { max-width: 320px; width: 100%; margin: 8px auto 0; }
    .zt-home-hero .zt-home-actions, .zt-home-hero .wp-block-button { width: 100%; }
    .zt-home-hero .wp-block-button__link { width: 100%; }
    .zt-home-trust { padding-block: 22px; }
    .zt-home-reassurance { align-items: flex-start; flex-direction: column; gap: 12px; }
    .zt-home-help { padding-top: 0; }
    .zt-home-question { padding: 24px; }
    .zt-home-concierge-panel { padding: 24px; }
    .zt-home-services { gap: 24px; margin-top: 28px; }
    .zt-home-steps { gap: 28px; }
    .zt-home-step { padding-bottom: 24px; border-bottom: 1px solid #DED6C7; }
    .zt-home-step:last-child { padding-bottom: 0; border-bottom: 0; }
    .zt-home-review h2 br { display: none; }
    .zt-home-review-actions, .zt-home-review-actions .wp-block-buttons, .zt-home-review-actions .wp-block-button, .zt-home-review-actions .wp-block-button__link { width: 100%; }
}

/* Client review refinements: clear entry points, founder and future social proof. */
.zt-home-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
.zt-home-path { display: flex; flex-direction: column; gap: 20px; padding: 28px; border: 1px solid #DED6C7; border-top: 3px solid #825918; border-radius: 12px; }
.zt-home-path h3 { font-size: 1.375rem; }
.zt-home-path .zt-home-text-link { margin-top: auto; }
.zt-home .zt-home-help { padding-top: clamp(3rem, 6vw, 5.5rem); }
.zt-home-about-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr); align-items: center; }
.zt-home-resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: 32px; }
.zt-home-resource { display: grid; align-content: start; gap: 20px; padding-left: 24px; border-left: 3px solid #825918; }
.zt-home-resources { background: #F7F4ED; }
.zt-home .zt-home-plan-note { font-size: 1rem; color: #E3E9EF; }
.zt-testimonial-placeholder { display: grid; gap: 16px; padding: 32px; border: 1px dashed #825918; border-radius: 12px; }
.zt-testimonial-placeholder .zt-eyebrow { margin-bottom: 0; }
@media (max-width: 959px) { .zt-home-paths { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 699px) {
 .zt-home-about-grid, .zt-home-resource-grid { grid-template-columns: minmax(0, 1fr); }
 .zt-home-path, .zt-testimonial-placeholder { padding: 24px; }
}

/* Session descriptions come from the WordPress Community Sessions editor. */
.zt-community-examples { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.zt-community-example { padding: 20px; background: #fff; border: 1px solid #DED6C7; border-radius: 8px; }
.zt-community-example h3 { margin: 0 0 12px; font-size: 1.125rem; line-height: 1.4; }
.zt-community-example :where(p,ul,ol) + :where(p,ul,ol) { margin-top: 12px; }
.zt-home .zt-community-edit-note { font-size: 1rem; color: #43566D; }

.zt-home .zt-home-community { border-bottom: 1px solid #DED6C7; }
.zt-home .zt-home-community .zt-community-edit-note { margin-top: 20px; }
@media (max-width: 959px) { .zt-community-examples { grid-template-columns: minmax(0, 1fr); } }

/* Confirmed service area and hours beside the homepage review invitation. */
.zt-home .zt-business-summary { font-size: 1rem; line-height: 1.6; color: #E3E9EF; max-width: 56ch; }
