@media (max-width: 700px) {
  body {
    font-size: 15px;
    line-height: 1.68;
  }

  .hero-inner,
  .layout,
  .footer {
    width: 100%;
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }

  .hero-inner {
    padding-top: 36px;
    padding-bottom: 28px;
  }

  h1 {
    font-size: 34px;
    line-height: 1.08;
  }

  .summary {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.62;
  }

  .meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 20px;
  }

  .meta-item {
    width: 100%;
    min-height: 0;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 13px;
    overflow-wrap: anywhere;
  }

  .layout {
    padding-top: 16px;
    padding-bottom: 44px;
  }

  .toc {
    padding: 14px 16px;
    border-radius: 8px;
  }

  .toc ol {
    max-height: 230px;
    overflow: auto;
    padding-right: 4px;
    -webkit-overflow-scrolling: touch;
  }

  .toc a {
    padding: 9px 0;
    font-size: 13px;
  }

  .article {
    margin-left: -16px;
    margin-right: -16px;
    padding: 26px 16px 34px;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .policy-rendered h2 {
    margin-top: 36px;
    margin-bottom: 12px;
    font-size: 23px;
    line-height: 1.32;
  }

  .policy-rendered h3 {
    margin-top: 26px;
    margin-bottom: 10px;
    font-size: 19px;
    line-height: 1.38;
  }

  .policy-rendered p {
    margin-bottom: 12px;
  }

  .policy-rendered .definition,
  .policy-rendered .notice,
  .policy-rendered .field {
    padding: 12px;
  }

  .policy-rendered .url-line,
  .policy-rendered .field,
  .policy-rendered .sdk-heading,
  .policy-rendered a {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .policy-rendered .sdk-heading {
    max-width: 100%;
    border-radius: 8px;
  }
}

@media (max-width: 380px) {
  h1 {
    font-size: 30px;
  }

  .summary,
  .policy-rendered p {
    font-size: 14px;
  }

  .policy-rendered h2 {
    font-size: 21px;
  }

  .policy-rendered h3 {
    font-size: 18px;
  }
}
