main {
    .about {
        width: calc(100% - 40px);
        padding: 12px 0 100px;
        .hero {
            position: relative;
            display: flex;
            align-items: center;
            min-height: 500px;
            padding: 116px 50px;
            overflow: hidden;
            border-radius: 20px;
            background: var(--bg-3);
            .art, &::before {
                position: absolute;
                top: 19px;
                right: 0;
                width: 731px;
                max-width: 52%;
                aspect-ratio: 731 / 420;
            }
            &::before {
                content: '';
                z-index: 1;
                background:
                    linear-gradient(90deg, var(--bg-3), transparent 10%, transparent 90%, var(--bg-3)),
                    linear-gradient(0deg, var(--bg-3), transparent 12%, transparent 90%, var(--bg-3));
                pointer-events: none;
            }
            .hero-tag {
                top: 48px;
                max-width: calc(100% - 50px);
                span::before {
                    content: '\f039';
                }
            }
            .content {
                position: relative;
                z-index: 2;
                width: 644px;
                max-width: 50%;
                h1 {
                    font-size: 44px;
                    line-height: 1.1;
                    letter-spacing: -1px;
                    color: var(--text-7);
                }
                p {
                    margin-top: 10px;
                    font-size: 18px;
                    line-height: 24px;
                    font-weight: 500;
                }
                .actions {
                    display: flex;
                    align-items: center;
                    gap: 12px;
                    margin-top: 40px;
                    > * {
                        min-width: 0;
                        max-width: 100%;
                        line-height: 20px;
                    }
                    .partner::after {
                        content: '\f009';
                    }
                }
            }
            .art {
                z-index: 0;
                height: auto;
                object-fit: cover;
            }
        }
        .benefits {
            position: relative;
            z-index: 3;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
            margin: -42px 50px 0;
            .item {
                position: relative;
                min-height: 196px;
                padding: 24px;
                border-radius: 20px;
                background: var(--bg-4);
                box-shadow: var(--shadow-1);
                &:has(> img) {
                    padding-right: 174px;
                }
                .text {
                    h3 {
                        font-family: SSFBreakthrough;
                        font-feature-settings: normal;
                        font-size: 18px;
                        font-weight: 800;
                        line-height: 20px;
                        color: var(--text-7);
                    }
                    p {
                        margin-top: 6px;
                        font-size: 14px;
                        line-height: 17px;
                    }
                }
                img {
                    position: absolute;
                    right: 0;
                    bottom: 0;
                    width: 170px;
                    height: 208px;
                    border-bottom-right-radius: 20px;
                    object-fit: contain;
                    object-position: right bottom;
                }
            }
        }
    }
    .intro {
        display: grid;
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        gap: 12px;
        width: calc(100% - 40px);
        margin-bottom: 100px;
        .mission {
            position: relative;
            display: flex;
            align-items: flex-end;
            min-width: 0;
            min-height: 473px;
            padding: 60px 50px 40px;
            overflow: hidden;
            border-radius: 20px;
            background: var(--bg-1);
            img {
                position: absolute;
                bottom: 0;
                left: -26%;
                width: 137%;
                height: 129%;
                object-fit: cover;
            }
            &::after {
                content: '';
                position: absolute;
                inset: 0;
                z-index: 1;
                background: linear-gradient(180deg, transparent 40%, rgba(15, 15, 15, 0.48) 56%, var(--bg-1));
                pointer-events: none;
            }
            .content {
                position: relative;
                z-index: 2;
                .hero-tag {
                    position: relative;
                    top: auto;
                    left: -50px;
                    width: fit-content;
                    max-width: calc(100% + 50px);
                    margin-bottom: 25px;
                    padding: 12px 20px 12px 50px;
                    line-height: 18px;
                    &::before {
                        left: -1px;
                        top: calc(100% + 1px);
                    }
                    &::after {
                        top: -19px;
                    }
                }
                blockquote {
                    position: relative;
                    font-family: SSFBreakthrough;
                    font-feature-settings: normal;
                    font-size: 32px;
                    font-weight: 800;
                    line-height: 1.1;
                    color: var(--text-6);
                    text-shadow: var(--shadow-2);
                    &::before {
                        content: '“';
                        position: absolute;
                        top: -72px;
                        left: 124px;
                        font-size: 140px;
                        line-height: 140px;
                    }
                }
            }
        }
        .activity {
            display: flex;
            flex-direction: column;
            gap: 24px;
            min-width: 0;
            padding: 40px;
            border-radius: 20px;
            background: var(--bg-3);
            .head {
                flex-direction: column;
                h2 {
                    font-family: SSFBreakthrough;
                    font-feature-settings: normal;
                    font-size: 32px;
                    font-weight: 800;
                    line-height: 1.1;
                    color: var(--text-7);
                }
                p {
                    margin-top: 12px;
                    line-height: 20px;
                }
            }
            .links {
                display: flex;
                flex-wrap: wrap;
                gap: 8px 6px;
                a {
                    max-width: 100%;
                    padding: 10px 16px;
                    border-radius: 12px;
                    background: var(--bg-4);
                    font-size: 14px;
                    font-weight: 700;
                    line-height: 20px;
                    color: var(--text-7);
                    &:hover {
                        background: var(--bg-8);
                        color: var(--text-8);
                    }
                }
            }
            .note {
                font-size: 14px;
                line-height: 17px;
            }
        }
    }
    .solutions {
        width: calc(100% - 40px);
        margin-bottom: 100px;
        .head {
            flex-direction: column;
            align-items: flex-start;
            margin-bottom: 30px;
            h2 {
                line-height: 1.1;
            }
            p {
                max-width: 760px;
                margin-top: 10px;
                line-height: 20px;
            }
        }
        .cards {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
            .item {
                position: relative;
                min-width: 0;
                min-height: 192px;
                padding: 29px;
                border: 1px solid transparent;
                border-radius: 20px;
                background: var(--bg-3);
                transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
                .icon {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: 40px;
                    height: 40px;
                    border-radius: 12px;
                    background: var(--bg-4);
                    &::before {
                        font-size: 20px;
                        color: var(--text-10);
                    }
                }
                .text {
                    margin-top: 16px;
                    h3 {
                        font-family: SSFBreakthrough;
                        font-feature-settings: normal;
                        font-size: 20px;
                        font-weight: 800;
                        line-height: 28px;
                        color: var(--text-7);
                    }
                    p {
                        margin-top: 8px;
                        font-size: 14px;
                        line-height: 17px;
                    }
                }
                a {
                    position: absolute;
                    inset: 0;
                    border-radius: inherit;
                    &::after {
                        content: '\f009';
                        position: absolute;
                        top: 29px;
                        right: 29px;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        width: 50px;
                        height: 40px;
                        border-radius: 12px;
                        font-family: icon;
                        font-size: 20px;
                        color: var(--text-3);
                    }
                }
                &:hover {
                    border-color: var(--bg-14);
                    background: var(--bg-4);
                    box-shadow: var(--shadow-1);
                    .icon {
                        background: var(--bg-3);
                    }
                    .text {
                        h3 {
                            color: var(--text-10);
                        }
                    }
                    a::after {
                        background: var(--bg-14);
                        color: var(--text-6);
                    }
                }
            }
        }
    }
    .values {
        width: calc(100% - 40px);
        margin-bottom: 50px;
        .head {
            flex-direction: column;
            align-items: flex-start;
            margin-bottom: 24px;
            h2 {
                line-height: 1.1;
            }
            p {
                max-width: 860px;
                margin-top: 10px;
                line-height: 24px;
            }
        }
        .cards {
            .item {
                .icon {
                    &.openness::before {
                        content: '\f04c';
                    }
                    &.quality::before {
                        content: '\f04b';
                    }
                    &.professionalism::before {
                        content: '\f04a';
                    }
                    &.teamwork::before {
                        content: '\f049';
                    }
                }
            }
        }
    }
    .company-info {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        width: calc(100% - 40px);
        margin-bottom: 100px;
        .official, .purchases {
            display: flex;
            flex-direction: column;
            gap: 20px;
            min-width: 0;
            min-height: 266px;
            padding: 30px;
            border-radius: 16px;
            background: var(--bg-3);
            &.official {
                .heading {
                    .icon {
                        &::before {
                            content: '\f048';
                        }
                    }
                }
            }
            &.purchases {
                .heading {
                    .icon {
                        &::before {
                            content: '\f047';
                        }
                    }
                }
            }
            .heading {
                display: flex;
                align-items: center;
                gap: 16px;
                .icon {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    flex: none;
                    width: 40px;
                    height: 40px;
                    border-radius: 12px;
                    background: var(--bg-4);
                    &::before {
                        font-family: icon;
                        font-size: 20px;
                        font-weight: 400;
                        line-height: 1;
                        color: var(--text-10);
                    }
                }
                h2 {
                    min-width: 0;
                    font-family: SSFBreakthrough;
                    font-feature-settings: normal;
                    font-size: 24px;
                    font-weight: 800;
                    line-height: 32px;
                    color: var(--text-7);
                }
            }
        }
        .official {
            dl {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 16px;
                .item {
                    min-width: 0;
                    dt {
                        font-size: 14px;
                        line-height: 20px;
                    }
                    dd {
                        margin-top: 4px;
                        font-size: 14px;
                        font-weight: 600;
                        line-height: 20px;
                        color: var(--text-7);
                    }
                }
            }
        }
        .purchases {
            justify-content: space-between;
            p {
                max-width: 520px;
                font-size: 14px;
                line-height: 24px;
            }
            .actions {
                display: flex;
                flex-wrap: wrap;
                gap: 12px;
                a {
                    min-height: 46px;
                    padding: 12px 24px;
                    font-size: 14px;
                    line-height: 20px;
                }
                .btn {
                    background: var(--bg-14);
                    &:hover {
                        background: var(--bg-9);
                    }
                }
                .btn-2 {
                    border: 0;
                    color: var(--text-1);
                    &:hover {
                        background: var(--bg-8);
                        color: var(--text-8);
                    }
                }
            }
        }
    }
    .contact-banner {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        width: calc(100% - 40px);
        min-height: 198px;
        margin-bottom: 100px;
        padding: 40px 49px;
        border: var(--border-11);
        border-radius: 20px;
        background: var(--bg-3);
        .content {
            position: relative;
            z-index: 1;
            flex: none;
            width: 441px;
            h2 {
                font-family: SSFBreakthrough;
                font-feature-settings: normal;
                font-size: 24px;
                font-weight: 800;
                line-height: 1.1;
                color: var(--text-7);
            }
            p {
                margin-top: 6px;
                line-height: 20px;
                a {
                    color: var(--text-8);
                    &:hover {
                        text-decoration: underline;
                    }
                }
            }
        }
        .art {
            position: absolute;
            bottom: 0;
            left: calc(50% + 25px);
            width: min(524px, calc(100% - 880px));
            aspect-ratio: 524 / 228;
            overflow: hidden;
            transform: translateX(-50%);
            pointer-events: none;
            img {
                position: absolute;
                top: -24.12%;
                left: -3.95%;
                width: 107.79%;
                max-width: none;
                height: 138.26%;
            }
        }
        .btn {
            position: relative;
            z-index: 1;
            flex: none;
            width: 316px;
            min-height: 46px;
            padding: 12px 28px;
            background: var(--bg-14);
            font-size: 14px;
            line-height: 20px;
            color: var(--text-6);
            &:hover {
                background: var(--bg-9);
            }
        }
    }
}
@media screen and (max-width: 1279px) {
    main {
        .about {
            width: calc(100% - 48px);
            padding-bottom: 80px;
            .hero {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 24px;
                min-height: 0;
                padding: 100px 24px 32px;
                &::before {
                    display: none;
                }
                .hero-tag {
                    top: 32px;
                    max-width: calc(100% - 24px);
                    padding-left: 24px;
                }
                .content {
                    width: auto;
                    max-width: none;
                    min-width: 0;
                    h1 {
                        font-size: 34px;
                    }
                    p {
                        font-size: 16px;
                    }
                    .actions {
                        flex-wrap: wrap;
                        gap: 8px;
                        margin-top: 24px;
                    }
                }
                .art {
                    position: static;
                    width: 100%;
                    max-width: none;
                    object-fit: contain;
                }
            }
            .benefits {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 20px 12px;
                margin: 24px 0 0;
                .item:last-child:nth-child(odd) {
                    grid-column: 1 / -1;
                }
            }
        }
        .intro {
            grid-template-columns: minmax(0, 1fr);
            width: calc(100% - 48px);
            margin-bottom: 80px;
            .mission {
                min-height: 420px;
                padding: 180px 32px 32px;
                img {
                    left: 0;
                    width: 100%;
                    height: 100%;
                    object-position: center 40%;
                }
                .content {
                    .hero-tag {
                        left: -32px;
                        max-width: calc(100% + 32px);
                        padding-left: 32px;
                    }
                    blockquote {
                        font-size: 28px;
                    }
                }
            }
            .activity {
                padding: 32px;
            }
        }
        .solutions {
            width: calc(100% - 48px);
            margin-bottom: 80px;
            .cards {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }
        .values {
            width: calc(100% - 48px);
            margin-bottom: 40px;
        }
        .company-info {
            grid-template-columns: minmax(0, 1fr);
            width: calc(100% - 48px);
            margin-bottom: 80px;
            .official, .purchases {
                min-height: 0;
            }
        }
        .contact-banner {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            width: calc(100% - 48px);
            min-height: 0;
            margin-bottom: 80px;
            padding: 32px;
            .content {
                grid-area: 1 / 1;
                min-width: 0;
                width: auto;
            }
            .art {
                grid-area: 1 / 2 / 3 / 3;
                position: relative;
                bottom: auto;
                left: auto;
                justify-self: center;
                width: 100%;
                max-width: 524px;
                transform: none;
            }
            .btn {
                grid-area: 2 / 1;
                width: 100%;
            }
        }
    }
}
@media screen and (max-width: 767px) {
    main {
        .about {
            width: calc(100% - 32px);
            padding-bottom: 60px;
            .hero {
                grid-template-columns: minmax(0, 1fr);
                gap: 20px;
                padding: 24px 16px;
                border-radius: 16px;
                .hero-tag {
                    grid-area: 1 / 1;
                    position: relative;
                    top: auto;
                    left: -16px;
                    width: fit-content;
                    max-width: calc(100% + 16px);
                    padding: 8px 12px 8px 16px;
                    font-size: 12px;
                    line-height: 16px;
                    span::before {
                        margin-right: 8px;
                        font-size: 18px;
                    }
                }
                .content {
                    grid-area: 3 / 1;
                    h1 {
                        font-size: 26px;
                    }
                    p {
                        font-size: 14px;
                        line-height: 20px;
                    }
                    .actions {
                        flex-direction: column;
                        align-items: stretch;
                        > * {
                            width: 100%;
                            min-height: 46px;
                            padding: 12px 16px;
                            font-size: 14px;
                        }
                    }
                }
                .art {
                    grid-area: 2 / 1;
                }
            }
            .benefits {
                grid-template-columns: minmax(0, 1fr);
                gap: 20px;
                .item {
                    min-height: 172px;
                    padding: 20px;
                    border-radius: 16px;
                    &:has(> img) {
                        padding-right: 144px;
                    }
                    .text {
                        h3 {
                            font-size: 16px;
                            line-height: 18px;
                        }
                        p {
                            font-size: 12px;
                            line-height: 16px;
                        }
                    }
                    img {
                        width: 140px;
                        height: 184px;
                        border-bottom-right-radius: 16px;
                    }
                }
            }
        }
        .intro {
            width: calc(100% - 32px);
            margin-bottom: 60px;
            .mission {
                min-height: 380px;
                padding: 160px 20px 24px;
                border-radius: 16px;
                .content {
                    .hero-tag {
                        left: -20px;
                        max-width: calc(100% + 20px);
                        padding: 8px 20px;
                        font-size: 12px;
                        line-height: 16px;
                    }
                    blockquote {
                        font-size: 24px;
                        &::before {
                            top: -58px;
                            left: 104px;
                            font-size: 100px;
                            line-height: 100px;
                        }
                    }
                }
            }
            .activity {
                gap: 20px;
                padding: 24px 20px;
                border-radius: 16px;
                .head {
                    h2 {
                        font-size: 26px;
                    }
                    p {
                        font-size: 14px;
                    }
                }
                .links {
                    gap: 6px;
                    a {
                        padding: 8px 12px;
                        font-size: 12px;
                        line-height: 18px;
                    }
                }
                .note {
                    font-size: 12px;
                    line-height: 16px;
                }
            }
        }
        .solutions {
            width: calc(100% - 32px);
            margin-bottom: 60px;
            .head {
                margin-bottom: 24px;
                h2 {
                    font-size: 26px;
                }
                p {
                    font-size: 14px;
                }
            }
            .cards {
                grid-template-columns: minmax(0, 1fr);
                .item {
                    min-height: 0;
                    padding: 23px 19px;
                    border-radius: 16px;
                    a::after {
                        top: 23px;
                        right: 19px;
                    }
                }
            }
        }
        .values {
            width: calc(100% - 32px);
            margin-bottom: 30px;
            .head {
                h2 {
                    font-size: 26px;
                }
                p {
                    font-size: 14px;
                    line-height: 20px;
                }
            }
        }
        .company-info {
            width: calc(100% - 32px);
            margin-bottom: 60px;
            .official, .purchases {
                padding: 24px 20px;
                .heading {
                    gap: 12px;
                    h2 {
                        font-size: 22px;
                        line-height: 28px;
                    }
                }
            }
            .official {
                dl {
                    grid-template-columns: minmax(0, 1fr);
                }
            }
            .purchases {
                .actions {
                    flex-direction: column;
                }
            }
        }
        .contact-banner {
            grid-template-columns: minmax(0, 1fr);
            gap: 20px;
            width: calc(100% - 32px);
            margin-bottom: 60px;
            padding: 24px 20px;
            border-radius: 16px;
            .content {
                h2 {
                    font-size: 22px;
                    line-height: 28px;
                }
                p {
                    font-size: 14px;
                    a {
                        font-size: inherit;
                    }
                }
            }
            .art {
                grid-area: 2 / 1;
            }
            .btn {
                grid-area: 3 / 1;
            }
        }
    }
}