@media (max-width: 1180px) {
    .fg-hero__title {
        font-size: clamp(4rem, 7.2vw, 6.6rem);
    }

    .fg-hero__bottom,
    .fg-services__head,
    .fg-work__grid,
    .fg-contact__grid {
        grid-template-columns: 1fr;
    }

    .fg-hero__aside {
        max-width: 520px;
    }

    .fg-service {
        grid-template-columns: 0.18fr minmax(0, 0.82fr);
    }

    .fg-service__body {
        grid-column: 2;
    }

    .fg-work__grid {
        align-items: start;
    }

    .fg-work__metric {
        max-width: 540px;
    }

    .fg-contact__details {
        max-width: 520px;
    }
}

@media (max-width: 960px) {
    :root {
        --fg-gutter: clamp(1.15rem, 4vw, 2rem);
    }

    .fg-section {
        padding-block: clamp(4.8rem, 11vw, 7rem);
    }

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

    .fg-hero__inner {
        min-height: auto;
        gap: 3.6rem;
        padding-top: 5.5rem;
        padding-bottom: 3rem;
    }

    .fg-hero__ring {
        top: 10%;
        right: -28%;
        width: 78vw;
    }

    .fg-hero__point {
        top: 18%;
        right: 8%;
    }

    .fg-intro__grid,
    .fg-proof__head,
    .fg-founder__grid,
    .fg-company {
        grid-template-columns: 1fr;
        gap: 2.8rem;
    }

    .fg-intro__copy {
        max-width: 820px;
    }

    .fg-proof__head .fg-section-title {
        margin-top: 1.25rem !important;
    }

    .fg-founder__portrait {
        max-width: 560px;
    }

    .fg-direction__panel {
        min-height: 27rem;
    }
}

@media (max-width: 760px) {
    .fg-section {
        padding-block: 4.5rem;
    }

    .fg-kicker {
        font-size: 0.64rem;
        letter-spacing: 0.11em;
    }

    .fg-kicker::before {
        width: 1.6rem;
    }

    .fg-section-title {
        max-width: 100%;
        font-size: clamp(2.65rem, 12vw, 4rem);
        letter-spacing: -0.038em;
        line-height: 1.06;
    }

    .fg-section-copy {
        font-size: 0.98rem;
        line-height: 1.75;
    }

    .fg-hero__inner {
        gap: 3rem;
        padding-top: 4rem;
        padding-bottom: 2.2rem;
    }

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

    .fg-hero__location {
        font-size: 0.63rem;
        letter-spacing: 0.075em;
    }

    .fg-hero__title {
        max-width: 100%;
        font-size: clamp(2.9rem, 13vw, 4.35rem);
        letter-spacing: -0.042em;
        line-height: 1.05;
    }

    .fg-title-line,
    .fg-title-line > span {
        display: inline;
        overflow: visible;
        padding: 0;
    }

    .fg-title-line + .fg-title-line::before {
        content: " ";
    }

    .fg-hero__bottom {
        gap: 2.6rem;
    }

    .fg-hero__intro {
        font-size: 0.98rem;
        line-height: 1.76;
    }

    .fg-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .fg-hero__actions .fg-button {
        width: 100%;
    }

    .fg-hero__proof {
        grid-template-columns: 4.7rem minmax(0, 1fr);
    }

    .fg-hero__proof strong {
        font-size: 2.75rem;
    }

    .fg-scroll-cue {
        display: none;
    }

    .fg-hero__ring {
        top: 14%;
        right: -44%;
        width: 105vw;
    }

    .fg-hero__point {
        top: 22%;
        right: 8%;
    }

    .fg-intro__statement {
        max-width: 100%;
        font-size: clamp(2.55rem, 11.5vw, 3.8rem);
        letter-spacing: -0.035em;
        line-height: 1.08;
    }

    .fg-intro__copy {
        grid-template-columns: 1fr;
        gap: 1.3rem;
        margin-top: 2.3rem;
    }

    .fg-intro__copy p {
        font-size: 0.96rem;
        line-height: 1.8;
    }

    .fg-intro__facts {
        grid-template-columns: 1fr;
        margin-top: 3.5rem;
        border-left: 0;
    }

    .fg-intro__fact {
        min-height: 0;
        padding: 1.3rem 0;
        border-right: 0;
    }

    .fg-intro__fact small {
        margin-bottom: 0.85rem;
    }

    .fg-services__head {
        margin-bottom: 3.5rem;
    }

    .fg-service {
        grid-template-columns: 1fr;
        gap: 1.2rem;
        padding-block: 2.6rem;
    }

    .fg-service__number {
        font-size: 3rem;
        line-height: 1;
    }

    .fg-service h3 {
        max-width: 100%;
        font-size: clamp(2.35rem, 10.5vw, 3.3rem);
        line-height: 1.06;
    }

    .fg-service__body {
        grid-column: auto;
    }

    .fg-service__body > p {
        font-size: 0.95rem;
        line-height: 1.75;
    }

    .fg-service__list {
        grid-template-columns: 1fr;
    }

    .fg-service__list li {
        min-height: 0;
        padding-block: 0.9rem;
        font-size: 0.81rem;
        line-height: 1.5;
    }

    .fg-service__list li:nth-child(odd) {
        border-right: 0;
    }

    .fg-services__footer {
        justify-content: flex-start;
    }

    .fg-work__count {
        font-size: clamp(7.2rem, 34vw, 10rem);
        line-height: 0.82;
    }

    .fg-work__content h2 {
        max-width: 100%;
        font-size: clamp(2.8rem, 12vw, 4rem);
        letter-spacing: -0.04em;
        line-height: 1.05;
    }

    .fg-proof__list li {
        grid-template-columns: 2.2rem minmax(0, 1fr) 1rem;
        gap: 0.8rem;
        padding-block: 1.15rem;
    }

    .fg-proof__list strong {
        font-size: 0.9rem;
        line-height: 1.5;
    }

    .fg-founder__grid {
        gap: 3rem;
    }

    .fg-founder__portrait {
        max-width: 100%;
        aspect-ratio: 4 / 5;
        border-radius: 1.15rem;
    }

    .fg-founder blockquote {
        max-width: 100%;
        font-size: clamp(2.45rem, 10.7vw, 3.65rem);
        letter-spacing: -0.035em;
        line-height: 1.08;
    }

    .fg-direction__top {
        grid-template-columns: 1fr;
    }

    .fg-direction__panel {
        min-height: 0;
        padding: 1.5rem;
    }

    .fg-direction__panel h3 {
        margin-top: 2.5rem !important;
        font-size: clamp(2.55rem, 11vw, 3.65rem);
        line-height: 1.06;
    }

    .fg-direction__panel p {
        font-size: 0.95rem;
        line-height: 1.78;
    }

    .fg-company__row {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .fg-contact::before {
        right: -56%;
        width: 115vw;
    }

    .fg-contact h2 {
        max-width: 100%;
        font-size: clamp(3.35rem, 14.5vw, 5rem);
        letter-spacing: -0.045em;
        line-height: 1.03;
    }

    .fg-contact__details {
        gap: 0.9rem;
    }

    .fg-contact__details .fg-button {
        width: 100%;
    }
}

@media (max-width: 430px) {
    :root {
        --fg-gutter: 1rem;
    }

    .fg-hero__inner {
        padding-top: 3.4rem;
    }

    .fg-hero__title {
        font-size: clamp(2.7rem, 12.7vw, 3.45rem);
        line-height: 1.07;
    }

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

    .fg-hero__proof {
        grid-template-columns: 4.2rem minmax(0, 1fr);
    }

    .fg-hero__proof strong {
        font-size: 2.45rem;
    }

    .fg-hero__proof span {
        font-size: 0.72rem;
        line-height: 1.6;
    }

    .fg-work__types span {
        font-size: 0.6rem;
    }

    .fg-proof__list li {
        grid-template-columns: 1.8rem minmax(0, 1fr);
    }

    .fg-proof__list svg {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fg-marquee__track {
        animation: none;
    }
}
@media (max-width: 900px) {
    body.home .fg-intro .fg-intro__statement {
        color: #f7f5ef !important;
        -webkit-text-fill-color: #f7f5ef !important;
        opacity: 1 !important;
    }

    body.home .fg-intro .fg-intro__statement span {
        color: #92a2ff !important;
        -webkit-text-fill-color: #92a2ff !important;
    }
}
