@media (max-width: 1300px) {
    .header_pill {
        padding: 8px 8px 8px 24px;
        gap: 18px;
    }

    .logo img {
        height: 42px;
    }

    body.header_fixed .logo img {
        height: 36px;
    }

    .top_nav {
        gap: 1.1rem;
    }

    .top_nav a {
        font-size: 1rem;
        letter-spacing: 0;
    }

    .header_actions {
        gap: 0.5rem;
    }

    .lang_switcher {
        height: 40px;
        padding: 3px;
    }

    .lang_switcher_item {
        min-width: 36px;
        height: 34px;
        padding: 0 0.5rem;
        font-size: 0.75rem;
    }

    .header_pill .btn.primary {
        height: 40px;
        padding: 0 1.25rem;
        font-size: 1rem;
    }
}

@media (max-width: 1200px) {
    .masterplan_zones {
        gap: 2.5rem 2rem;
    }

    .masterplan_zone {
        flex-basis: calc((100% - 2rem * 2) / 3);
    }
}

@media (max-width: 1200px) {
    .news_card {
        flex: 0 0 calc((100% - 1.5rem * 2) / 3);
    }
}

@media (max-width: 1024px) {
    .gallery_slide {
        flex: 0 0 calc((100% - 1.25rem) / 2);
    }

    .news_card {
        flex: 0 0 calc((100% - 1.5rem) / 2);
    }

    .atelier_grid {
        flex-direction: column;
        gap: 3rem;
    }

    .atelier_side,
    .atelier_body {
        flex: none;
    }

    .atelier_side {
        position: static;
    }

    .header_pill {
        gap: 14px;
        padding-left: 20px;
    }

    .top_nav {
        gap: 0.85rem;
    }

    .top_nav a {
        font-size: 0.9375rem;
    }

    .header_actions {
        gap: 0.4rem;
    }

    .lang_switcher {
        height: 38px;
    }

    .lang_switcher_item {
        min-width: 34px;
        height: 32px;
        padding: 0 0.45rem;
    }

    .header_pill .btn.primary {
        height: 38px;
        padding: 0 1rem;
        font-size: 0.9375rem;
    }

    .logo img {
        height: 28px;
    }
}

@media (max-width: 950px) {
    .header_pill {
        gap: 10px;
        padding: 6px 6px 6px 16px;
    }

    .logo img {
        height: 32px;
    }

    body.header_fixed .logo img {
        height: 28px;
    }

    .top_nav {
        gap: 0.65rem;
    }

    .top_nav a {
        font-size: 0.875rem;
    }

    .header_actions {
        gap: 0.3rem;
    }

    .lang_switcher {
        height: 34px;
        padding: 2px;
    }

    .lang_switcher_item {
        min-width: 30px;
        height: 30px;
        padding: 0 0.4rem;
        font-size: 0.7rem;
    }

    .header_pill .btn.primary {
        height: 34px;
        padding: 0 0.85rem;
        font-size: 0.875rem;
    }
}

@media (max-width: 960px) {
    .pillars_grid {
        flex-direction: column;
    }

    .pillars_card {
        flex: none;
        padding: 0;
    }

    .pillars_card+.pillars_card {
        border-left: 0;
        border-top: 1px solid var(--rule);
        padding-top: 3rem;
    }

    .hero_split {
        flex-direction: column;
        gap: 16px;
    }

    .hero_text,
    .hero_image {
        flex: none;
    }

    .hero_image {
        aspect-ratio: 4 / 3;
        min-height: auto;
    }

    .hero_image picture,
    .hero_image img {
        position: relative;
    }

    .vision_grid {
        flex-direction: column;
        gap: 3rem;
    }

    .vision_text,
    .vision_imgs {
        flex: none;
        max-width: none;
    }
}

@media (max-width: 768px) {
    html {
        scroll-padding-top: 90px;
    }

    body>header {
        top: 16px;
    }

    .header_pill {
        padding: 8px 8px 8px 20px;
        gap: 16px;
    }

    .logo img {
        height: 36px;
    }

    body.header_fixed .logo img {
        height: 32px;
    }

    .open_menu {
        display: flex;
    }

    .top_nav {
        display: none;
    }

    .mobile_menu {
        display: flex;
    }

    body.menu_opened {
        overflow: hidden;
    }

    .header_pill .header_actions {
        display: none;
    }

    [data-animate] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .section {
        padding: 4rem 0;
    }

    .hero_section {
        padding-top: 5rem;
    }

    .hero_section .container {
        padding: 16px;
    }

    .hero_text {
        padding: 2.5rem 1.5rem;
        gap: 0.85rem;
    }

    .hero_meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }

    .hero_dot {
        display: none;
    }

    .hero_credit {
        margin-top: 1.25rem;
        padding-top: 1.25rem;
    }

    .pillars_head {
        margin-bottom: 2.5rem;
    }

    .pillars_grid {
        padding-top: 2.5rem;
    }

    .masterplan_head {
        margin-bottom: 2.5rem;
    }

    .masterplan_zones {
        gap: 2rem 1.5rem;
    }

    .masterplan_zone {
        flex-basis: calc((100% - 1.5rem) / 2);
    }

    .masterplan_image {
        aspect-ratio: 4 / 3;
        margin-bottom: 3rem;
    }

    .vision_imgs {
        flex-direction: column;
    }

    .vision_img_wrap {
        flex: none;
    }

    .vision_img_wrap:first-child {
        margin-top: 0;
    }

    .vision_benefits_list li {
        flex-basis: 100%;
    }

    .gallery_head {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
        margin-bottom: 2rem;
    }

    .gallery_nav {
        display: none;
    }

    .gallery_slider--static .gallery_slide {
        flex-basis: 100%;
    }

    .news_head {
        margin-bottom: 2rem;
    }

    .news_nav {
        display: none;
    }

    .news_slider--static .news_card {
        flex-basis: 100%;
    }

    .atelier_section .section_title {
        margin-bottom: 1.75rem;
    }

    .atelier_meta {
        flex-direction: column;
    }

    .atelier_stat {
        flex: none;
    }

    .partners_grid {
        flex-direction: column;
        gap: 1rem;
    }

    .partners_card {
        flex: none;
    }

    .contact_head {
        margin-bottom: 2.25rem;
    }

    .contact_field {
        flex-basis: 100%;
    }

    .faq_head {
        margin-bottom: 2.5rem;
    }

    .faq_question {
        padding: 1.15rem 0;
        font-size: var(--fs-base);
        gap: 1.25rem;
    }

    .faq_answer {
        padding: 0 0 1.5rem;
    }

    .footer_inner {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }

    .footer_cobrand_row {
        flex-direction: column;
        gap: 1.25rem;
        text-align: center;
    }

    .footer_cobrand {
        text-align: center;
    }

    .video_head {
        margin-bottom: 2rem;
    }

    .video_player {
        border-radius: 1rem;
    }

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

    .video_player_play_icon svg {
        width: 28px;
        height: 28px;
    }

}

@media (max-width: 640px) {
    .gallery_slide {
        flex: 0 0 86%;
    }

    .gallery_slider {
        gap: 1rem;
    }

    .news_card {
        flex: 0 0 86%;
    }

    .news_slider {
        gap: 1rem;
    }

    .masterplan_zone {
        flex-basis: 100%;
    }
}

@media (max-width: 480px) {
    .hero_text {
        padding: 2rem 1.25rem;
    }

    .hero_title {
        font-size: clamp(2.75rem, 14vw, 4rem);
    }

    .hero_actions .btn {
        width: 100%;
    }

    .contact_section .section_title {
        font-size: 2rem;
    }
}

@media (max-width: 768px) and (max-height: 740px) {
    .mobile_menu {
        gap: 1.5rem;
        padding-top: 5rem;
        padding-bottom: 2rem;
    }

    .mobile_menu a {
        font-size: 1.5rem;
    }

    .lang_switcher--mobile {
        height: 48px;
        padding: 5px;
        margin-top: 0.25rem;
    }

    .lang_switcher--mobile .lang_switcher_item {
        min-width: 56px;
        height: 36px;
        font-size: 0.9375rem;
    }
}

@media (max-width: 768px) and (max-height: 560px) {
    .mobile_menu {
        gap: 0.85rem;
        padding-top: 4.25rem;
        padding-bottom: 1.5rem;
    }

    .mobile_menu a {
        font-size: 1.25rem;
    }

    .lang_switcher--mobile {
        height: 42px;
        padding: 4px;
    }

    .lang_switcher--mobile .lang_switcher_item {
        min-width: 48px;
        height: 32px;
        font-size: 0.875rem;
    }
}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after,
    .faq_item::details-content {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    [data-animate] {
        opacity: 1 !important;
        transform: none !important;
    }
}