@media (max-width: 560px) {
  html, body {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body * { min-width: 0; }
  img, video, canvas, svg { max-width: 100%; }
  .shell { width: calc(100% - 24px) !important; max-width: 100% !important; }

  :root { --header-h: 66px; }
  .site-header__inner { gap: 7px; }
  .brand { flex: 0 0 82px; width: 82px; height: 46px; }
  .brand__logo { width: 82px; max-height: 38px; object-fit: contain; }
  .menu-button { flex: 0 0 46px; width: 46px; height: 46px; }

  .language-switcher {
    flex: 0 1 auto;
    gap: 1px;
    margin-left: auto;
    padding: 3px;
    overflow: hidden;
  }
  .language-switcher button {
    width: 27px;
    min-width: 27px;
    padding: 7px 2px;
    font-size: 0 !important;
    line-height: 1;
    text-align: center;
  }
  .language-switcher button::after {
    content: attr(data-short);
    font-size: 9px;
    font-weight: 900;
  }

  .primary-nav {
    width: 100vw !important;
    max-width: 100vw !important;
    grid-template-columns: 1fr 1fr !important;
  }
  .primary-nav a, .primary-nav a > span, .primary-nav a small {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .hero { min-height: auto; padding-top: var(--header-total); }
  .hero__inner {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 26px;
    padding: 84px 0 64px !important;
  }
  .hero__copy, .hero__panel { width: 100%; max-width: 100%; }
  .hero h1 {
    max-width: 100%;
    font-size: clamp(38px, 12vw, 46px) !important;
    line-height: 1.04 !important;
    overflow-wrap: anywhere;
    word-break: normal;
  }
  .hero__lead { font-size: 16px; line-height: 1.65; overflow-wrap: anywhere; }
  .hero__panel-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .hero__panel-grid > div { min-height: 102px; padding: 12px 10px; }
  .hero__actions { grid-template-columns: 1fr; }

  .section { padding: 58px 0; overflow: hidden; }
  .section-heading h2, .technology h2, .applications h2, .contact h2 {
    font-size: clamp(31px, 9vw, 39px) !important;
    overflow-wrap: anywhere;
  }
  .section-heading p, .technology p, .applications p, .contact p,
  .case-copy p, .product-card p, .purpose-card p {
    overflow-wrap: anywhere;
    word-break: normal !important;
  }

  .purpose-grid, .technology__grid, .technology-flow, .case-panel,
  .proof-grid, .application-list, .document-grid, .download-grid,
  .company-snapshot, .company-snapshot dl, .contact__grid,
  .form-row, .site-footer__inner, .trust-notice {
    grid-template-columns: 1fr !important;
  }

  .purpose-card {
    display: flex !important;
    flex-direction: column;
    min-height: 0;
  }
  .purpose-card__content { width: 100%; padding: 22px 20px; }
  .purpose-card__media { width: 100%; min-height: 0; height: 180px; border-left: 0; border-top: 1px solid var(--line); }
  .purpose-card__media img { width: 100%; height: 180px; min-height: 0; object-fit: cover; }

  .product-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }
  .product-card { width: 100%; min-width: 0; }

  .case-tabs { display: flex; overflow-x: auto; }
  .case-tab { flex: 0 0 auto; min-width: 96px; }
  .case-stage, .case-panel { width: 100%; max-width: 100%; }
  .compare { width: 100%; max-width: 100%; }

  .applications__gallery { grid-template-columns: 1fr !important; padding: 0; }
  .applications__photo, .applications__photo--large,
  .applications__photo:not(.applications__photo--large) {
    grid-column: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }
  .applications__photo:not(.applications__photo--large) { margin-top: 12px !important; }

  .document-card, .trust .document-card, .document-card--seunggi {
    display: flex !important;
    flex-direction: column;
    width: 100%;
  }
  .document-card img, .trust .document-card img, .document-card--seunggi img {
    width: 100%;
    height: auto;
    max-height: 240px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    object-fit: contain;
  }
  .download-card { grid-template-columns: 40px minmax(0, 1fr); }
  .download-card::after { grid-column: 1 / -1; }

  .replay-intro { display: none !important; }
  .to-top { width: 42px; height: 42px; right: 10px; bottom: 12px; }
  .lightbox { width: calc(100vw - 16px); max-width: calc(100vw - 16px); padding: 44px 8px 8px; }
}

@media (max-width: 350px) {
  .shell { width: calc(100% - 18px) !important; }
  .brand { flex-basis: 72px; width: 72px; }
  .brand__logo { width: 72px; }
  .language-switcher button { width: 25px; min-width: 25px; }
  .menu-button { flex-basis: 43px; width: 43px; height: 43px; }
  .hero h1 { font-size: 36px !important; }
  .hero__panel-grid { grid-template-columns: 1fr; }
}
