/* Common navigation and status tabs use the site's existing blue and spacing. */
.case-status__tabs {
  display: flex;
  margin: 32px 0 40px;
  border-bottom: 2px solid #00269f;
}
.case-status__tabs[hidden],
.case-status__panel[hidden],
.case-status.is-enhanced .case-status__heading {
  display: none;
}
.site .case-status .case-status__tabs button[role="tab"] {
  flex: 1;
  padding: 20px 12px;
  border: 1px solid #dfdfdf;
  border-bottom: 0;
  background: #f5f5f5;
  color: #00269f;
  font: inherit;
  font-size: 1.8rem;
  font-weight: 700;
  cursor: pointer;
}
.site .case-status .case-status__tabs button[role="tab"][aria-selected="true"] {
  background: #00269f;
  border-color: #00269f;
  color: #fff;
}
.site .case-status .case-status__tabs button[role="tab"]:focus-visible {
  outline: 3px solid #00269f;
  outline-offset: 4px;
}
.case-status__empty {
  padding: 48px 20px;
  background: #f5f5f5;
  text-align: center;
  font-size: 1.6rem;
}
.case-status__heading {
  margin: 32px 0;
  font-size: 2rem;
}
.service-child__next-page + .service-child__next-page {
  margin-top: 24px;
}
@media screen and (max-width: 1023px) {
  .case-status__tabs { margin: 24px 0; }
  .site .case-status .case-status__tabs button[role="tab"] { padding: 16px 10px; font-size: 1.6rem; }
}

.footer .footer_nav_first .footer_nav_links {
  display: block;
}
.footer .footer_nav_first .footer_nav_links .footer_nav_heading {
  width: auto;
  margin: 0 0 24px;
}
@media screen and (min-width: 1024px) and (max-width: 1399px) {
  .header .header_logo { flex-shrink: 0; width: 130px; }
  .header .header_nav_list:last-child .header_nav_item:not(:first-child) { margin-left: 40px; }
  .header .header_contact { margin-left: 24px; }
  .header .header_contact a { padding-right: 20px; white-space: nowrap; font-size: 14px; }
}

/* Keep service links aligned independently of their label length. */
@media screen and (min-width: 1024px) {
  .megamenu[data-menu="service"] .megamenu_heading {
    flex: 0 0 25%;
    width: 25%;
    padding: 40px 24px 40px 0;
    font-size: clamp(24px, 2.2vw, 30px);
    line-height: 1.4;
  }
  .megamenu[data-menu="service"] .megamenu_nav {
    width: 75%;
    min-width: 0;
    padding: 40px 0 40px 40px;
  }
  .megamenu[data-menu="service"] .megamenu_nav_list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    margin: 0;
    padding: 0;
  }
  .megamenu[data-menu="service"] .megamenu_nav_list > .megamenu_nav_item:nth-child(n) {
    min-width: 0;
    margin: 0;
  }
  .megamenu[data-menu="service"] .megamenu_nav_item a {
    height: 100%;
  }
  .megamenu[data-menu="service"] .megamenu_nav_item:nth-child(-n+2) a {
    display: grid;
    grid-template-columns: minmax(0, 35%) minmax(0, 1fr);
    gap: 18px;
  }
  .megamenu[data-menu="service"] .megamenu_nav_item:nth-child(-n+2) .megamenu_nav_img {
    width: 100%;
    max-width: none;
    margin: 0;
  }
  .megamenu[data-menu="service"] .megamenu_nav_item:nth-child(-n+2) .megamenu_nav_text {
    min-width: 0;
    margin-left: 0;
    font-size: clamp(14px, 1.3vw, 18px);
  }
  .megamenu[data-menu="service"] .megamenu_nav_text span {
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
  .megamenu[data-menu="service"] .megamenu_nav_text img {
    flex-shrink: 0;
  }

  /* Explicit columns replace the old wrapping flex layout and fixed offsets. */
  .footer > .inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    column-gap: 48px;
  }
  .footer .fooer_info,
  .footer .footer_nav {
    min-width: 0;
  }
  .footer .footer_nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    align-items: start;
    gap: 32px;
  }
  .footer .footer_nav_first {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    align-items: start;
    gap: 40px 24px;
    width: auto;
    max-width: none;
  }
  .footer .footer_nav_first > .footer_nav_list:nth-child(n) {
    width: auto;
    max-width: none;
    min-width: 0;
    margin: 0;
  }
  .footer .footer_nav_second {
    min-width: 0;
    margin: 0;
  }
  .footer .footer_nav_second .footer_nav_list {
    margin: 0;
    padding: 0;
  }
  .footer .footer_bottom {
    grid-column: 1 / -1;
    min-width: 0;
  }
}
