@media only screen and (max-width: 991px) {
    :root {
        --margin-inline: 0.7rem;
    }

    .header_area .title_content {
        font-size: 4rem;
    }

    .header_area .description_content {
        font-size: 1.10rem;
        width: 100%;
    }

    .app_navbar {
        width: 100%;
        margin: 0.5rem auto;
    }

    .app_navbar .links_area {
        display: none;
    }

    .section_hero {
        padding-top: 4rem;
    }

    .section_hero .text_content {
        text-align: center;
    }

    .section_hero .text_content h2 {
        font-size: 1.75rem;
    }

    .section_hero .text_content .hero_title {
        font-size: 1.75rem;
    }

    .section_hero .text_content span:not(.word_slider, .word) {
        width: 100%;
    }

    html[dir="rtl"] .section_hero .action_content a svg {
        rotate: 180deg;
    }

    .section_hero .action_content {
        flex-direction: column;
        gap: 0.5rem;
        width: 100%;
    }

    .section_hero .action_content a {
        width: 100%;
    }

    .section_hero .icons_area {
        overflow: hidden;
    }

    .section_hero .orbit_area {
        height: 300px;
        margin-top: 3rem;
    }

    .orbit_icon {
        width: 44px;
        height: 44px;
        margin: -22px 0 0 -22px;
    }

    .orbit_icon img {
        padding: 9px;
        border-radius: 14px;
    }

    .orbit_hub {
        width: 60px;
        height: 60px;
        margin: -30px 0 0 -30px;
    }

    .section_hero .floating_icons {
        width: 100%;
        left: 47%;
    }

    .section_hero .floating_icons .icon {
        width: 45px;
        height: 45px;
    }

    .f9 {
        top: 48%;
        left: 70%;
    }

    .f10 {
        top: 48%;
        left: 26%;
    }

    .f12 {
        top: 28%;
    }

    .f13 {
        top: 2%;
    }

    .body_text {
        padding-top: 5rem;
        width: 100%;
    }

    .feature_flow {
        padding-inline-start: 62px;
    }

    .feature_line {
        inset-inline-start: 22px;
    }

    .feature_stop {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 3.5rem 0;
    }

    .feature_node {
        top: 3.5rem;
        inset-inline-start: -40px;
        width: 46px;
        height: 46px;
        translate: -50% 0;
        border-radius: 14px;
    }

    html[dir="rtl"] .feature_node {
        translate: 50% 0;
    }

    .feature_node .icon {
        --aous-aw-icon-size: 24px;
        width: 24px;
        height: 24px;
    }

    .feature_head h3 {
        margin-top: 0.5rem;
        font-size: 1.5rem;
    }

    .feature_body p {
        font-size: 1.1rem;
    }

    .feature_link {
        margin-top: 1.25rem;
    }

    .solutions_area {
        padding-top: 4rem;
        padding-bottom: 2rem;
    }

    .solutions_area .solutions_cards {
        display: block;
    }

    /* showroom on small screens: no pin, every demo as its own card with its title */
    .solutions_story {
        height: auto;
    }

    .solutions_sticky {
        position: static;
        display: block;
        height: auto;
    }

    .solutions_list {
        display: none;
    }

    .solutions_stage {
        padding: 0;
        border: none;
        background: none;
    }

    /* the stage is a grid that stacks the panels on desktop: here they go one under the other */
    .solutions_area .solutions_cards.stage_cards {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .stage_panel,
    .stage_panel.passed,
    .stage_panel.active {
        grid-area: auto;
        opacity: 1;
        visibility: visible;
        transform: none;
        filter: none;
    }

    .solutions_area .stage_cards .stage_panel .solution_card {
        border-color: var(--border-color);
        box-shadow: none;
        padding: 1.5rem;
    }

    .solutions_area .stage_cards .stage_panel .solution_card .card_header {
        display: block;
    }

    .solutions_area .stage_cards .stage_panel .solution_card .card_body_content {
        min-height: 0;
    }

    .sd {
        font-size: 12.5px;
    }

    .sd.sd_design {
        grid-template-columns: 1fr;
    }

    .ds_props {
        display: none;
    }

    .an_kpis b,
    .ad_kpis b {
        font-size: 13px;
    }

    .ad_body {
        grid-template-columns: 1fr;
    }

    .ad_search {
        display: none;
    }

    .pf_top {
        grid-template-columns: 80px minmax(0, 1fr);
    }

    .hc_area {
        padding-top: 7rem;
    }

    .hc_grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .hc_intro h1 {
        font-size: 1.85rem;
    }

    .hc_intro>p {
        font-size: 0.98rem;
    }

    .hc_status {
        flex-wrap: wrap;
    }

    .hc_reply {
        margin-inline-start: 0;
    }

    .hc_form {
        padding: 1.4rem;
        border-radius: 22px;
    }

    .hc_fields {
        grid-template-columns: 1fr;
    }

    .ab_hero {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        padding-top: 7rem;
    }

    .ab_hero h1 {
        font-size: 1.9rem;
    }

    .ab_hero p {
        font-size: 0.98rem;
    }

    .ab_collage {
        height: 300px;
    }

    .ab_head h2 {
        font-size: 1.5rem;
    }

    .ab_manifesto {
        padding-block: 4rem 2rem;
    }

    .ab_manifesto p {
        font-size: 1.3rem;
    }

    .ab_numbers {
        grid-template-columns: 1fr;
        padding-block: 1rem 3rem;
    }

    .ab_number strong {
        font-size: 2rem;
    }

    .ab_value_grid,
    .ab_build_grid {
        grid-template-columns: 1fr;
    }

    /* ecosystem on small screens: the logo, then the platforms as a list */
    .ab_eco_stage {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.6rem;
        height: auto;
    }

    .ab_eco_lines {
        display: none;
    }

    .ab_eco_core {
        position: static;
        grid-column: 1 / -1;
        width: auto;
        margin-bottom: 0.5rem;
        transform: none;
    }

    .ab_eco_node {
        position: static;
        transform: none;
    }

    .ab_rail {
        display: none;
    }

    .ab_build_grid {
        gap: 1.75rem;
        margin-top: 1.75rem;
    }

    /* "point at a platform" needs a mouse */
    .ab_eco_caption {
        display: none;
    }

    .ab_step {
        padding-top: 0;
        padding-inline-start: 1.5rem;
    }

    .ab_step_dot {
        top: 0.3rem;
    }

    .ab_audience li {
        gap: 1rem;
        padding: 1rem 0;
    }

    .ab_audience li>span:last-child {
        font-size: 1.15rem;
    }

    .ab_closing p {
        font-size: 1.35rem;
    }

    .ab_closing_cta {
        flex-direction: column;
    }

    .pf_ring {
        width: 72px;
        height: 72px;
    }

    .solutions_area .solutions_cards .solution_card {
        margin-bottom: 1rem;
        padding-inline: 1.5rem;
    }

    .solutions_area .solutions_cards .solution_card .card_header {
        min-height: 100%;
        margin-bottom: 1rem;
    }

    .solutions_area .solutions_cards .solution_card .card_header .title {
        font-size: 1.25rem;
    }

    .solutions_area .solutions_cards .solution_card .card_header .description {
        width: 100%;
        font-size: 1rem;
    }

    .benefits_area {
        padding-top: 2rem;
        padding-bottom: 1rem;
    }

    .header_content {
        display: block;
        margin-top: 2rem;
    }

    .header_content .title h2 {
        font-size: 1.75rem;
        margin-top: 0.5rem;
        width: 100%;
    }

    .header_content .title span,
    .header_content .other span {
        font-size: 1rem;
        margin-top: 1rem;
    }

    .benefits_intro h2 {
        font-size: 1.5rem;
    }

    .benefits_intro p {
        font-size: 0.95rem;
    }

    /* small screens: the curve on top, the cards in a 2 × 2 grid under it */
    .growth_stage,
    .growth_cards {
        height: 180px;
    }

    .growth_cards {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
        height: auto;
        margin-top: 1.25rem;
    }

    .growth_stop {
        position: static;
    }

    .growth_dot {
        display: none;
    }

    .growth_card,
    .growth_stop.is_below .growth_card,
    .growth_stop:last-child .growth_card,
    html[dir="rtl"] .growth_stop:last-child .growth_card {
        position: static;
        width: auto;
        height: 100%;
        transform: translateY(14px);
    }

    .growth_stop.is_lit .growth_card,
    .growth_stop.is_lit:last-child .growth_card,
    html[dir="rtl"] .growth_stop.is_lit:last-child .growth_card {
        transform: none;
    }

    .growth_value {
        font-size: 1.35rem;
    }

    .faqs_area .content_body_area .question_area {
        display: block;
    }

    .faqs_area .content_body_area .question_area .accordion {
        margin-bottom: 0.75rem;
    }

    .faqs_area .content_body_area .question_area .accordion-item .accordion-button {
        font-weight: 500;
    }

    .app_footer {
        padding-bottom: 6rem;
    }

    .app_footer .app_footer_content .links {
        display: block;
    }

    .app_footer .app_footer_content .description h1 {
        font-size: 1.25rem;
    }

    .app_footer .app_footer_content .description p {
        width: 100%;
        font-size: 1rem;
        margin-bottom: 2rem;
    }

    .app_footer .app_footer_content .links_footer {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem;
    }

    .app_footer .app_footer_content .links_footer .links_col .title {
        margin-bottom: 0.75rem;
    }

    .app_footer .app_footer_content .content_copyright {
        display: block;
        text-align: center;
    }

    .app_footer .app_footer_content .content_copyright .copyright {
        margin-bottom: 1rem;
        display: block;
    }

    .app_footer .app_footer_content .content_copyright .links_social_media {
        justify-content: center;
    }

    .app_footer .app_footer_content .company_name {
        margin-bottom: -7.25rem;
    }

    .app_footer .app_footer_content .company_name h1 {
        font-size: 4rem;
        letter-spacing: 0;
    }

    .single_page {
        width: fit-content;
        margin-inline: var(--margin-inline);
    }

    .projects_area {
        margin-block: 2.5rem;
    }

    /* projects grid on small screens: one column */
    .pj_grid {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-top: 2rem;
    }

    .pj_text h3 {
        font-size: 1.2rem;
    }

    .pj_text p {
        font-size: 0.95rem;
    }

    .pj_more {
        flex-direction: column;
        align-items: flex-start;
        margin-top: 2rem;
    }

    .pj_more h3 {
        font-size: 1.5rem;
    }

    .projects_area .project_content h1 {
        font-size: 1.35rem;
        line-height: 1.4;
    }

    .projects_area .project_content .short_description {
        display: block;
    }

    .projects_area .project_content .short_description a {
        display: block;
        text-align: center;
        margin-top: 1rem;
    }















    .helper_links_area {
        padding: 6rem 0 4rem;
    }

    .helper_links_area .legal_header h1 {
        font-size: 1.9rem;
    }

    .helper_links_area .legal_body .legal_intro,
    .helper_links_area .legal_body .legal_section {
        padding: 1.25rem 1rem;
    }

    .project_details_area {
        padding-top: 5.5rem;
    }

    .project_details_area .landing_area {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .project_details_area .landing_area .text_content_area .project_title {
        font-size: 2.25rem;
    }

    .project_details_area .landing_area .text_content_area .action_project_tools {
        flex-direction: column;
        gap: 0.5rem;
    }

    .project_details_area .landing_area .text_content_area .action_project_tools a {
        width: 100%;
    }

    .project_details_area .body_project_area {
        margin-top: 5rem;
    }

    .project_apps_area {
        gap: 1.25rem;
        padding: 1.25rem;
        margin-bottom: 2.5rem;
    }

    .project_details_area .body_project_area .body_project_content {
        width: 100%;
    }

    .project_details_area .body_project_area .body_project_content .project_faqs_area {
        grid-template-columns: 1fr;
    }

    .project_inquiry_area {
        padding: 5rem 1rem;
    }

    .project_inquiry_area .wizard_step .wizard_title {
        font-size: 1.75rem;
    }

    .project_inquiry_area .wizard_step .wizard_description {
        font-size: 1rem;
        line-height: 1.6;
        max-width: 100%;
    }

    .project_inquiry_area .wizard_step .wizard_actions .get_started_btn {
        width: 100%;
    }

    .project_inquiry_area .wizard_step[data-step="1"] {
        padding-top: 0rem;
    }

    .project_inquiry_area .wizard_step .wizard_body .options_area.tow_grid,
    .project_inquiry_area .wizard_step .wizard_body .options_area.three_grid {
        grid-template-columns: repeat(1, 1fr);
    }

    .project_inquiry_area .wizard_step .wizard_body .our_logo {
        width: 8rem;
        height: 8rem;
    }

}

@media only screen and (max-width: 575px) {
    .project_store_grid {
        grid-template-columns: 1fr;
    }

    .project_apps_area {
        padding: 1rem;
    }

    .project_apps_heading h2 {
        font-size: 1.35rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .project_store_card {
        transition: none;
    }

    a.project_store_card:hover {
        transform: none;
    }
}
