@media (max-width: 760px) {
  body { overflow-x: clip; }
  .product-page-nav { overflow-x: clip; }
  .detail-intro,
  .finder-heading { grid-template-columns: minmax(0, 1fr); }
  .detail-intro>div,
  .finder-heading>div { min-width: 0; }
  .detail-intro h2,
  .finder-heading h2 { font-size: clamp(2.1rem, 9.5vw, 3rem); overflow-wrap: break-word; }

  .gallery-section .gallery-grid,
  .related-grid,
  .finder-grid,
  .catalog-grid,
  .arch-project-grid-two,
  .certificates-page .cert-feature-grid,
  .certificates-page .cert-doc-grid,
  .certificates-page .cert-archive-grid,
  .export-country-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .gallery-section .gallery-grid img { height: clamp(155px, 35vw, 270px); }
  .gallery-section .gallery-grid figcaption { padding: 9px 7px; font-size: .66rem; line-height: 1.35; }
  .gallery-section .gallery-grid figure:nth-child(2) { margin-top: 0; }

  .arch-project-grid-two .arch-project-image,
  .arch-project-grid-two .arch-project:first-child .arch-project-image { height: clamp(165px, 39vw, 280px); }
  .arch-project-grid-two .arch-project-meta { padding: 15px 14px 20px 0; }
  .arch-project-grid-two .arch-project-meta h3 { font-size: clamp(1.45rem, 5vw, 2.15rem); }
  .arch-project-grid-two .arch-project-meta p { font-size: .75rem; line-height: 1.35; }

  .related-grid .system-card,
  .related-grid .system-card-content { min-height: 300px; }
  .related-grid .system-card-content { padding: 16px 13px; }
  .related-grid .system-card-content>span { font-size: .57rem; letter-spacing: .08em; }
  .related-grid .system-card h3 { font-size: clamp(1.25rem, 3.7vw, 1.6rem); line-height: 1.05; }
  .related-grid .system-card p { font-size: .73rem; line-height: 1.35; }
  .related-grid .system-card b { font-size: .7rem; }

  .finder-card:last-child { grid-column: auto; display: block; }
  .finder-card:last-child .finder-card-image,
  .finder-card-image { height: clamp(150px, 33vw, 245px); min-height: 0; }
  .finder-card-image span { left: 8px; bottom: 8px; padding: 5px 6px; font-size: .44rem; letter-spacing: .04em; }
  .finder-card-copy,
  .finder-card:last-child .finder-card-copy { display: block; padding: 16px 13px 18px; }
  .finder-card-category { font-size: .53rem; letter-spacing: .08em; }
  .finder-card h3 { font-size: clamp(1.55rem, 5vw, 2.35rem); margin: 9px 0; }
  .finder-card-copy>p { min-height: 0; font-size: .76rem; line-height: 1.4; margin-bottom: 14px; }
  .finder-card dl { grid-template-columns: 1fr; gap: 9px; padding: 12px 0; }
  .finder-card dt { font-size: .52rem; }
  .finder-card dd { font-size: .68rem; margin-top: 3px; }
  .finder-card-copy>strong { margin-top: 14px; font-size: .62rem; line-height: 1.3; }

  .catalog-card-media { height: clamp(150px, 34vw, 240px); padding: 12px; }
  .catalog-card-body { padding: 16px 13px 18px; }
  .catalog-card-type { font-size: .53rem; letter-spacing: .08em; }
  .catalog-card h3 { font-size: clamp(1.5rem, 5vw, 2.1rem); }
  .catalog-card p { font-size: .73rem; line-height: 1.4; margin-bottom: 15px; }
  .catalog-card-meta { font-size: .59rem; letter-spacing: .04em; }
  .catalog-card-actions { grid-template-columns: 1fr; }
  .catalog-card-actions a { min-height: 44px; font-size: .6rem; }

  .certificates-page .cert-card,
  .certificates-page .cert-card-primary,
  .certificates-page .cert-doc-card,
  .certificates-page .cert-archive-card { display: flex; flex-direction: column; min-width: 0; }
  .certificates-page .cert-image,
  .certificates-page .cert-doc-image { min-height: 0; height: clamp(160px, 34vw, 250px); padding: 12px; }
  .certificates-page .cert-image img,
  .certificates-page .cert-doc-image img { height: 100%; max-height: 100%; object-fit: contain; }
  .certificates-page .cert-doc-image-wide img { width: auto; height: 160px; }
  .certificates-page .cert-copy,
  .certificates-page .cert-doc-copy { padding: 16px 13px; flex: 1; }
  .certificates-page .cert-copy h3,
  .certificates-page .cert-doc-copy h3,
  .certificates-page .cert-archive-card h3 { font-size: clamp(1.4rem, 4.5vw, 2rem); margin: 10px 0; }
  .certificates-page .cert-copy p,
  .certificates-page .cert-doc-copy p,
  .certificates-page .cert-archive-card p { font-size: .72rem; line-height: 1.45; }
  .certificates-page .cert-copy dl,
  .certificates-page .cert-doc-copy dl { margin: 14px 0; }
  .certificates-page .cert-copy dl div,
  .certificates-page .cert-doc-copy dl div { display: block; font-size: .66rem; }
  .certificates-page .cert-copy dd,
  .certificates-page .cert-doc-copy dd { text-align: left; margin-top: 3px; }
  .certificates-page .cert-file-link { flex-wrap: wrap; gap: 5px; font-size: .7rem; }
  .certificates-page .cert-archive-card { gap: 0; padding: 12px; }
  .certificates-page .cert-archive-card img { height: clamp(160px, 34vw, 250px); }

  .facility-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; gap: 10px; }
  .facility-gallery-grid figure:first-child { grid-column: 1 / -1; grid-row: auto; height: clamp(250px, 55vw, 430px); }
  .facility-gallery-grid figure:not(:first-child) { height: clamp(160px, 34vw, 260px); }
  .facility-gallery-grid figcaption { left: 7px; bottom: 7px; padding: 7px 6px; font-size: .52rem; line-height: 1.2; letter-spacing: .04em; }

  .case-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; border-top: 0; }
  .case-list article { display: flex; flex-direction: column; min-width: 0; gap: 0; padding: 0; border: 1px solid var(--line); }
  .case-list .case-thumb { order: -1; align-self: auto; width: 100%; height: clamp(150px, 35vw, 245px); min-height: 0; }
  .case-list .case-thumb img { height: 100%; min-height: 0; }
  .case-list .case-thumb span { padding: 6px; font-size: .48rem; line-height: 1.2; letter-spacing: .04em; }
  .case-list .case-number { padding: 13px 12px 6px; font-size: .57rem; letter-spacing: .07em; }
  .case-list article>div:nth-child(2) { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 0 12px 16px; }
  .case-list h2 { font-size: clamp(1.4rem, 5vw, 2rem); line-height: 1.05; }
  .case-list p { font-size: .73rem; line-height: 1.4; margin-bottom: 13px; }
  .case-list .case-meta { gap: 5px; margin-top: auto; margin-bottom: 14px; }
  .case-list .case-meta span { padding: 5px 6px; font-size: .59rem; line-height: 1.25; }
  .case-list .under-link { font-size: .68rem; line-height: 1.35; }
  .case-list article:last-child:nth-child(odd) { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto 1fr; }
  .case-list article:last-child:nth-child(odd) .case-thumb { grid-column: 1; grid-row: 1 / 3; height: 100%; min-height: 245px; }
  .case-list article:last-child:nth-child(odd) .case-number { grid-column: 2; grid-row: 1; }
  .case-list article:last-child:nth-child(odd)>div:nth-child(2) { grid-column: 2; grid-row: 2; }
}

@media (max-width: 520px) {
  .section-heading h2 {
    font-size: clamp(2.7rem, 10vw, 3.3rem);
    overflow-wrap: break-word;
  }
  .product-page-nav .shell { padding-inline: 8px; }
  .product-page-nav .shell>div {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    overflow: visible;
    white-space: normal;
  }
  .product-page-nav a {
    grid-column: span 2;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 7px 3px;
    text-align: center;
    font-size: .62rem;
    line-height: 1.2;
  }
  .product-page-nav a:nth-child(n+4) { grid-column: span 3; }
  .product-hero~section[id],
  .product-hero~nav+section[id] { scroll-margin-top: 94px; }
}

@media (max-width: 390px) {
  .related-grid .system-card p { font-size: .68rem; }
  .finder-card h3 { font-size: 1.5rem; }
}
