@media (min-width: 992px) {
    .hero-section {
        display: flex;
        align-items: center;
        min-height: 861px;
    }

    .hero-section>.container {
        width: 100%;
    }
}

@media (max-width: 1199.98px) {
    .topbar-contacts {
        gap: 24px;
    }
}

@media (max-width: 991.98px) {
    .section-pad {
        padding: 72px 0;
    }

    .hero-section {
        padding: 72px 0;
    }

    .calc-photo {
        max-height: 300px;
        width: 100%;
    }

    .about-visual {
        height: 300px;
        margin-bottom: 24px;
    }

    .about-photo {
        aspect-ratio: auto;
    }

    .section-head {
        margin-bottom: 48px;
    }

    .calc-card {
        padding: 40px;
    }

    .gallery-card--tall {
        height: 320px;
    }
}

@media (max-width: 767.98px) {
     .page-hero {
        min-height: 240px;
    }

    .topbar-location {
        display: none;
    }

    .topbar-inner {
        justify-content: center;
    }

    .section-pad {
        padding: 64px 0;
    }

    .cta-bar-inner {
        justify-content: center;
    }

    .gallery-card--featured {
        height: 420px;
    }

    .contact-info-panel {
        padding: 24px 24px 32px;
    }

    .ref-card {
        flex-direction: column;
    }

    .project-slider {
        height: 360px;
    }

    .contact-intro,
    .contact-map {
        margin-bottom: 40px;
    }

    .contact-map {
        height: 200px;
    }

    .case-card {
        padding: 24px;
    }

    .ref-card-media.service-card-media {
        flex-basis: auto;
        min-height: 240px;
    }
}

@media (max-width: 575.98px) {
    .section-pad {
        padding: 48px 0;
    }

    .hero-section {
        padding: 48px 0;
    }

    .topbar-contacts {
        gap: 16px;
    }

    .hero-actions>a,
    .cta-bar-inner>a,
    .calc-content>a {
        width: 100%;
    }

    .about-badge {
        right: 12px;
        max-width: calc(100% - 24px);
    }

    .calc-card {
        padding: 24px;
    }

    .contact-info-grid {
        grid-template-columns: 1fr;
    }

    .contact-form-card {
        padding: 24px;
    }

    .gallery-card--featured .gallery-card-body {
        padding: 24px;
    }

   
    .craft-mosaic {
        flex-direction: column;
        align-items: stretch;
    }

    .craft-mosaic-col--low,
    .craft-mosaic-col--high {
        padding: 0;
    }

    .craft-photo--crop img {
        width: 100%;
        margin-left: 0;
        object-fit: cover;
    }
}

@media (max-width: 1199.98px) {
    .wiz-tabs {
        display: flex;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .wiz-tab {
        flex: 0 0 auto;
    }
}

@media (max-width: 991.98px) {
    .wiz-dims {
        flex-direction: column;
        align-items: stretch;
    }

    .wiz-dims-visual {
        flex-basis: auto;
        width: 100%;
        max-width: 420px;
        margin: 0 auto;
    }

    .wiz-sum-overview {
        grid-template-columns: 1fr 1fr;
    }

    .wiz-sum-spec {
        grid-row: 1;
        grid-column: 1 / -1;
    }

    .wiz-gallery-item {
        flex-basis: calc((100% - 21px) / 2);
    }
}

@media (max-width: 767.98px) {
    .hero-title.line-height-64px * {
        line-height: 1.2 !important;
    }

    .wiz-pitch-box {
        flex-direction: column;
        align-items: stretch;
    }

    .wiz-dial {
        margin: 0 auto;
    }

    .wiz-forms {
        flex-direction: column;
        align-items: stretch;
    }

    .wiz-forms .wiz-option {
        flex-basis: auto;
    }

    .wiz-total-sum {
        align-items: flex-start;
    }

    /* Figma 16px line-height only fits one line */
    .wiz-total-lead p {
        line-height: 1.2 !important;
    }
}

@media (max-width: 575.98px) {
    .wiz-section {
        padding: 32px 0 48px;
    }

    .wiz-nav {
        padding: 12px;
    }

    .wiz-panel {
        padding: 20px;
    }

    .wiz-sum-overview {
        grid-template-columns: 1fr;
    }

    .wiz-gallery-item {
        flex-basis: 100%;
    }

    .wiz-actions>* {
        flex: 1 1 auto;
    }
}