@media (max-width: 1199px) {
    .navbar-toggler {
        display: block;
    }

    .navbar-collapse {
        position: fixed;
        inset: 0;
        z-index: 1;
        display: flex;
        flex-direction: column;
        padding: calc(var(--menu-top, 96px) + 12px) 28px 40px;
        background: #002c4e;
        overflow-y: auto;
        transform: translateX(100%);
        visibility: hidden;
        transition: transform 0.4s ease, visibility 0s linear 0.4s;
    }

    .navbar-collapse.is-open {
        transform: translateX(0);
        visibility: visible;
        transition: transform 0.4s ease;
    }

    .navbar-nav {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        width: 100%;
    }

    .nav-item {
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    }

    .nav-link {
        font-size: 22px;
        padding: 16px 0;
    }

    .nav-link:after {
        margin: 0;
        left: 0;
        right: auto;
    }

    .nav-item-btn {
        border-bottom: 0;
        padding-top: 24px;
    }

    .lang_box {
        display: none;
    }

    .nav-item-lang {
        display: block;
        border-bottom: 0;
        padding-top: 12px;
    }

    .nav-btn {
        padding: 12px 22px;
        font-size: 18px;
    }

    .nav-drop {
        width: 100%;
        text-align: left;
    }

    .nav-sub {
        display: block;
        position: static;
        transform: none;
        min-width: 0;
        margin: 0;
        padding: 0 0 12px 8px;
        background: transparent;
        border-radius: 0;
        box-shadow: none;
    }

    .nav-sub:before {
        display: none;
    }

    .nav-sub a {
        color: #ffffff;
        font-size: 18px;
        padding: 10px 0 10px 16px;
        white-space: normal;
    }

    .nav-sub a.active {
        color: #b98c3b;
    }

    .navbar-brand,
    .navbar-toggler {
        position: relative;
        z-index: 2;
    }

    body.mobile_menu_open {
        overflow: hidden;
    }

    body.mobile_menu_open .site_main_header {
        z-index: 1050;
    }

    .bm_grid {
        gap: 16px;
    }

    .bm_grid > .bm_card {
        flex-basis: calc((100% - 16px) / 2);
    }
}

@media (max-width: 1199px) {
    .hero_title {
        font-size: 40px;
    }

    .highlight_card {
        width: calc((100% - 16px) / 2);
    }
}

@media (max-width: 991px) {
    .banner_content_box > .container {
        flex-direction: column;
        align-items: flex-start;
    }

    .hero_copy {
        width: 100%;
        max-width: 100%;
    }

    .quote_card {
        width: min(420px, calc(100% - 72px));
        margin-top: 28px;
        margin-left: 36px;
        margin-right: 36px;
    }
}

@media (max-width: 767px) {
    .navbar > .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .hero_copy {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        padding-left: 20px;
        padding-right: 20px;
    }

    .quote_card {
        width: calc(100% - 40px);
        margin-left: 20px;
        margin-right: 20px;
    }

    .hero_kicker {
        font-size: 14px;
        letter-spacing: 0.12em;
    }

    .hero_title {
        font-size: 30px;
    }

    .hero_lead {
        font-size: 18px;
    }

    .hero_btn {
        font-size: 15px;
        padding: 11px 16px;
    }

    .banner_content_box {
        padding-bottom: 28px;
        gap: 28px;
    }

    .kpi_section {
        padding: 0;
    }

    .kpi_section .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .kpi_grid {
        flex-direction: column;
        align-items: stretch;
    }

    .kpi_box {
        width: 100%;
        max-width: none;
    }

    .kpi_value {
        font-size: 32px;
    }

    .kpi_unit {
        font-size: 16px;
    }

    .overview_section,
    .highlights_section,
    .results_section,
    .updates_section,
    .quick_section,
    .faq_section,
    .leadership_main_wrapper {
        padding: 48px 0;
    }

    .updates_grid {
        grid-template-columns: 1fr;
    }

    .update_panel h2 {
        font-size: 28px;
    }

    .faq_grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .faq_intro h1,
    .faq_intro h2 {
        font-size: 32px;
    }

    .faq_intro p {
        max-width: none;
    }

    .faq_item summary {
        font-size: 16px;
    }

    .contact_section {
        padding: 40px 0;
    }

    .contact_inner {
        grid-template-columns: 1fr;
        padding: 24px 20px;
    }

    .contact_info {
        padding: 0 0 22px;
    }

    .contact_resources {
        padding: 18px 0 0;
        border-inline-start: 0;
        border-top: 1px solid rgba(0, 44, 78, 0.1);
    }

    .contact_section .contact_heading {
        font-size: 26px;
    }

    .contact_lead {
        margin-bottom: 18px;
        font-size: 16px;
    }

    .contact_icon {
        width: 42px;
        height: 42px;
    }

    .contact_value {
        font-size: 17px;
    }

    .resources_grid {
        grid-template-columns: 1fr;
    }

    .resources_grid li:nth-last-child(2) .resource_link {
        border-bottom: 1px solid rgba(0, 44, 78, 0.08);
    }

    .resource_link {
        padding: 12px 0;
    }

    .results_grid > .result_box {
        flex-basis: calc((100% - 20px) / 2);
    }

    .result_box {
        min-height: 160px;
    }

    .result_label {
        font-size: 18px;
    }

    .highlights_head {
        flex-direction: column;
        gap: 16px;
    }

    .highlights_nav {
        align-self: flex-end;
        padding-top: 0;
    }

    .highlight_card {
        width: 100%;
        height: 340px;
    }

    .hl_title {
        font-size: 18px;
    }

    .overview_grid,
    .leader_row {
        flex-direction: column;
        gap: 24px;
    }

    .overview_content,
    .overview_img_box,
    .leader_copy,
    .leader_img_box {
        width: 100%;
    }

    .overview_title,
    .sec_heading,
    .leader_main_title {
        font-size: 32px;
    }

    .overview_desc,
    .leadership_desc,
    .business_intro {
        font-size: 16px;
    }

    .overview_img_box {
        height: 260px;
    }

    .leader_row {
        box-shadow: 0 0 5px #00000026;
    }

    .leader_img_box {
        min-height: 320px;
        order: -1;
    }

    .leader_copy {
        padding: 24px 20px 28px;
    }

    .leader_sub_title {
        font-size: 18px;
    }

    .bm_grid > .bm_card {
        flex-basis: 100%;
    }

    .bm_card {
        padding: 20px 18px 16px;
    }

    .bm_title {
        margin: 18px 0 16px;
        font-size: 17px;
    }

    .bm_icon {
        width: 46px;
        height: 46px;
    }

    .bm_icon svg {
        width: 22px;
        height: 22px;
    }
    .ground_rent_trigger {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px 20px;
        border-radius: 24px 8px 24px 8px;
    }

    .gr_kicker {
        font-size: 18px;
    }

    .gr_title {
        font-size: 34px;
    }

    .ipoModal {
        padding: 16px;
    }

    .ipoModal .btn-close {
        top: 12px;
        right: 12px;
    }

    .ipoModal .modal-header,
    .ipoModal .modal-body {
        padding: 22px 18px;
    }

    .ipoModal .modal-title {
        font-size: 24px;
        padding-right: 28px;
    }

    .ipoModal .modal-body p,
    .ipoModal .modal-body li {
        font-size: 16px;
    }
}

@media (max-width: 991px) {
    .about_heading {
        font-size: 34px;
    }

    .pillar_body h2,
    .growth_block h3 {
        font-size: 22px;
    }

    .growth_block {
        padding: 28px 22px;
    }

    .location_row {
        flex-direction: column;
    }

    .location_copy,
    .location_map {
        width: 100%;
    }

    .location_map img {
        min-height: 280px;
    }

    .sheet_grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .about_heading {
        font-size: 28px;
    }

    .page_banner {
        min-height: 260px;
    }

    .page_banner h1 {
        font-size: 30px;
    }

    .pillar {
        flex-direction: column;
        gap: 14px;
    }
}

@media (max-width: 991px) {
    .gov_grid {
        grid-template-columns: 1fr 1fr;
    }

    .gov_tab {
        font-size: 14px;
        padding: 11px 10px;
    }
}

@media (max-width: 767px) {
    .gov_grid {
        grid-template-columns: 1fr;
    }

    .gov_table th,
    .gov_table td {
        padding: 12px 14px;
        font-size: 15px;
    }

    .gov_col_date {
        width: auto;
    }

    .doc_row {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 1199px) {
    .report_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991px) {
    .download_grid,
    .figures_grid,
    .numbers_grid,
    .quick_grid,
    .why_grid {
        grid-template-columns: 1fr 1fr;
    }

    .report_grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .report_layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .report_menu {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 2px;
        overflow-x: auto;
        border-bottom: 1px solid rgba(0, 44, 78, 0.15);
        scrollbar-width: thin;
    }

    .report_link {
        flex-shrink: 0;
        width: auto;
        padding: 11px 12px;
        border: 0;
        border-bottom: 3px solid transparent;
        border-radius: 0;
        background: transparent;
        color: #002c4e;
        font-size: 14px;
        white-space: nowrap;
    }

    .report_link:hover,
    .report_link:focus-visible {
        border-inline-start-color: transparent;
        border-bottom-color: rgba(185, 140, 59, 0.5);
    }

    .report_link.is-active {
        border-color: transparent;
        border-bottom-color: #b98c3b;
        background: rgba(0, 44, 78, 0.06);
        color: #002c4e;
    }
}

@media (max-width: 767px) {
    .download_grid,
    .figures_grid,
    .numbers_grid,
    .quick_grid,
    .why_grid {
        grid-template-columns: 1fr;
    }

    .why_grid .highlight_card {
        height: 300px;
    }

    .quick_tile {
        min-height: 220px;
    }

    .numbers_section {
        padding: 56px 0;
    }

    .numbers_value {
        font-size: 32px;
    }

    .report_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .sec_heading,
    .overview_title {
        font-size: 28px;
    }

    .results_grid > .result_box {
        flex-basis: 100%;
    }

    .own_layout {
        grid-template-columns: 1fr;
    }

    .cal_grid {
        min-height: 0;
        grid-auto-rows: minmax(72px, auto);
    }

    .cal_event {
        font-size: 11px;
    }
}

@media (max-width: 991px) {
    .own_layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991px) {
    .footer_grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px 28px;
    }
}

@media (max-width: 575px) {
    .euroland_frame > iframe {
        min-height: 560px;
    }

    .footer_main {
        padding: 40px 0 32px;
    }

    .footer_grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .contact_inner {
        padding: 30px 28px;
    }

    .contact_info {
        padding-inline-end: 28px;
    }

    .contact_resources {
        padding-inline-start: 28px;
    }

    .resources_grid {
        grid-template-columns: 1fr;
    }

    .resources_grid li:nth-last-child(2) .resource_link {
        border-bottom: 1px solid rgba(0, 44, 78, 0.08);
    }
}
