@media (max-width: 1350px) {
  .mo_hero {
    gap: 40px; min-height: 620px;
  }
  .mo_hero_content h1 {
    font-size: 68px;
  }
  .mo_hero_image {
    height: 560px;
  }
  .mo_info_item h3,
  .mo_program_content h3 {
    font-size: 26px;
  }
  .mo_prizes_section {
    grid-template-columns: 1fr; gap: 34px;
  }
  .mo_prizes_intro p {
    max-width: 620px;
  }
}
@media (max-width: 1024px) {
  .mo_hero {
    grid-template-columns: 1fr; gap: 32px; min-height: 0;    
  }
  .mo_hero_content {
    display: flex; flex-direction: column; align-items: center; text-align: center;
  }
  .mo_hero_image {
    height: 520px; order: 2;
  }
  .mo_info_head,
  .mo_program_head,
  .mo_day_head,
  .mo_tickets_head {
    flex-direction: column; align-items: flex-start; gap: 18px;
  }
  .mo_info_head p,
  .mo_program_head p,
  .mo_day_head p,
  .mo_tickets_head p {
    max-width: 100%; margin: 0;
  }
  .mo_info_list,
  .mo_program_list {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .mo_day_grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .mo_attractions_grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .mo_tickets_grid,
  .mo_ft_grid {
    grid-template-columns: 1fr;
  }
  .mo_gallery_grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 767px) {
  .lk_page {
    padding-bottom: 40px;
  }
  .lk_page .lk_row {
    margin-top: 55px;
  }
  .lk_main {
    padding: 0 18px;
  }
  .mo_hero {
    gap: 24px; padding: 0;
  }
  .mo_hero_content small {
    margin-bottom: 12px; margin-top: 10px; font-size: 15px; line-height: 1.25; color: #232323 !important;
  }
  .mo_hero_content h1 {
    max-width: 100%; margin-bottom: 0; font-size: 36px; line-height: .94; letter-spacing: -0.04em;
  }
  .mo_hero_content p {
    margin: 25px 0 25px; font-size: 15px; line-height: 1.45;
  }
  .mo_countdown {
    gap: 7px; margin-bottom: 24px;
  }
  .mo_countdown div {
    width: 56px; height: 58px; border-radius: 12px;
  }
  .mo_countdown strong {
    margin-bottom: 4px; font-size: 21px;
  }
  .mo_countdown span {
    font-size: 10px;
  }
  .mo_countdown i {
    font-size: 22px;
  }
  .mo_hero .lk_btns_wrap {
    flex-direction: column; align-items: stretch; width: 100%; margin-top: 10px !important;
  }
  .mo_hero .lk_btns_item {
    width: 100%; justify-content: flex-start;
  }
  .mo_hero_image {
    height: 360px; border-radius: 22px;
  }
  .mo_hero_badge {
    top: 14px; left: 14px; width: 220px; padding: 12px 14px; border-radius: 16px;
  }
  .mo_info_head h2,
  .mo_program_head h2,
  .mo_day_head h2,
  .mo_tickets_head h2,
  .mo_attractions_head h2,
  .mo_gallery_head h2 {
    font-size: 36px; line-height: .96; letter-spacing: -0.04em;
  }
  .mo_info_head small,
  .mo_program_head small,
  .mo_day_head small,
  .mo_tickets_head small,
  .mo_attractions_head small,
  .mo_gallery_head small {
    font-size: 12px;
  }
  .mo_info_head p,
  .mo_program_head p,
  .mo_day_head p,
  .mo_tickets_head p,
  .mo_attractions_head p,
  .mo_gallery_head p {
    font-size: 14px; line-height: 1.45;
  }
  .mo_info_list,
  .mo_program_list,
  .mo_day_grid,
  .mo_tickets_grid,
  .mo_gallery_grid {
    grid-template-columns: 1fr;
  }
  .mo_info_item {
    min-height: 0; padding: 20px; border-radius: 18px;
  }
  .mo_info_icon {
    width: 52px; height: 52px;
  }
  .mo_info_item h3 {
    margin: 22px 0 10px; font-size: 26px;
  }
  .mo_info_item p {
    font-size: 14px;
  }
  .mo_program_image {
    height: 260px;
  }
  .mo_program_tags span {
    min-height: 24px; padding: 0 10px; font-size: 11px;
  }
  .mo_program_content h3 {
    font-size: 22px;
  }
  .mo_program_content p {
    font-size: 14px;
  }
  .mo_day_box {
    padding: 18px; border-radius: 22px;
  }
  .mo_day_tabs {
    width: 100%;
  }
  .mo_day_tab {
    flex: 1; min-height: 42px; padding: 0 12px; font-size: 15px;
  }
  .mo_day_tab span {
    font-size: 11px;
  }
  .mo_day_item {
    min-height: 0; padding: 22px; border-radius: 18px;
  }
  .mo_day_item h3 {
    font-size: 21px;
  }
  .mo_prizes_section {
    grid-template-columns: 1fr; gap: 24px; padding: 28px 22px; border-radius: 24px;
  }
  .mo_prizes_intro h2 {
    font-size: 38px;
  }
  .mo_prizes_intro p {
    font-size: 14px;
  }
  .mo_prizes_stats {
    gap: 22px;
  }
  .mo_prizes_stats strong {
    font-size: 30px;
  }
  .mo_prizes_stats span {
    font-size: 11px;
  }
  .mo_prizes_notice {
    padding: 14px;
  }
  .mo_prizes_cards {
    grid-template-columns: 1fr;
  }
  .mo_prize_card,
  .mo_prize_card.main {
    grid-column: auto; grid-template-columns: 1fr; min-height: 0;
  }
  .mo_prize_image {
    height: 190px; order: -1;
  }
  .mo_prize_text {
    padding: 22px;
  }
  .mo_prize_text h3 {
    font-size: 24px;
  }
  .mo_attraction_item.green span {
    display: none;
  }
  .mo_attractions_section {
    padding: 28px 14px 18px; border-radius: 24px;
  }
  .mo_attractions_grid {
    grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px;
  }
  .mo_attraction_item {
    height: 145px; border-radius: 14px;
  }
  .mo_attraction_item h3 {
    left: 10px; bottom: 10px; font-size: 15px;
  }
  .mo_attraction_item.green {
    padding: 16px;
  }
  .mo_attraction_item.green strong {
    font-size: 42px;
  }
  .mo_more_box {
    padding: 24px 16px; border-radius: 20px;
  }
  .mo_more_head {
    flex-direction: column; align-items: flex-start; gap: 10px;
  }
  .mo_more_head h3 {
    font-size: 30px;
  }
  .mo_more_tags {
    gap: 7px;
  }
  .mo_more_tags span {
    min-height: 34px; padding: 0 12px; font-size: 12px;
  }
  .mo_ticket_card {
    min-height: 0; padding: 24px 20px; border-radius: 22px;
  }
  .mo_tickets_head {
    gap: 20px;  margin: 0 0 20px; 
  }
  .mo_ticket_card h3 {
    font-size: 32px;
  }
  .mo_ticket_rows div {
    gap: 14px; padding: 16px 0;
  }
  .mo_ticket_rows span {
    font-size: 17px;
  }
  .mo_ticket_rows em {
    font-size: 12px;
  }
  .mo_ticket_rows strong {
    font-size: 22px;
  }
  .mo_ticket_notice {
    padding: 14px;
  }
  .mo_food_transport_section {
    margin: 0;
  }
  .mo_ft_grid {
    grid-template-columns: 1fr; grid-auto-rows: auto; gap: 16px;
  }
  .mo_ft_image {
    height: 280px; border-radius: 22px;
  }
  .mo_ft_card {
    min-height: 0; padding: 26px 22px; border-radius: 22px;
  }
  .mo_ft_card h2 {
    font-size: 36px;
  }
  .mo_ft_card p,
  .mo_ft_card ul li {
    font-size: 14px;
  }
  .mo_ft_card ul li {
    align-items: flex-start; gap: 9px;
  }
  .mo_ft_card ul li:before {
    flex: 0 0 14px; margin-top: 3px;
  }
  .mo_gallery_item {
    height: 260px;
  }
  .mo_gallery_item.green {
    min-height: 220px; padding: 22px;
  }
  .mo_gallery_item.green strong {
    font-size: 50px;
  }
  .mo_gallery_item.dark {
    padding: 24px;
  }
  .mo_gallery_item.dark h3 {
    font-size: 30px;
  }
  .mo_cta_section {
    min-height: 430px; padding: 28px 22px; border-radius: 24px; background-position: center center;
  }
  .mo_cta_overlay {
    background: linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.42) 70%, rgba(0,0,0,.18) 100%);
  }
  .mo_cta_content h2 {
    font-size: 38px;
  }
  .mo_cta_countdown {
    gap: 8px;
  }
  .mo_cta_time {
    width: 58px; height: 58px; border-radius: 12px;
  }
  .mo_cta_time strong {
    margin-bottom: 4px; font-size: 19px;
  }
  .mo_cta_time span {
    font-size: 10px;
  }
  .mo_cta_content p {
    font-size: 14px;
  }
  .mo_cta_content .lk_btns_wrap {
    margin-top: 24px;
  }
}