@media (max-width: 1100px) {
    .site-header__inner { gap: 1.25rem; }
    .site-nav .menu { gap: .3rem; }
    .site-nav a { font-size: .78rem; }
    .site-switcher__item { padding-inline: .55rem; }
    .fibau-hero__grid { grid-template-columns: .92fr 1.08fr; }
    .fibau-service-panel { padding: 1.5rem; }
    .fibau-about-points, .fibau-process-grid { grid-template-columns: repeat(2, 1fr); }
    .fibau-about-point:nth-child(2) { border-right: 0; }
    .fibau-about-point:nth-child(-n+2) { border-bottom: 1px solid var(--fibau-border-light); }
    .fibau-process-step:nth-child(2)::after { display: none; }
}

@media (max-width: 860px) {
    :root { --fibau-section-space: clamp(3.5rem, 9vw, 5rem); }
    .site-header {
        background: var(--fibau-header-bg);
        backdrop-filter: none;
    }
    .site-header__inner { min-height: 4.2rem; grid-template-columns: 1fr auto; }
    .site-header__toggle {
        display: inline-flex;
        align-items: center;
        gap: .7rem;
        padding: .6rem 0;
        color: inherit;
        background: transparent;
        border: 0;
        cursor: pointer;
        font-size: .78rem;
        font-weight: 700;
    }
    .site-header__toggle-lines, .site-header__toggle-lines::before, .site-header__toggle-lines::after {
        display: block;
        width: 1.4rem;
        height: 2px;
        content: "";
        background: currentColor;
        transition: transform var(--fibau-fast), opacity var(--fibau-fast);
    }
    .site-header__toggle-lines { position: relative; }
    .site-header__toggle-lines::before { position: absolute; top: -.42rem; }
    .site-header__toggle-lines::after { position: absolute; top: .42rem; }
    .site-header__toggle[aria-expanded="true"] .site-header__toggle-lines { background: transparent; }
    .site-header__toggle[aria-expanded="true"] .site-header__toggle-lines::before { top: 0; transform: rotate(45deg); }
    .site-header__toggle[aria-expanded="true"] .site-header__toggle-lines::after { top: 0; transform: rotate(-45deg); }
    .site-nav {
        position: absolute;
        z-index: 90;
        top: 100%;
        right: 0;
        bottom: auto;
        left: 0;
        height: calc(100dvh - 4.2rem);
        overflow-y: auto;
        display: none;
        justify-self: stretch;
        padding: 2rem var(--fibau-gutter);
        color: var(--fibau-header-text);
        background: var(--fibau-header-bg);
    }
    .site-nav.is-open { display: block; }
    .site-nav .menu { display: grid; align-content: start; gap: 0; }
    .site-nav a {
        padding: 1rem 0;
        border-bottom: 1px solid color-mix(in srgb, var(--fibau-header-text) 15%, transparent);
        font: 700 2rem/1 var(--fibau-display-font);
        text-transform: uppercase;
    }
    .site-nav a::after { display: none; }
    .site-switcher {
        position: absolute;
        z-index: 91;
        top: calc(100dvh - 4rem);
        right: var(--fibau-gutter);
        bottom: auto;
        left: var(--fibau-gutter);
        display: none;
        justify-content: space-between;
        border-top: 1px solid color-mix(in srgb, var(--fibau-header-text) 15%, transparent);
        border-left: 0;
    }
    body.nav-open .site-switcher { display: flex; }
    .fibau-hero__grid { min-height: 0; grid-template-columns: 1fr; }
    .fibau-hero__content { padding: 4.5rem var(--fibau-gutter); }
    .fibau-hero__content::after { display: none; }
    .fibau-hero__visual { min-height: 27rem; }
    .fibau-section__heading-row, .fibau-about-grid, .fibau-cta__grid { grid-template-columns: 1fr; }
    .fibau-services-grid { grid-template-columns: 1fr; }
    .fibau-service-panel { min-height: 25rem; }
    .fibau-service-panel:has(.fibau-service-panel__image) { min-height: 0; }
    .fibau-projects-grid { grid-template-columns: 1fr; }
    .fibau-project-card--lead { min-height: 30rem; }
    .fibau-cta__contact { padding-top: 2rem; padding-left: 0; border-top: 1px solid var(--fibau-border-light); border-left: 0; }
    .site-footer__inner { grid-template-columns: repeat(2, 1fr); }
    .site-footer__contact { justify-items: start; }
}

@media (max-width: 560px) {
    :root { --fibau-gutter: 1.25rem; }
    .fibau-hero__title { font-size: clamp(3.6rem, 17vw, 5rem); }
    .fibau-hero__visual { min-height: 21rem; }
    .fibau-trust-grid { grid-template-columns: repeat(2, 1fr); }
    .fibau-trust-item { min-height: 6rem; padding: 1rem; border-bottom: 1px solid var(--fibau-border-light); }
    .fibau-trust-item:nth-child(odd) { padding-left: 0; }
    .fibau-trust-item:nth-child(even) { border-right: 0; }
    .fibau-trust-item strong { font-size: .68rem; }
    .fibau-section__title { font-size: clamp(2.6rem, 13vw, 4rem); }
    .fibau-service-panel { min-height: 23rem; }
    .fibau-project-card, .fibau-project-card--lead { min-height: 25rem; }
    .fibau-reference-list { grid-template-columns: 1fr; }
    .fibau-reference-item, .fibau-reference-item:nth-child(odd) { padding-inline: 0; border-right: 0; }
    .fibau-reference-item span:last-child { display: none; }
    .fibau-about-points, .fibau-process-grid { grid-template-columns: 1fr; }
    .fibau-about-point, .fibau-about-point:first-child { min-height: 0; padding: 1.35rem 0; border-right: 0; border-bottom: 1px solid var(--fibau-border-light); }
    .fibau-process-step { min-height: 0; padding: 1.5rem; }
    .fibau-process-step:not(:last-child)::after { top: auto; right: auto; bottom: -.7rem; left: 2rem; content: "↓"; }
    .fibau-process-step h3 { margin-top: 1.4rem; }
    .fibau-cta__title { font-size: clamp(3rem, 15vw, 4.5rem); }
    .site-footer__inner { grid-template-columns: 1fr; }
}
