@media (min-width: 600px) {
  .ym-card-grid--four { grid-template-columns: repeat(2, 1fr); }
  .ym-area-grid { grid-template-columns: repeat(4, 1fr); }
  .ym-row-card { grid-template-columns: 190px 1fr; gap: 20px; }
  .ym-row-card__body p { display: block; }
  .ym-mission__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 900px) {
  .ym-card-grid--four { grid-template-columns: repeat(4, 1fr); }
  .ym-area-grid { grid-template-columns: repeat(7, 1fr); }
  .ym-feature-grid { grid-template-columns: repeat(3, 1fr); }
  .ym-latest-ranking { grid-template-columns: minmax(0, 1fr) 330px; gap: 42px; }
}

@media (max-width: 1023px) {
  .ym-menu-toggle { display: inline-grid; }
  .ym-nav { position: fixed; inset: 73px 0 0; display: none; margin: 0; padding: 20px var(--ym-gutter) 40px; overflow-y: auto; background: rgba(255,253,250,.99); }
  .ym-nav.is-open { display: block; }
  .ym-nav__list { display: block; }
  .ym-nav__list li { border-bottom: 1px solid var(--ym-border); }
  .ym-nav__list a { min-height: 52px; display: flex; align-items: center; font-size: 16px; }
  .ym-nav__list .sub-menu { position: static; box-shadow: none; border: 0; background: transparent; }
  .ym-menu-toggle[aria-expanded="true"] .ym-menu-toggle__lines { background: transparent; }
  .ym-menu-toggle[aria-expanded="true"] .ym-menu-toggle__lines::before { top: 0; transform: rotate(45deg); }
  .ym-menu-toggle[aria-expanded="true"] .ym-menu-toggle__lines::after { top: 0; transform: rotate(-45deg); }
}

@media (max-width: 767px) {
  .ym-header__inner { min-height: 64px; }
  .ym-brand__icon { width: 38px; height: 38px; }
  .ym-brand__copy strong { font-size: 16px; }
  .ym-brand__copy small { font-size: 8px; }
  .ym-nav { top: 65px; }
  .ym-hero { min-height: 520px; align-items: flex-end; padding-block: 20px; }
  .ym-hero__panel { margin: 0 16px; }
  .ym-hero__panel h1 { font-size: 28px; }
  .ym-feature-banner { min-height: 200px; }
  .ym-section { padding-top: 52px; }
  .main { padding: 24px 16px; }
  .single .main, .page .main { box-shadow: none; }
}

@media (max-width: 390px) {
  .ym-brand__copy small { display: none; }
  .ym-header__actions { gap: 0; }
  .ym-area-card { min-height: 94px; }
  .ym-row-card { grid-template-columns: 104px 1fr; }
}
