html {
  scroll-behavior: smooth;
  scroll-padding-top: 84px;
}

body {
  overflow-x: clip;
}

img {
  max-width: 100%;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 16px;
  z-index: 1000;
  padding: 11px 16px;
  border-radius: 10px;
  color: #fff;
  background: #1d6ff2;
  font-size: 14px;
  font-weight: 700;
  transform: translateY(-160%);
}

.skip-link:focus {
  color: #fff;
  transform: none;
}

[aria-disabled="true"] {
  cursor: default;
  opacity: 0.7;
}

.store-status { margin: 12px 0 0; font-size: 13px; color: #fff; line-height: 1.6; }
.download-platforms { flex-wrap: wrap; }

:focus-visible {
  outline: 3px solid rgba(29, 111, 242, 0.45);
  outline-offset: 4px;
}

@media (max-width: 980px) {
  header > div {
    padding-inline: 24px !important;
  }

  header nav {
    gap: 0 !important;
  }

  header nav > a:not(:last-child),
  header nav > div {
    display: none !important;
  }

  #top {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding-top: 72px !important;
    text-align: center;
  }

  #top > div:first-child {
    max-width: 700px;
    margin-inline: auto;
  }

  #top > div:first-child > div:nth-of-type(2),
  #top > div:first-child > div:last-child {
    justify-content: center;
  }

  #top > div:last-child {
    width: min(720px, 100%);
    margin-inline: auto;
  }

  #conditions > div {
    grid-template-columns: 1fr !important;
    gap: 38px !important;
  }

  #conditions > div > div:first-child {
    max-width: 600px;
    margin-inline: auto;
    text-align: center;
  }

  #conditions > div > div:last-child > div:last-child {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #conditions > div > div:last-child > div:first-child {
    display: none;
  }

  #path {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  #path > img {
    width: min(380px, 100%) !important;
    margin-inline: auto;
  }

  [data-screen-label="다국어·공식출처 밴드"] > section:first-child {
    grid-template-columns: 1fr !important;
  }

  [data-screen-label="다국어·공식출처 밴드"] > section:first-child > div:first-child {
    text-align: center;
  }

  [data-screen-label="다국어·공식출처 밴드"] > section:first-child > div:last-child {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #steps {
    grid-template-columns: 1fr !important;
  }

  #steps > div:first-child {
    max-width: 600px;
    margin-inline: auto;
    text-align: center;
  }

  footer > div:first-child {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  header > div {
    height: 62px !important;
    padding-inline: 18px !important;
  }

  header nav > a:last-child {
    padding: 8px 13px !important;
    font-size: 13px !important;
  }

  #top {
    padding: 56px 18px 48px !important;
  }

  #top h1 {
    font-size: clamp(38px, 10vw, 46px) !important;
  }

  #top > div:first-child > div:first-of-type {
    max-width: 100%;
    padding-inline: 12px !important;
    font-size: 11.5px !important;
    white-space: normal !important;
  }

  #top > div:first-child > div:nth-of-type(2) {
    flex-direction: column;
  }

  #top > div:first-child > div:nth-of-type(2) > a {
    box-sizing: border-box;
    justify-content: center;
    width: min(360px, 100%);
    max-width: 100%;
  }

  #top > div:first-child > div:last-child {
    flex-wrap: wrap;
    gap: 12px 18px !important;
    margin-top: 32px !important;
    padding-top: 22px !important;
  }

  #top > div:first-child > div:last-child > div[style*="width: 1px"] {
    display: none;
  }

  #conditions {
    padding: 48px 18px 56px !important;
  }

  #conditions > div > div:last-child > div:last-child {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  #conditions > div > div:last-child > div:last-child > div {
    min-height: 145px;
  }

  [data-screen-label="복지 지문"] {
    padding-inline: 18px !important;
  }

  [data-screen-label="복지 지문"] img {
    width: min(430px, 100%) !important;
  }

  [data-screen-label="복지 지문"] > div:first-of-type {
    max-width: 100%;
  }

  #path {
    padding: 42px 18px 56px !important;
  }

  #path > div:first-child {
    grid-template-columns: 1fr !important;
    text-align: center;
  }

  #path > div:first-child > div:last-child > div:last-child > div:last-child {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px 10px !important;
  }

  #path > div:first-child > div:last-child > div:last-child > div:first-child {
    display: none;
  }

  [data-screen-label="다국어·공식출처 밴드"] > section:first-child {
    padding: 54px 18px 42px !important;
  }

  [data-screen-label="다국어·공식출처 밴드"] > section:first-child > div:last-child {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  [data-screen-label="공식 출처"] {
    padding: 0 18px 56px !important;
  }

  [data-screen-label="공식 출처"] > div {
    padding: 26px 22px !important;
  }

  #steps {
    padding: 58px 18px 54px !important;
  }

  #steps > div:last-child > div:first-child {
    display: none;
  }

  #steps > div:last-child > div:last-child {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 10px !important;
  }

  #download {
    padding: 10px 18px 64px !important;
  }

  #download > div {
    padding: 48px 20px !important;
    border-radius: 22px !important;
  }

  #download > div > div:last-child {
    flex-wrap: wrap;
  }

  footer > div:first-child {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 42px 18px 0 !important;
  }

  footer > div:last-child {
    flex-direction: column;
    gap: 10px;
    align-items: flex-start !important;
    margin-top: 28px !important;
    padding: 20px 18px 26px !important;
  }
}

@media (max-width: 430px) {
  header nav > a:last-child {
    padding-inline: 11px !important;
  }

  #top h1 {
    font-size: 36px !important;
  }

  #top p {
    font-size: 16px !important;
  }

  #top > div:first-child > div:last-child {
    align-items: flex-start !important;
    flex-direction: column;
  }

  #conditions h2,
  #path h2,
  #steps h2,
  [data-screen-label="다국어·공식출처 밴드"] h2 {
    font-size: 29px !important;
  }

  [data-screen-label="다국어·공식출처 밴드"] > section:first-child > div:last-child {
    grid-template-columns: 1fr !important;
  }

  [data-screen-label="공식 출처"] > div {
    flex-direction: column;
  }

  #download > div > div:last-child {
    align-items: stretch !important;
    flex-direction: column;
  }

  #download > div > div:last-child > a {
    justify-content: center;
  }

  #download > div > div:last-child img {
    align-self: center;
    width: auto;
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
