@media (max-width: 1360px) {
    .nav-desktop__list {
        gap: 0.85rem;
    }

    .nav-desktop__link {
        font-size: 0.9rem;
    }
}

@media (max-width: 1280px) {
    .nav-desktop__list {
        gap: 0.7rem;
    }

    .hero__intro h1,
    .foundations__statement h2 {
        max-width: none;
    }
}

@media (max-width: 1100px) {
    .nav-desktop,
    .site-header__cta {
        display: none;
    }

    .nav-toggle {
        display: grid;
        margin-left: auto;
    }

    .foundations__layout {
        grid-template-columns: 1fr;
    }

    .finance-map {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-map__block--1,
    .finance-map__block--2,
    .finance-map__block--3,
    .finance-map__block--4,
    .finance-map__block--5,
    .finance-map__core {
        grid-column: auto;
        grid-row: auto;
        margin: 0;
    }

    .finance-map__block--1 { grid-column: 1; }
    .finance-map__block--2 { grid-column: 2; }
    .finance-map__core { grid-column: 1 / -1; }
    .finance-map__block--3 { grid-column: 1; }
    .finance-map__block--4 { grid-column: 2; }
    .finance-map__block--5 { grid-column: 1 / -1; }

    .capability-modules {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-footer__grid {
        grid-template-columns: 1fr;
    }

    .site-footer__groups {
        padding-top: 0;
    }
}

@media (max-width: 900px) {
    .principles__row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.6rem 1.4rem;
    }

    .principles__row article {
        padding: 0;
        border-left: 0;
        border-top: 1px solid var(--oy-border);
        padding-top: 1.2rem;
    }

    .principles__row article:nth-child(-n + 2) {
        border-top: 0;
        padding-top: 0;
    }

    .approach__path li:nth-child(n) {
        max-width: none;
        margin-left: 0;
        padding: 1.15rem 0 1.2rem;
        border-bottom: 1px solid var(--oy-border);
    }

    .platform__layers {
        grid-template-columns: 1fr;
    }

    .platform__layer--intel,
    .platform__layer--product,
    .platform__layer--found,
    .platform__layer--data {
        grid-column: auto;
        justify-self: stretch;
        width: 100%;
        max-width: none;
    }

    .cta-band__inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .cta-band__actions {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .finance-map {
        grid-template-columns: 1fr;
    }

    .finance-map__block--1,
    .finance-map__block--2,
    .finance-map__block--3,
    .finance-map__block--4,
    .finance-map__block--5,
    .finance-map__core {
        grid-column: 1;
        margin: 0;
    }

    .site-footer__legal {
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    .capability-modules,
    .principles__row,
    .site-footer__grid,
    .site-footer__groups {
        grid-template-columns: 1fr;
    }

    .principles__row article {
        border-top: 1px solid var(--oy-border);
        padding-top: 1.2rem;
    }

    .principles__row article:first-child {
        border-top: 0;
        padding-top: 0;
    }

    .hero__principles {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
        border-top: 0;
        padding-top: 0;
    }

    .hero__principles li {
        padding: 0.7rem 0.9rem 0.7rem 0;
        border-left: 0;
        border-top: 1px solid var(--oy-border);
    }

    .hero__principles li:nth-child(odd) {
        padding-right: 0.9rem;
        padding-left: 0;
    }

    .hero__principles li:nth-child(even) {
        padding-left: 0.9rem;
        border-left: 1px solid var(--oy-border);
    }

    .hero__principles li:nth-child(-n + 2) {
        border-top: 0;
    }

    .btn {
        width: 100%;
    }

    .hero__actions {
        display: grid;
    }

    .site-header__bar {
        min-height: 4.5rem;
    }
}

@media (max-width: 480px) {
    .hero__principles {
        grid-template-columns: 1fr;
    }

    .hero__principles li,
    .hero__principles li:nth-child(even),
    .hero__principles li:nth-child(odd) {
        padding: 0.65rem 0;
        border-left: 0;
        border-top: 1px solid var(--oy-border);
    }

    .hero__principles li:first-child {
        border-top: 0;
        padding-top: 0;
    }

    .platform__frame {
        padding: 1.2rem 1rem 1.1rem;
    }

    .brand__name {
        font-size: 1.1rem;
    }

    .nav-mobile {
        width: 100vw;
    }
}

@media (max-width: 390px) {
    .hero {
        padding-top: 2.4rem;
    }

    .platform__layer {
        padding: 0.9rem 0.85rem;
    }

    .finance-map__core {
        font-size: 1.08rem;
    }
}
