/* =========================================================
   ШРИФТ
   ========================================================= */

@font-face {
    font-family: "GOST Common";

    src:
        url("./fonts/GOST-Common.woff2") format("woff2"),
        url("./fonts/GOST-Common.ttf") format("truetype");

    font-weight: 400;
    font-style: normal;

    font-display: swap;
}


/* =========================================================
   ОБЩИЕ НАСТРОЙКИ
   ========================================================= */

* {
    box-sizing: border-box;
}

html {
    margin: 0;
    padding: 0;

    width: 100%;
    min-height: 100%;

    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    margin: 0;
    padding: 0;

    width: 100%;
    min-height: 100%;

    background: #e5e5e5;

    font-family:
        "GOST Common",
        Arial,
        sans-serif;

    font-weight: 400;
    font-style: italic;

    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;

    font-synthesis: none;

    text-rendering: optimizeLegibility;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/* =========================================================
   НАСЛЕДОВАНИЕ ШРИФТА
   ========================================================= */

button,
input,
textarea,
select,
a {
    font-family: inherit;
    font-weight: inherit;
}

button {
    font-style: inherit;
}


/* =========================================================
   ЛИСТ А3
   ========================================================= */

.drawing {
    position: relative;

    width: min(
        100vw,
        calc(100vh * 420 / 297)
    );

    height: min(
        100vh,
        calc(100vw * 297 / 420)
    );

    margin-left: auto;
    margin-right: auto;

    background: white;

    container-type: inline-size;

    overflow: hidden;
}


/* =========================================================
   РАМКА
   ========================================================= */

.drawing-frame {
    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    object-fit: fill;

    pointer-events: none;

    z-index: 10;
}

.drawing-frame-a3 {
    display: block;
}

.drawing-frame-a4 {
    display: none;
}


/* =========================================================
   РАБОЧАЯ ОБЛАСТЬ
   ========================================================= */

.page-content {
    position: absolute;

    left: 4.7619%;
    right: 1.1905%;

    top: 1.6835%;
    bottom: 20.2020%;

    z-index: 1;

    text-align: center;

    overflow: hidden;

    font-family:
        "GOST Common",
        Arial,
        sans-serif;

    font-style: italic;

    font-synthesis: none;

    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.page-content * {
    font-family: inherit;
    font-style: inherit;

    font-synthesis: none;
}


/* =========================================================
   НАЗВАНИЕ СТРАНИЦЫ В ОСНОВНОЙ НАДПИСИ
   ========================================================= */

.sheet-page-name {
    position: absolute;

    left: 70.3%;
    top: 79.7%;

    width: 28.4%;
    height: 5.2%;

    z-index: 20;

    display: flex;

    justify-content: center;
    align-items: center;

    padding: 0 0.5cqw;

    font-family:
        "GOST Common",
        Arial,
        sans-serif;

    font-style: italic;
    font-weight: 400;

    font-size: 2.05cqw;

    line-height: 1;

    text-align: center;

    color: black;

    pointer-events: none;

    font-synthesis: none;

    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.sheet-page-name-long {
    font-size: 1.35cqw;

    white-space: nowrap;
}


/* =========================================================
   ШАПКА
   ========================================================= */

.site-header {
    width: 100%;
}


/* =========================================================
   ЛОГОТИП
   ========================================================= */

.logo-link {
    display: block;

    width: 30%;

    margin: 0.25cqw auto 0 auto;

    text-decoration: none;
}

.logo-image {
    display: block;

    width: 100%;
    height: auto;

    object-fit: contain;
}


/* =========================================================
   МЕНЮ
   ========================================================= */

.main-menu {
    display: flex;

    justify-content: space-between;
    align-items: stretch;

    width: 86%;

    margin: 0.95cqw auto 0 auto;

    gap: 1.4cqw;
}

.main-menu a {
    flex: 1;

    display: flex;

    justify-content: center;
    align-items: center;

    padding: 0.55cqw 0.6cqw;

    border: 0.08cqw solid black;

    border-radius: 0;

    color: black;

    text-decoration: none;

    font-family:
        "GOST Common",
        Arial,
        sans-serif;

    font-style: italic;
    font-size: 1.25cqw;

    line-height: 1.05;

    font-weight: 400;

    background: white;

    font-synthesis: none;

    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;

    transition:
        background-color 0.15s ease,
        color 0.15s ease;
}

@media (hover: hover) and (pointer: fine) {

    .main-menu a:hover {
        background: black;
        color: white;
    }
}


/* =========================================================
   ГЛАВНАЯ
   ========================================================= */

.home-content {
    margin-top: 2.2cqw;
}

.slogan {
    margin: 0;

    font-size: 2.25cqw;

    line-height: 1.05;

    font-weight: 400;
}

.company-text {
    width: 70%;

    margin: 3cqw auto 0 auto;

    font-size: 1.7cqw;

    line-height: 1.15;
}

.new-product {
    margin-top: 1.1cqw;
}

.new-product-title {
    margin: 0 0 0.6cqw 0;

    font-size: 1.9cqw;

    line-height: 1;

    font-weight: 400;
}

.product-image-container {
    width: 32%;

    margin: 0 auto;

    display: flex;

    justify-content: center;
    align-items: center;
}

.product-image {
    display: block;

    width: 100%;
    height: auto;

    object-fit: contain;
}

.product-name {
    margin: 0.15cqw 0 0 0;

    font-size: 1.45cqw;

    line-height: 1.05;
}


/* =========================================================
   ОБЩИЙ ЗАГОЛОВОК
   ========================================================= */

.page-title {
    margin: 0;

    font-size: 2cqw;

    line-height: 1;

    font-weight: 400;

    text-align: center;
}


/* =========================================================
   ТЕХНОЛОГИЧЕСКИЕ ВОЗМОЖНОСТИ
   ========================================================= */

.technology-content {
    width: 100%;

    margin-top: 1.7cqw;
}

.technology-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    column-gap: 3cqw;
    row-gap: 2.2cqw;

    width: 90%;

    margin: 2cqw auto 0 auto;
}

.technology-item {
    appearance: none;
    -webkit-appearance: none;

    border: none;
    outline: none;

    background: transparent;

    margin: 0;
    padding: 0;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: flex-start;

    min-width: 0;

    cursor: pointer;

    color: black;

    font-family:
        "GOST Common",
        Arial,
        sans-serif;

    font-style: italic;

    font-synthesis: none;
}

.technology-title {
    display: block;

    min-height: 1.7cqw;

    margin: 0 0 0.5cqw 0;

    font-size: 1.5cqw;

    line-height: 1.05;

    font-weight: 400;

    text-align: center;
}

.technology-image-box {
    width: 100%;
    height: 9cqw;

    display: flex;

    justify-content: center;
    align-items: center;

    overflow: hidden;

    transition:
        transform 0.15s ease,
        opacity 0.15s ease;
}

.technology-image {
    display: block;

    max-width: 100%;
    max-height: 100%;

    width: auto;
    height: auto;

    object-fit: contain;

    pointer-events: none;
    user-select: none;
}


/* =========================================================
   ПРОДУКЦИЯ
   ========================================================= */

.products-content {
    width: 100%;

    margin-top: 1.7cqw;
}

.products-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    column-gap: 3cqw;
    row-gap: 2.2cqw;

    width: 90%;

    margin: 2cqw auto 0 auto;
}

.product-catalog-item {
    appearance: none;
    -webkit-appearance: none;

    border: none;
    outline: none;

    background: transparent;

    margin: 0;
    padding: 0;

    display: flex;

    flex-direction: column;

    justify-content: flex-start;
    align-items: center;

    min-width: 0;

    cursor: pointer;

    color: black;

    font-family:
        "GOST Common",
        Arial,
        sans-serif;

    font-style: italic;

    font-synthesis: none;
}

.product-catalog-title {
    display: flex;

    justify-content: center;
    align-items: center;

    min-height: 1.7cqw;

    margin: 0 0 0.5cqw 0;

    font-size: 1.5cqw;

    line-height: 1.05;
}

.product-catalog-image-box {
    width: 100%;
    height: 9cqw;

    display: flex;

    justify-content: center;
    align-items: center;

    overflow: hidden;

    transition:
        transform 0.15s ease,
        opacity 0.15s ease;
}

.product-catalog-image {
    display: block;

    max-width: 100%;
    max-height: 100%;

    width: auto;
    height: auto;

    object-fit: contain;

    pointer-events: none;
    user-select: none;
}

.product-placeholder {
    width: 82%;
    height: 78%;

    display: flex;

    justify-content: center;
    align-items: center;

    border: 0.08cqw dashed #777;

    font-size: 1.1cqw;

    color: #777;
}


/* =========================================================
   ПОРТФОЛИО
   ========================================================= */

.portfolio-content {
    width: 100%;

    margin-top: 1.7cqw;
}

.portfolio-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    column-gap: 2.2cqw;
    row-gap: 2.4cqw;

    width: 92%;

    margin: 2cqw auto 0 auto;
}

.portfolio-item {
    appearance: none;
    -webkit-appearance: none;

    border: none;
    outline: none;

    background: transparent;

    margin: 0;
    padding: 0;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: flex-start;

    min-width: 0;

    color: black;

    font-family:
        "GOST Common",
        Arial,
        sans-serif;

    font-style: italic;

    font-synthesis: none;

    cursor: pointer;
}

.portfolio-title {
    display: flex;

    justify-content: center;
    align-items: center;

    min-height: 1.7cqw;

    margin: 0 0 0.5cqw 0;

    font-size: 1.35cqw;

    line-height: 1.05;

    text-align: center;
}

.portfolio-image-box {
    width: 100%;
    height: 8.2cqw;

    display: flex;

    justify-content: center;
    align-items: center;

    overflow: hidden;

    transition:
        transform 0.15s ease,
        opacity 0.15s ease;
}

.portfolio-image {
    display: block;

    max-width: 100%;
    max-height: 100%;

    width: auto;
    height: auto;

    object-fit: contain;
}

.portfolio-placeholder {
    width: 90%;
    height: 80%;

    display: flex;

    justify-content: center;
    align-items: center;

    border: 0.08cqw dashed #777;

    font-size: 1cqw;

    color: #777;
}


/* =========================================================
   HOVER
   ========================================================= */

@media (hover: hover) and (pointer: fine) {

    .technology-item:hover .technology-title,
    .product-catalog-item:hover .product-catalog-title,
    .portfolio-item:hover .portfolio-title {
        text-decoration: underline;
    }

    .technology-item:hover .technology-image-box,
    .product-catalog-item:hover .product-catalog-image-box,
    .portfolio-item:hover .portfolio-image-box {
        transform: scale(1.03);

        opacity: 0.8;
    }
}


/* =========================================================
   КОНТАКТЫ
   ========================================================= */

.contacts-content {
    width: 100%;

    margin-top: 1.7cqw;
}

.contacts-actions {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 2.5cqw;

    width: 82%;

    margin: 3.5cqw auto 0 auto;
}

.contact-action {
    appearance: none;
    -webkit-appearance: none;

    min-width: 0;
    min-height: 9cqw;

    padding: 1.4cqw 1.2cqw;

    border: 0.1cqw solid black;

    border-radius: 0;

    background: white;

    color: black;

    text-decoration: none;

    display: flex;

    flex-direction: column;

    justify-content: center;
    align-items: center;

    font-family:
        "GOST Common",
        Arial,
        sans-serif;

    font-style: italic;
    font-weight: 400;

    font-synthesis: none;

    cursor: pointer;

    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;

    transition:
        background-color 0.15s ease,
        color 0.15s ease,
        transform 0.15s ease;
}

.contact-action-label {
    display: block;

    margin-bottom: 0.7cqw;

    font-size: 1.65cqw;

    line-height: 1;
}

.contact-action-value {
    display: block;

    font-size: 1.35cqw;

    line-height: 1.05;
}

.contact-action-hint {
    display: block;

    margin-top: 0.8cqw;

    font-size: 0.9cqw;

    line-height: 1.05;

    color: #666;
}

@media (hover: hover) and (pointer: fine) {

    .contact-action:hover {
        background: black;

        color: white;

        transform: translateY(-0.15cqw);
    }

    .contact-action:hover .contact-action-hint {
        color: white;
    }
}

.company-contacts {
    width: 58%;

    margin: 4cqw auto 0 auto;

    font-size: 1.3cqw;

    line-height: 1.2;

    text-align: center;
}

.company-contacts p {
    margin: 0 0 1cqw 0;
}

.company-contacts-name {
    font-size: 1.7cqw;
}


/* =========================================================
   УВЕДОМЛЕНИЕ
   ========================================================= */

.copy-notification {
    position: fixed;

    left: 50%;
    bottom: 30px;

    transform:
        translateX(-50%)
        translateY(20px);

    z-index: 2000;

    padding: 10px 18px;

    border: 1px solid black;

    background: white;

    color: black;

    font-family:
        "GOST Common",
        Arial,
        sans-serif;

    font-style: italic;

    font-size: 18px;

    font-synthesis: none;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;

    pointer-events: none;
}

.copy-notification.is-visible {
    opacity: 1;

    visibility: visible;

    transform:
        translateX(-50%)
        translateY(0);
}


/* =========================================================
   МОДАЛЬНЫЕ ОКНА
   ========================================================= */

.technology-modal,
.product-modal,
.portfolio-modal {
    position: fixed;

    inset: 0;

    z-index: 1000;

    display: none;

    justify-content: center;
    align-items: center;

    padding: 3vw;
}

.technology-modal.is-open,
.product-modal.is-open,
.portfolio-modal.is-open {
    display: flex;
}

.technology-modal-overlay,
.product-modal-overlay,
.portfolio-modal-overlay {
    position: absolute;

    inset: 0;

    background: rgba(0, 0, 0, 0.6);
}

.technology-modal-card,
.product-modal-card,
.portfolio-modal-card {
    position: relative;

    z-index: 1;

    width: min(900px, 88vw);

    max-height: 88vh;

    overflow-y: auto;

    background: white;

    border: 2px solid black;

    padding: 32px 38px 38px 38px;

    font-family:
        "GOST Common",
        Arial,
        sans-serif;

    font-style: italic;

    font-synthesis: none;

    color: black;

    text-align: center;
}

.technology-modal-close,
.product-modal-close,
.portfolio-modal-close {
    position: absolute;

    top: 10px;
    right: 14px;

    width: 34px;
    height: 34px;

    padding: 0;

    border: none;

    background: transparent;

    color: black;

    font-family:
        Arial,
        sans-serif;

    font-style: normal;

    font-size: 32px;

    line-height: 1;

    cursor: pointer;
}

.technology-modal-title,
.product-modal-title,
.portfolio-modal-title {
    margin: 0 45px 24px 45px;

    font-family:
        "GOST Common",
        Arial,
        sans-serif;

    font-style: italic;

    font-size: 28px;

    line-height: 1;

    font-weight: 400;
}

.technology-modal-images,
.product-modal-images,
.portfolio-modal-images {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 24px;

    width: 100%;

    margin: 0 auto 28px auto;
}

.technology-modal-images img,
.product-modal-images img,
.portfolio-modal-images img {
    display: block;

    width: 100%;
    height: 240px;

    object-fit: contain;

    background: white;
}

.product-modal-placeholder,
.portfolio-modal-placeholder {
    width: 100%;
    height: 240px;

    display: flex;

    justify-content: center;
    align-items: center;

    border: 1px dashed #777;

    color: #777;

    font-size: 18px;
}

.technology-modal-text,
.product-modal-text,
.portfolio-modal-text {
    width: 92%;

    margin: 0 auto;

    text-align: left;
}

.technology-modal-text p,
.product-modal-text p,
.portfolio-modal-text p {
    margin: 0 0 16px 0;

    font-family:
        "GOST Common",
        Arial,
        sans-serif;

    font-style: italic;

    font-size: 20px;

    line-height: 1.25;

    font-weight: 400;
}

body.modal-open {
    overflow: hidden;
}


/* =========================================================
   А4 — МОБИЛЬНАЯ ВЕРСИЯ
   ========================================================= */

@media
(max-width: 700px)
and
(orientation: portrait) {

    html,
    body {
        -webkit-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }

    body {
        font-family:
            "GOST Common",
            Arial,
            sans-serif;

        font-style: italic;

        font-synthesis: none;
    }


    /* =====================================================
       ЛИСТ А4
       ===================================================== */

    .drawing {
        width: min(
            100vw,
            calc(100vh * 210 / 297)
        );

        height: min(
            100vh,
            calc(100vw * 297 / 210)
        );

        margin-left: auto;
        margin-right: auto;

        overflow: hidden;
    }


    /* =====================================================
       РАМКА А4
       ===================================================== */

    .drawing-frame-a3 {
        display: none;
    }

    .drawing-frame-a4 {
        display: block;
    }


    /* =====================================================
       РАБОЧАЯ ОБЛАСТЬ
       ===================================================== */

    .page-content {
        left: 9.5238%;
        right: 2.3810%;

        top: 1.6835%;
        bottom: 20.2020%;

        overflow-x: hidden;
        overflow-y: auto;

        -webkit-overflow-scrolling: touch;

        overscroll-behavior: contain;

        touch-action: pan-y;

        padding-bottom: 10cqw;

        scrollbar-width: none;

        font-family:
            "GOST Common",
            Arial,
            sans-serif;

        font-style: italic;

        font-synthesis: none;

        -webkit-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }

    .page-content::-webkit-scrollbar {
        display: none;
    }

    .page-content *,
    .page-content button,
    .page-content a {
        font-family:
            "GOST Common",
            Arial,
            sans-serif;

        font-synthesis: none;

        -webkit-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }


    /* =====================================================
       НАЗВАНИЕ СТРАНИЦЫ
       ===================================================== */

    .sheet-page-name {
        left: 40.5%;
        top: 79.7%;

        width: 57.1%;
        height: 5.2%;

        padding: 0 1cqw;

        font-size: 3.8cqw;

        -webkit-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }

    .sheet-page-name-long {
        font-size: 2.4cqw;

        white-space: nowrap;
    }


    /* =====================================================
       ЛОГОТИП
       ===================================================== */

    .logo-link {
        width: 52%;

        margin: 0.5cqw auto 0 auto;
    }


    /* =====================================================
       МЕНЮ
       ===================================================== */

    .main-menu {
        display: grid;

        grid-template-columns: repeat(2, 1fr);

        width: 92%;

        margin: 1.3cqw auto 0 auto;

        column-gap: 2cqw;
        row-gap: 1.4cqw;
    }

    .main-menu a {
        width: 100%;

        min-height: 7cqw;

        padding: 0.7cqw 1cqw;

        border: 0.16cqw solid black;

        font-family:
            "GOST Common",
            Arial,
            sans-serif;

        font-style: italic;

        font-size: 2.8cqw;

        line-height: 1.05;

        white-space: normal;

        font-synthesis: none;

        -webkit-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }


    /* =====================================================
       ГЛАВНАЯ
       ===================================================== */

    .home-content {
        margin-top: 4cqw;
    }

    .slogan {
        width: 92%;

        margin: 0 auto;

        font-size: 4.1cqw;

        line-height: 1.08;
    }

    .company-text {
        width: 88%;

        margin: 5.5cqw auto 0 auto;

        font-size: 3.3cqw;

        line-height: 1.13;
    }

    .new-product {
        margin-top: 4cqw;
    }

    .new-product-title {
        margin: 0 0 1.5cqw 0;

        font-size: 3.8cqw;
    }

    .product-image-container {
        width: 56%;
    }

    .product-name {
        width: 90%;

        margin: 1cqw auto 0 auto;

        font-size: 3.2cqw;

        line-height: 1.05;
    }


    /* =====================================================
       ЗАГОЛОВКИ
       ===================================================== */

    .page-title {
        font-size: 3.8cqw;

        line-height: 1.05;
    }


    /* =====================================================
       ТЕХНОЛОГИИ
       ===================================================== */

    .technology-content {
        margin-top: 2.8cqw;
    }

    .technology-grid {
        grid-template-columns: repeat(2, 1fr);

        column-gap: 4cqw;
        row-gap: 4cqw;

        width: 92%;

        margin: 3.2cqw auto 0 auto;
    }

    .technology-title {
        display: flex;

        justify-content: center;
        align-items: center;

        min-height: 6cqw;

        margin-bottom: 0.8cqw;

        font-size: 3cqw;

        line-height: 1.05;
    }

    .technology-image-box {
        height: 17cqw;
    }


    /* =====================================================
       ПРОДУКЦИЯ
       ===================================================== */

    .products-content {
        margin-top: 2.8cqw;
    }

    .products-grid {
        grid-template-columns: repeat(2, 1fr);

        column-gap: 4cqw;
        row-gap: 4cqw;

        width: 92%;

        margin: 3.2cqw auto 0 auto;
    }

    .product-catalog-title {
        min-height: 6cqw;

        margin-bottom: 0.8cqw;

        font-size: 3cqw;

        line-height: 1.05;
    }

    .product-catalog-image-box {
        height: 17cqw;
    }

    .product-placeholder {
        border-width: 0.16cqw;

        font-size: 2.4cqw;
    }


    /* =====================================================
       ПОРТФОЛИО
       ===================================================== */

    .portfolio-content {
        margin-top: 2.8cqw;
    }

    .portfolio-grid {
        grid-template-columns: repeat(2, 1fr);

        column-gap: 4cqw;
        row-gap: 4cqw;

        width: 92%;

        margin: 3.2cqw auto 0 auto;
    }

    .portfolio-title {
        min-height: 6cqw;

        margin-bottom: 0.8cqw;

        font-size: 3cqw;

        line-height: 1.05;
    }

    .portfolio-image-box {
        height: 17cqw;
    }

    .portfolio-placeholder {
        width: 90%;
        height: 80%;

        border-width: 0.16cqw;

        font-size: 2.4cqw;
    }


    /* =====================================================
       КОНТАКТЫ
       ===================================================== */

    .contacts-content {
        margin-top: 2.8cqw;
    }

    .contacts-actions {
        grid-template-columns: 1fr;

        gap: 3cqw;

        width: 82%;

        margin: 4cqw auto 0 auto;
    }

    .contact-action {
        min-height: 18cqw;

        padding: 2.5cqw 2cqw;

        border-width: 0.16cqw;

        font-family:
            "GOST Common",
            Arial,
            sans-serif;

        font-style: italic;

        font-synthesis: none;

        -webkit-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }

    .contact-action-label {
        margin-bottom: 1.2cqw;

        font-size: 4cqw;

        line-height: 1;
    }

    .contact-action-value {
        font-size: 3.4cqw;

        line-height: 1.05;
    }

    .contact-action-hint {
        margin-top: 1.3cqw;

        font-size: 2.5cqw;

        line-height: 1.05;
    }

    .company-contacts {
        width: 84%;

        margin-top: 5cqw;

        font-size: 3cqw;

        line-height: 1.2;
    }

    .company-contacts-name {
        font-size: 3.8cqw;
    }

    .copy-notification {
        bottom: 20px;

        font-size: 16px;
    }


    /* =====================================================
       МОДАЛЬНЫЕ ОКНА
       ===================================================== */

    .technology-modal,
    .product-modal,
    .portfolio-modal {
        padding: 14px;
    }

    .technology-modal-card,
    .product-modal-card,
    .portfolio-modal-card {
        width: 100%;

        max-height: 90vh;

        padding: 28px 18px 26px 18px;

        border-width: 1.5px;

        overflow-y: auto;

        -webkit-overflow-scrolling: touch;
    }

    .technology-modal-title,
    .product-modal-title,
    .portfolio-modal-title {
        margin: 0 36px 20px 36px;

        font-size: 24px;

        line-height: 1.05;
    }

    .technology-modal-close,
    .product-modal-close,
    .portfolio-modal-close {
        top: 7px;
        right: 9px;

        width: 32px;
        height: 32px;

        font-size: 30px;
    }

    .technology-modal-images,
    .product-modal-images,
    .portfolio-modal-images {
        grid-template-columns: 1fr;

        gap: 14px;

        margin-bottom: 20px;
    }

    .technology-modal-images img,
    .product-modal-images img,
    .portfolio-modal-images img {
        height: auto;

        max-height: 220px;
    }

    .product-modal-placeholder,
    .portfolio-modal-placeholder {
        height: 190px;

        font-size: 17px;
    }

    .technology-modal-text,
    .product-modal-text,
    .portfolio-modal-text {
        width: 96%;
    }

    .technology-modal-text p,
    .product-modal-text p,
    .portfolio-modal-text p {
        margin-bottom: 14px;

        font-size: 17px;

        line-height: 1.22;
    }
}