@media (max-width: 1200px) {
  .primary-nav__item { min-width: 0; flex: 1; }
  .primary-nav__item > a { padding-inline: 12px; }
  .contact-dock { right: 8px; }
  .service-grid, .editor-grid { gap: 16px; }
  .solution-layout { gap: 40px; }
}

@media (max-width: 992px) {
  .utility-bar__welcome, .brand-row__promise { display: none; }
  .brand-row { min-height: 72px; gap: 16px; }
  .brand__logo { width: 160px; max-height: 54px; }
  .brand-row__contact { margin-left: auto; }
  .brand-row__contact span { display: none; }
  .brand-row__contact strong { font-size: 17px; }
  .menu-toggle { width: 46px; height: 46px; display: grid; place-items: center; align-content: center; gap: 4px; }
  .menu-toggle__icon, .menu-toggle__icon::before, .menu-toggle__icon::after { width: 24px; height: 2px; display: block; background: var(--brand); content: ""; transition: .2s ease; }
  .menu-toggle__icon { position: relative; }
  .menu-toggle__icon::before { position: absolute; top: -7px; }
  .menu-toggle__icon::after { position: absolute; top: 7px; }
  .menu-toggle__label { font-size: 11px; color: var(--brand); }
  .menu-open .menu-toggle__icon { background: transparent; }
  .menu-open .menu-toggle__icon::before { top: 0; transform: rotate(45deg); }
  .menu-open .menu-toggle__icon::after { top: 0; transform: rotate(-45deg); }
  .primary-nav { position: fixed; inset: 108px 0 0; overflow-y: auto; visibility: hidden; opacity: 0; transform: translateX(100%); transition: .25s ease; }
  .primary-nav.is-open { visibility: visible; opacity: 1; transform: none; }
  .primary-nav .shell { width: 100%; }
  .primary-nav__list { display: block; }
  .primary-nav__item { border-bottom: 1px solid rgb(255 255 255 / 15%); }
  .primary-nav__item > a { height: 52px; justify-content: flex-start; padding-inline: 20px 56px; }
  .submenu-toggle { position: absolute; right: 5px; top: 4px; width: 44px; height: 44px; display: block; border: 0; background: transparent; cursor: pointer; }
  .submenu-toggle::before, .submenu-toggle::after { position: absolute; inset: 50% auto auto 50%; width: 14px; height: 2px; background: #fff; content: ""; transform: translate(-50%, -50%); }
  .submenu-toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
  .submenu-toggle[aria-expanded="true"]::after { transform: translate(-50%, -50%) rotate(0); }
  .mega-menu { position: static; width: auto; display: none; padding: 10px 18px 18px; border: 0; color: #fff; background: rgb(0 0 0 / 12%); box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .submenu-toggle[aria-expanded="true"] + .mega-menu { display: block; }
  .mega-menu__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mega-menu__list a { color: #eaf1f8; border-color: rgb(255 255 255 / 12%); }
  .mega-menu__list a:hover, .mega-menu__list a:focus { color: #fff; background: rgb(255 255 255 / 10%); }
  .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .site-footer__contact { grid-column: 1 / -1; }
  .contact-dock { top: auto; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(2, 1fr); transform: none; }
  .contact-dock__item { width: auto; min-height: 54px; grid-template-columns: auto auto; align-content: center; }
  .contact-dock__top { display: none; }
  .contact-dock__panel { right: 8px; top: auto; bottom: calc(100% + 8px); }
  .site-footer { margin-bottom: 54px; }
  .home-hero, .home-hero__slides, .home-hero__slide > a, .home-hero__slide img, .home-hero__empty { min-height: 390px; height: 390px; }
  .service-grid, .editor-grid, .testimonial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-card-grid, .editor-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-layout { grid-template-columns: 1fr; gap: 36px; }
  .detail-shell, .detail-shell--single { grid-template-columns: 1fr; }
  .detail-consultation { position: static; }
  .content-layout__aside { order: -1; }
  .solution-layout { grid-template-columns: 1fr; }
  .advantage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .advantage-grid article:nth-child(2) { border-right: 0; }
  .advantage-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .information-grid { gap: 28px; }
  .partner-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 576px) {
  .shell { width: min(calc(100% - 24px), var(--shell)); }
  .utility-bar__inner { justify-content: center; }
  .brand-row__contact { display: none; }
  .brand__logo { width: 145px; }
  .primary-nav { inset-block-start: 108px; }
  .mega-menu__list { grid-template-columns: 1fr; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 30px; padding-block: 42px 34px; }
  .site-footer__contact { grid-column: auto; }
  .site-footer__bottom .shell { min-height: 64px; display: grid; justify-content: start; gap: 0; padding-block: 10px; }
  .contact-dock { grid-template-columns: repeat(2, 1fr); }
  .contact-dock__item { min-height: 50px; }
  .contact-dock__icon { font-size: 17px; }
  .section { padding-block: 48px; }
  .section-heading h2 { font-size: 25px; }
  .home-hero, .home-hero__slides, .home-hero__slide > a, .home-hero__slide img, .home-hero__empty { min-height: 300px; height: 300px; }
  .home-hero__shade { background: rgb(14 44 78 / 38%); }
  .home-hero__copy { align-content: end; padding-bottom: 38px; }
  .home-hero__copy strong { font-size: 26px; }
  .home-hero__copy small { font-size: 15px; }
  .home-hero__controls { display: none; }
  .service-grid, .editor-grid, .testimonial-grid, .information-grid { grid-template-columns: 1fr; }
  .solution-list { grid-template-columns: 1fr; }
  .advantage-grid { grid-template-columns: 1fr; }
  .advantage-grid article { border-right: 0; border-bottom: 1px solid var(--line); }
  .advantage-grid article:last-child { border-bottom: 0; }
  .editor-card { display: grid; grid-template-columns: 120px 1fr; }
  .editor-card > a { height: 150px; }
  .partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-consultation__inner { min-height: 230px; display: grid; align-content: center; }
  .page-hero__inner { min-height: 156px; }
  .page-hero h1 { font-size: 28px; }
  .page-nav__inner { width: 100%; min-height: 54px; padding-inline: 12px; }
  .page-nav__link { padding: 8px 13px; }
  .theme-pagination { gap: 5px; margin-top: 28px; padding-inline: 12px; }
  .theme-pagination a, .theme-pagination__numbers a, .theme-pagination__numbers span { min-width: 34px; height: 34px; padding-inline: 8px; }
  .content-card-grid, .editor-list-grid { grid-template-columns: 1fr; }
  .content-card__media { height: 190px; }
  .article-list__item { min-height: 0; grid-template-columns: 58px 1fr; gap: 14px; }
  .article-list__item > time { align-self: start; }
  .article-list__arrow { display: none; }
  .policy-list__item { grid-template-columns: 1fr; gap: 12px; padding: 21px; }
  .policy-list__region { text-align: left; }
  .policy-list__more { justify-self: start; }
  .detail-article { padding: 28px 20px; }
  .detail-navigation { grid-template-columns: 1fr; gap: 15px; }
  .editor-profile { grid-template-columns: 1fr; gap: 22px; }
  .editor-profile__portrait { width: min(100%, 260px); height: 290px; }
  .sci-search-hero__inner { min-height: 280px; }
  .sci-search-form { grid-template-columns: 1fr; gap: 7px; background: transparent; box-shadow: none; padding: 0; }
  .sci-search-form input, .sci-search-form button { height: 48px; }
  .sci-search-form--results { border: 0; }
  .sci-search-form__row { grid-template-columns: 1fr; gap: 7px; }
  .sci-result-table { overflow-x: auto; }
  .sci-result-table__head, .sci-result-table__row { min-width: 760px; }
  .sci-detail { padding: 22px 18px; }
  .sci-detail dl { grid-template-columns: 1fr; }
  .sci-result-item { align-items: flex-start; flex-direction: column; gap: 12px; padding: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
@media (max-width:768px){.public-form-shell{grid-template-columns:1fr;gap:24px}.public-form{padding:22px}.public-form-grid{grid-template-columns:1fr}.public-form-field--wide{grid-column:auto}.public-form-copy h2{font-size:27px}}
@media (max-width: 960px) {
  .source-column-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .source-column-grid { grid-template-columns: 1fr; }
  .source-column-card { min-height: 0; }
  .source-column-card p { min-height: 0; }
}
