/* Home only. Specificity intentionally exceeds styles in Ghost HTML cards.
   Keep all overrides within the mobile breakpoint to preserve desktop. */
@media (max-width: 767px) {
    .home-template .site-content {
        padding-top: 0;
    }

    .home-template .sp-hero-full {
        margin-top: 0;
        min-height: 76vh;
        height: auto;
    }

    .home-template .sp-hero-full-inner {
        box-sizing: border-box;
        min-width: 0;
        padding: 3.2rem 6vw 4rem;
    }

    .home-template .sp-hero-full-text {
        min-width: 0;
        max-width: 100%;
    }

    .home-template .sp-hero-title {
        font-size: clamp(2.6rem, 7vw, 3.8rem);
        line-height: 1.02;
        white-space: normal;
        overflow-wrap: anywhere;
        hyphens: auto;
    }

    .home-template .sp-hero-tw-line,
    .home-template .sp-hero-title .tw-word {
        display: inline;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .home-template .sp-hero-sub {
        font-size: clamp(1.8rem, 4.8vw, 2.2rem);
    }

    .home-template .sp-hero-cta .button {
        min-width: 0;
        max-width: 100%;
        height: auto;
        min-height: 5.4rem;
        white-space: normal;
    }

    .home-template .sp-sections,
    .home-template .sp-wrap,
    .home-template .sp-grid,
    .home-template .sp-grid > * {
        box-sizing: border-box;
        min-width: 0;
        max-width: 100%;
    }

    .home-template .sp-wrap {
        padding-right: 6vw;
        padding-left: 6vw;
    }

    .home-template .sp-sections {
        overflow-wrap: anywhere;
    }

    .home-template .sp-grid-2,
    .home-template .sp-grid-3,
    .home-template .sp-steps {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-template .sp-steps {
        gap: 2.8rem;
    }

    /* The numbered steps already convey order; hide the horizontal rail. */
    .home-template .sp-steps .sp-progress-rail {
        display: none;
    }

    .home-template .sp-steps .sp-step {
        grid-template-columns: auto minmax(0, 1fr);
        opacity: 1;
        transform: none;
        transition: none;
    }

    .home-template .sp-steps .sp-step + .sp-step {
        padding-top: 2.4rem;
        border-top: 1px solid var(--divider-color);
    }

    .home-template .section-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-template .feed-content,
    .home-template .feed-wrapper {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .home-template .feed-right {
        flex-wrap: wrap;
    }
}
