/* Homepage fidelity overrides for Figma frame 2:2 (1440 x 2393).
   Shared components remain in global.css; these rules intentionally do not
   change the internal pages while their own Figma pass is still pending. */

@media (min-width: 1200px) {
    .page-home .hero-carousel::before {
        content: "";
        position: absolute;
        z-index: 4;
        top: 75px;
        left: max(0px, calc((100% - 1440px) / 2));
        width: 86px;
        height: 915px;
        background: url("../../img/figma/pattern-grid.png") center / contain no-repeat;
        pointer-events: none;
    }

    .page-home .site-contact-bar .container {
        width: calc(100% - 150px);
        max-width: 1291px;
    }

    .page-home .header-main {
        padding-top: 41px;
    }

    .page-home .nav-toggle {
        position: absolute;
        top: 93px;
        right: max(24px, calc((100% - 1440px) / 2 + 74px));
    }

    .page-home .site-header.is-scrolled .nav-toggle {
        position: static;
    }

    .page-home .hero-media {
        width: min(1316px, calc(100% - 48px));
    }

    .page-home .hero-copy {
        /* Keep the text clear of the 86px decoration and carousel controls. */
        width: calc(100% - 208px);
        padding-top: 272px;
    }

    .page-home .hero-copy h1 {
        width: 488px;
        font-size: 28px;
        line-height: normal;
        white-space: nowrap;
    }

    .page-home .hero-copy > p {
        width: 352px;
        margin-top: 20px;
        font-family: Inter, Arial, sans-serif;
        font-size: 18px;
        line-height: normal;
    }

    .page-home .hero-control {
        top: 535px;
    }

    .page-home .hero-control:disabled {
        cursor: default;
    }

    .page-home .hero-control-prev {
        left: max(12px, calc((100% - 1440px) / 2 + 24px));
    }

    .page-home .hero-control-next {
        right: max(12px, calc((100% - 1440px) / 2 + 34px));
    }

    .page-home .impact-grid {
        position: relative;
        display: block;
        width: calc(100% - 250px);
        max-width: 1191px;
        height: 111px;
    }

    .page-home .pillars-panel {
        position: absolute;
        z-index: 2;
        top: 0;
        left: 0;
        display: block;
        width: 720px;
        height: 111px;
        border-radius: 20px;
    }

    .page-home .pillar-item {
        position: absolute;
        top: 24px;
        width: 204px;
        height: 64px;
        grid-template-columns: 64px 139px;
        gap: 0;
        padding: 0;
    }

    .page-home .pillar-item:nth-child(1) {
        left: 17px;
    }

    .page-home .pillar-item:nth-child(2) {
        left: 233px;
    }

    .page-home .pillar-item:nth-child(3) {
        left: 449px;
    }

    .page-home .pillar-icon {
        padding: 0;
    }

    .page-home .pillar-item h2 {
        font-size: 14px;
        line-height: normal;
    }

    .page-home .pillar-item p {
        width: 129px;
        margin-top: 2px;
        font-family: Inter, Arial, sans-serif;
        font-size: 10px;
        line-height: 14px;
    }

    .page-home .indicators-panel {
        position: absolute;
        z-index: 1;
        top: 0;
        left: 694px;
        display: block;
        width: 497px;
        height: 111px;
        min-height: 111px;
        padding: 0;
        color: var(--dudley-white);
        border-radius: 0 20px 20px 0;
    }

    .page-home .indicator-item {
        position: absolute;
        top: 23px;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0;
    }

    .page-home .indicator-item:nth-child(1) {
        left: 53px;
        width: 77px;
    }

    .page-home .indicator-item:nth-child(2) {
        left: 182px;
        width: 105px;
    }

    .page-home .indicator-item:nth-child(3) {
        left: 339px;
        width: 106px;
    }

    .page-home .indicator-item strong {
        width: 100%;
        color: var(--dudley-white);
        font-weight: 600;
        font-size: 32px;
        line-height: normal;
    }

    .page-home .indicator-item span {
        margin-top: 0;
        font-family: Inter, Arial, sans-serif;
        font-size: 12px;
        line-height: 14px;
    }

    .page-home .indicator-item:nth-child(1) span {
        width: 77px;
    }

    .page-home .indicator-item:nth-child(2) span {
        width: 80px;
    }

    .page-home .indicator-item:nth-child(3) span {
        width: 69px;
    }

}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .page-home .hero-control {
        top: 690px;
    }
}

.page-home .home-impact {
    padding: 81px 0 102px;
}

.page-home .video-section {
    padding: 22px 0 234px;
}

.page-home .video-frame {
    border: 0;
    box-shadow: none;
}
