@media (max-width: 1100px) {
    .ct-section-head,
    .ct-brief__grid,
    .ct-response__grid,
    .ct-company__grid,
    .ct-final__grid {
        grid-template-columns: 1fr;
    }

    .ct-hero__bottom {
        grid-template-columns: 1fr;
    }

    .ct-hero__availability {
        max-width: 22rem;
    }

    .ct-channel {
        grid-template-columns: 0.15fr 0.55fr 1fr auto;
    }

    .ct-final__actions {
        max-width: 32rem;
    }
}

@media (max-width: 900px) {
    :root {
        --ct-gutter: clamp(1rem, 4.6vw, 1.65rem);
    }

    .ct-section {
        padding-block: clamp(4.5rem, 13vw, 7rem);
    }

    .ct-hero {
        min-height: auto;
    }

    .ct-hero__inner {
        padding-top: clamp(5.5rem, 15vw, 8rem);
        padding-bottom: 3rem;
        gap: 3.4rem;
    }

    .ct-hero__headline h1 {
        max-width: 12ch;
        font-size: clamp(4rem, 14vw, 6.8rem);
        line-height: 0.89;
    }

    .ct-hero__orbit {
        top: 14%;
        right: -38%;
        width: 86vw;
    }

    .ct-channel {
        grid-template-columns: 0.18fr 0.82fr auto;
    }

    .ct-channel__details {
        grid-column: 2;
    }

    .ct-response__statement {
        max-width: 52rem;
    }
}

@media (max-width: 700px) {
    body .fg-contact-page h1,
    body .fg-contact-page h2,
    body .fg-contact-page h3,
    body .fg-contact-page p,
    body .fg-contact-page li,
    body .fg-contact-page strong,
    body .fg-contact-page span,
    body .fg-contact-page a {
        max-width: 100%;
        word-break: normal !important;
        overflow-wrap: normal !important;
        white-space: normal;
        hyphens: none !important;
    }

    .ct-kicker {
        font-size: 0.61rem;
        letter-spacing: 0.12em;
    }

    .ct-kicker::before {
        width: 1.8rem;
    }

    .ct-section-head h2,
    .ct-brief__intro h2,
    .ct-response__statement h2,
    .ct-company__intro h2 {
        max-width: 100%;
        font-size: clamp(3rem, 14vw, 4.6rem);
        line-height: 0.96;
    }

    .ct-section-head {
        gap: 1.8rem;
        margin-bottom: 3.2rem;
    }

    .ct-hero__meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.9rem;
    }

    .ct-hero__headline h1 {
        max-width: 100%;
        font-size: clamp(3.65rem, 16.7vw, 5.45rem);
        line-height: 0.91;
    }

    .ct-hero__lead {
        font-size: 1rem;
        line-height: 1.75;
    }

    .ct-hero__availability {
        width: 100%;
        max-width: none;
    }

    .ct-hero__orbit {
        top: 18%;
        right: -64%;
        width: 126vw;
    }

    .ct-channel {
        grid-template-columns: 2.8rem 1fr auto;
        gap: 0.9rem;
        padding-block: 2.4rem;
    }

    .ct-channel:hover {
        padding-inline: 0.8rem;
    }

    .ct-channel__number {
        font-size: 2.8rem;
    }

    .ct-channel__title h3 {
        font-size: clamp(2.7rem, 12vw, 3.8rem);
    }

    .ct-channel__details {
        grid-column: 2 / -1;
        padding-right: 0.5rem;
    }

    .ct-channel > svg {
        width: 1.1rem;
        height: 1.1rem;
    }

    .ct-brief__grid,
    .ct-response__grid,
    .ct-company__grid {
        gap: 3rem;
    }

    .ct-brief__list li {
        grid-template-columns: 2.3rem 1fr;
        gap: 0.7rem;
    }

    .ct-response__steps h3 {
        max-width: 100%;
        font-size: clamp(2.4rem, 11vw, 3.6rem);
    }

    .ct-company__table > div {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .ct-final h2 {
        max-width: 100%;
        font-size: clamp(3.8rem, 17vw, 5.8rem);
        line-height: 0.9;
    }

    .ct-final::before {
        right: -58%;
        width: 122vw;
    }

    .ct-button {
        min-height: 3.35rem;
        padding-inline: 1rem;
        font-size: 0.68rem;
    }
}

@media (max-width: 420px) {
    .ct-hero__headline h1 {
        font-size: clamp(3.25rem, 15.7vw, 4.35rem);
    }

    .ct-channel {
        grid-template-columns: 2.45rem 1fr auto;
    }

    .ct-channel__number {
        font-size: 2.45rem;
    }

    .ct-channel__title h3 {
        font-size: 2.65rem;
    }

    .ct-response__steps h3 {
        font-size: 2.4rem;
    }

    .ct-final h2 {
        font-size: 3.75rem;
    }
}
