@media (max-width: 900px) {
  body.min990 { min-width: 0; }
  .wide1190 { width: min(1190px, calc(100% - 24px)); }
  .header-top { height: auto; }
  .header-top-content { height: auto; min-height: 53px; padding: 9px 0; flex-wrap: wrap; gap: 8px 14px; }
  .login-left, .topnav { flex-wrap: wrap; gap: 8px 12px; }
  .topnav { margin-left: auto; }
  .header-nav { height: auto; }
  .header-nav-content { height: auto; min-height: 80px; flex-wrap: wrap; }
  .logo.brand-logo { width: 200px; height: 80px; flex-basis: 200px; }
  .main-nav { width: 100%; flex-basis: 100%; height: 54px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scrollbar-width: none; }
  .main-nav::-webkit-scrollbar { display: none; }
  .main-nav a { flex: 0 0 auto; min-width: auto; padding: 0 15px; }
  .trademark-banner { height: 330px; background-size: auto 330px; }
  .banner-hotspot { left: calc(50% - 80px); top: 178px; width: 160px; }
  .trademark-search-form { top: -34px; margin-bottom: -34px; }
  .search-container { margin: 22px 18px 12px; padding: 13px; }
  .search-wrapper { height: auto; display: block; }
  .type-select { width: 100%; height: 46px; }
  .type-select-button { height: 46px; width: 100%; }
  .type-options { top: 46px; }
  .search-wrapper textarea { display: block; width: 100%; height: 78px; }
  .search-btn { width: 100%; height: 48px; }
  .search-feedback { margin-left: 18px; margin-right: 18px; }
  .approx-pane { padding: 18px; }
  .condition-row { display: block; }
  .condition-row > label { display: block; }
  .name-field { display: block; }
  .name-field textarea { width: 100%; }
  .common-btn { width: calc(50% - 12px); margin: 10px 8px 0 0; }
  .condition-grid { grid-template-columns: repeat(4, 1fr); gap: 8px 10px; }
}

@media (max-width: 560px) {
  .wide1190 { width: calc(100% - 20px); }
  .header-top-content { display: block; }
  .login-left, .topnav { justify-content: flex-start; margin: 4px 0; }
  .topnav { position: relative; width: 100%; height: auto; }
  .dropdown-item { position: static; }
  .dropdown { left: 0; right: 0; top: 100%; width: auto; max-width: none; }
  .logo.brand-logo { width: 100%; flex-basis: 100%; justify-content: flex-start; padding-left: 16px; }
  .main-nav { height: 50px; }
  .main-nav a { padding: 0 13px; font-size: 14px; }
  .trademark-banner { height: 245px; background-size: auto 245px; }
  .banner-hotspot { top: 132px; }
  .trademark-search-form { top: -22px; margin-bottom: -22px; }
  .search-tabs { height: 50px; }
  .search-tabs button { font-size: 15px; }
  .search-container { margin: 14px 10px 8px; padding: 10px; }
  .approx-pane { padding: 14px 10px 18px; }
  .approx-header { height: auto; min-height: 48px; }
  .approx-header > a { float: none; display: block; margin-top: 0; }
  .approx-header h2 { line-height: 34px; }
  .condition-grid { grid-template-columns: repeat(2, 1fr); }
  .flow-section { padding: 62px 10px 60px; }
  .flow-section h2 { font-size: 24px; }
}
