/* Issue #118 measured final visual pass.
 * Scoped to the homepage. The operator-supplied FIX board is normative.
 * This layer only corrects the residual differences visible in the latest fresh capture.
 */
@media (min-width: 1024px) {
    /* Keep established layout geometry. Only reduce the locked hero scene scale so the
     * characters match the FIX board without moving section boundaries. */
    .home-page .home-hero-grid {
        min-height: 424px;
        height: 424px;
        overflow: hidden;
    }

    .home-page .home-hero-copy {
        padding-top: 40px;
        padding-bottom: 20px;
        transform: translateY(58px);
    }

    .home-page .home-hero-copy h1 {
        font-size: 3.25rem;
        transform: translateY(-46px) scale(1.2);
        transform-origin: left bottom;
    }

    .home-page .home-hero-copy .lead {
        font-size: .95rem;
        transform: translateY(-28px) scale(1.1);
        transform-origin: left center;
    }

    .home-page .home-search {
        max-width: 590px;
        transform: translateY(-12px);
    }

    .home-page .home-hero-visual {
        width: calc(100% + 250px);
        margin-left: -250px;
    }

    .home-page .home-hero-asset {
        object-position: 72% center;
    }

    .home-page .site-logo {
        width: 196px;
        height: 44px;
    }

    .home-page .primary-nav {
        font-size: .9rem;
    }

    /* The final FIX header visibly carries two search glyphs: the active pale-blue
     * search button plus a plain secondary magnifier. Reproduce the second glyph
     * without adding another accessible control or changing the template. */
    .home-page .header-search-action {
        position: relative;
        margin-right: 42px;
        border-color: transparent;
        background: #eef6fd;
        box-shadow: none;
    }

    .home-page .header-search-action::before {
        position: absolute;
        top: 50%;
        left: calc(100% + 18px);
        width: 15px;
        height: 15px;
        border: 2px solid #2d73b9;
        border-radius: 50%;
        content: "";
        transform: translateY(-58%);
    }

    .home-page .header-search-action::after {
        position: absolute;
        top: calc(50% + 7px);
        left: calc(100% + 31px);
        width: 7px;
        height: 2px;
        border-radius: 2px;
        background: #2d73b9;
        content: "";
        transform: rotate(45deg);
        transform-origin: left center;
    }

    .home-page .home-check-section {
        padding-top: 5px;
        padding-bottom: 0;
    }

    .home-page .home-theme-list a {
        min-height: 155px;
    }

    .home-page .home-theme-section {
        padding-bottom: 13px;
    }

    .home-page .home-scene-section {
        padding-bottom: 10px;
    }

    .home-page .home-scene-card {
        background: #f7fbff;
    }

    .home-page .home-guide-card > a:first-child,
    .home-page .home-guide-card > a:first-child img {
        height: 118px;
    }

    .home-page .home-guide-section {
        padding-bottom: 11px;
    }

    .home-page .home-tool-card {
        min-height: 180px;
    }

    .home-page .home-tool-section {
        padding-bottom: 4px;
    }

    .home-page .home-section-heading h2 {
        font-size: 1.9rem;
    }

    .home-page .section-link {
        font-size: .9rem;
    }

    .home-page .home-check-card-icon::before {
        transform: scale(1.38);
    }

    .home-page .home-check-card h3 {
        font-size: 1.18rem;
    }

    .home-page .home-check-card-summary {
        font-size: .88rem;
    }

    .home-page .home-theme-icon::before {
        transform: scale(1.4);
    }

    .home-page .home-theme-list a {
        font-size: .9rem;
    }

    .home-page .home-scene-card-label {
        font-size: 1.1rem;
    }

    .home-page .home-scene-card-description {
        font-size: .88rem;
    }

    .home-page .home-guide-card h3 {
        font-size: 1.1rem;
    }

    .home-page .home-guide-card-summary {
        font-size: .86rem;
    }

    .home-page .home-tool-icon::before {
        transform: scale(1.38);
    }

    .home-page .home-tool-card h3 {
        font-size: 1.1rem;
    }

    .home-page .home-tool-card-summary {
        font-size: .86rem;
    }

    .home-page .home-latest-section .home-section-heading {
        margin-bottom: 10px;
    }

    /* The final comparison shows the five reading rows are the only remaining source
     * of cumulative vertical overrun. Reduce each row by exactly 6px while preserving
     * its media, typography, badges, and column geometry. */
    .home-page .home-latest-card {
        min-height: 132px;
        padding-top: 11px;
        padding-bottom: 11px;
    }

    .home-page .home-latest-card-media {
        height: 110px;
    }

    .home-page .home-latest-card h3 {
        font-size: 1.12rem;
    }

    .home-page .home-latest-card-summary {
        font-size: .86rem;
    }

    .home-page .home-latest-card-title-row {
        display: grid;
        grid-template-columns: 390px auto;
        justify-content: start;
        gap: 16px;
        align-items: center;
    }

    .home-page .home-latest-card-badge {
        justify-self: start;
    }

    /* FIX alternates strong and soft topic pills rather than painting every row with
     * the same saturated blue. */
    .home-page .home-latest-list > li:nth-child(2) .home-latest-card-badge,
    .home-page .home-latest-list > li:nth-child(4) .home-latest-card-badge,
    .home-page .home-latest-list > li:nth-child(5) .home-latest-card-badge {
        border: 1px solid #bfd4e5;
        color: #547b9e;
        background: #dce9f3;
    }

    .home-page .home-latest-section {
        background: linear-gradient(
            180deg,
            #fff 0%,
            #fff 55%,
            rgba(255, 255, 255, .96) 64%,
            rgba(255, 255, 255, .70) 76%,
            rgba(255, 255, 255, .16) 92%,
            rgba(255, 255, 255, 0) 100%
        );
    }

    .home-page .footer-logo {
        width: 196px;
        height: 44px;
    }

    /* The footer uses the white logo treatment but preserves the small warm brand
     * accent visible on the final FIX board. */
    .home-page .footer-logo-link {
        position: relative;
        display: inline-block;
    }

    .home-page .footer-logo-link::after {
        position: absolute;
        top: 6px;
        right: 25px;
        z-index: 2;
        color: #f3b51b;
        content: "✦";
        font-size: 11px;
        line-height: 1;
        pointer-events: none;
    }

    .home-page .footer-navigation {
        font-size: .9rem;
    }
}

/* Measured against the authoritative FIX board at equal 1080px product-canvas width.
 * The previous acceptance pass compressed the page. Restore only the missing vertical
 * rhythm while keeping all approved content, widths, assets, colors, and typography. */
@media (min-width: 1024px) {
    .home-page .home-hero-grid {
        min-height: 504px;
        height: 504px;
    }

    .home-page .home-check-section {
        padding-bottom: 15px;
    }

    .home-page .home-theme-section {
        padding-bottom: 28px;
    }

    .home-page .home-scene-section {
        padding-bottom: 25px;
    }

    .home-page .home-guide-section {
        padding-bottom: 43px;
    }

    .home-page .home-tool-section {
        padding-bottom: 24px;
    }

    .home-page .home-latest-card {
        min-height: 146px;
        padding-top: 18px;
        padding-bottom: 18px;
    }
}
