/* Mobile SEM layout follows the GIS and Routes product landings. */
@media (max-width: 1023px) {
  .monitoring-page--sem .monitoring-shell { width:calc(100% - 48px); max-width:none; }
  .monitoring-page--sem main > section:not(.monitoring-hero),
  .monitoring-page--sem #features { margin-top:80px; }
  .monitoring-page--sem .sem-section h2,
  .monitoring-page--sem .monitoring-origin h2,
  .monitoring-page--sem .monitoring-cta h2 { font-size:32px !important; line-height:1.15 !important; margin-bottom:32px; }
  .monitoring-page--sem .sem-section h3,
  .monitoring-page--sem .monitoring-origin h3 { font-size:24px !important; line-height:1.2 !important; }
  .monitoring-page--sem .sem-section p,
  .monitoring-page--sem .sem-economic__main ul,
  .monitoring-page--sem .monitoring-cta p { font-size:16px; line-height:1.5; }
  .monitoring-page--sem #economic .sem-economic__note { font-size:14px; line-height:1.5; }

  .monitoring-page--sem .monitoring-header { top:56px; left:48px; right:48px; }
  .monitoring-page--sem .monitoring-header.is-floating { top:16px; left:40px; right:40px; }
  .monitoring-page--sem .monitoring-header__bar { min-height:54px; padding:0; background:transparent; box-shadow:none; gap:12px; }
  .monitoring-page--sem .monitoring-brand { height:54px; align-items:center; padding:0 14px; border-radius:100px; background:#fff; box-shadow:0 10px 32px #1b322a2e; }
  .monitoring-page--sem .monitoring-brand img { height:24px; width:auto; }
  .monitoring-page--sem .monitoring-menu-toggle { width:54px; height:54px; flex-shrink:0; background:#fff; box-shadow:0 10px 32px #1b322a2e; }
  .monitoring-page--sem .monitoring-nav { padding:24px; font-size:18px; max-height:calc(100svh - 120px); overflow-y:auto; }

  .monitoring-page--sem .monitoring-hero { min-height:678px; padding:132px 24px 48px; border-radius:40px; }
  .monitoring-page--sem .monitoring-hero h1 { max-width:100%; font-size:clamp(30px,4.6vw,44px); line-height:1.08; }
  .monitoring-page--sem .monitoring-hero__lead { max-width:600px; margin:28px 0 32px; font-size:18.72px; line-height:1.48; }
  .monitoring-page--sem .monitoring-button { min-height:60px; padding:18px 28px; font-size:18px; line-height:1.4; text-align:center; }
  .monitoring-page--sem .monitoring-hero > .monitoring-button { margin-top:auto; }

  .monitoring-page--sem .sem-process { padding:0; }
  .monitoring-page--sem .sem-process__steps { gap:48px; }
  .monitoring-page--sem .sem-process__step > p { margin-bottom:0; }
  .monitoring-page--sem .sem-process__step:not(:last-child)::after {
    top:calc(100% + 24px);
    bottom:auto;
    left:0;
    right:auto;
    width:24px;
    height:24px;
    font-size:24px;
    line-height:1;
    text-align:left;
  }
  .monitoring-page--sem .sem-process__number { font-size:32px; margin-bottom:16px; }
  .monitoring-page--sem .sem-process h3 { margin:0 0 12px; }

  .monitoring-page--sem .sem-features { height:auto; }
  .monitoring-page--sem .sem-features__sticky { position:static; height:auto; padding:0; min-height:0; }
  .monitoring-page--sem .sem-feature-item { margin-bottom:40px; }
  .monitoring-page--sem .sem-feature-item__button { gap:12px; align-items:baseline; margin-bottom:20px; }
  .monitoring-page--sem .sem-feature-item__number { flex-shrink:0; margin:0; font-size:14px; }
  .monitoring-page--sem .sem-feature-item h3 { min-width:0; margin:0; }
  .monitoring-page--sem .sem-feature-pane,
  .monitoring-page--sem .sem-feature-pane[data-sem-pane="2"] { width:100%; margin-inline:0; margin-bottom:20px; }
  .monitoring-page--sem .sem-feature-pane img { max-width:100%; max-height:380px; }
  .monitoring-page--sem .sem-feature-pane:is([data-sem-pane="1"],[data-sem-pane="2"]) img { max-height:560px; }
  .monitoring-page--sem .sem-zoom { width:100vw; height:100svh; max-width:none; max-height:none; padding:16px; border-radius:0; }
  .monitoring-page--sem .sem-zoom__content > img { max-width:calc(100vw - 32px); max-height:calc(100svh - 80px); }
  .monitoring-page--sem .sem-zoom__close { width:44px; height:44px; top:12px; right:12px; }

  .monitoring-page--sem .sem-reporting { padding:24px; border-radius:32px; gap:32px; }
  .monitoring-page--sem .sem-reporting #reporting-title { transform:none; }
  .monitoring-page--sem .sem-reporting__chart { width:100%; }
  .monitoring-page--sem .sem-reporting__list { padding-left:20px; gap:28px; }
  .monitoring-page--sem .sem-reporting h3 { margin-bottom:12px; }
  .monitoring-page--sem .sem-economic__side { grid-template-columns:1fr; }
  .monitoring-page--sem .sem-economic__main,
  .monitoring-page--sem .sem-economic__card { padding:24px; border-radius:24px; }
  .monitoring-page--sem .sem-economic__main h3 { font-size:26px !important; }
  .monitoring-page--sem .sem-economic__main ul { padding-left:0; }

  .monitoring-page--sem .monitoring-origin > div { padding-inline:0; }
  .monitoring-page--sem .monitoring-origin .bg-section { padding:24px !important; border-radius:32px !important; }
  .monitoring-page--sem .monitoring-origin .grid.order-2 { grid-template-columns:minmax(0,1fr); }
  .monitoring-page--sem .monitoring-origin .bg-card { min-height:180px; padding:24px; }
  .monitoring-page--sem .sem-origin-map { display:none; }
  .monitoring-page--sem #russian-development h2 + div[class~="min-h-[120px]"] { display:none; }
  .monitoring-page--sem .monitoring-cta { flex-direction:column; align-items:flex-start; gap:24px; }
  .monitoring-page--sem .monitoring-footer { padding-top:80px; padding-bottom:32px; }
  .monitoring-page--sem .monitoring-footer__top { grid-template-columns:1fr; gap:32px; }
  .monitoring-page--sem .monitoring-footer__column { font-size:17px; }
  .monitoring-page--sem .monitoring-footer h2 { font-size:21px; }
  .monitoring-page--sem .monitoring-scroll-top { right:32px; bottom:32px; width:52px; height:52px; font-size:24px; }
}

@media (max-width: 767px) {
  .monitoring-page--sem .monitoring-shell { width:calc(100% - 32px); }
  .monitoring-page--sem .monitoring-header,
  .monitoring-page--sem .monitoring-header.is-floating { left:32px; right:32px; }
  .monitoring-page--sem .monitoring-hero { padding:156px 20px 48px; border-radius:32px; }
  .monitoring-page--sem .monitoring-hero h1 { font-size:clamp(28px,8vw,37px); }
  .monitoring-page--sem .monitoring-button { width:100%; }
  .monitoring-page--sem .sem-section h2,
  .monitoring-page--sem .monitoring-origin h2,
  .monitoring-page--sem .monitoring-cta h2 { font-size:28px !important; }
  .monitoring-page--sem .monitoring-origin .bg-section { padding:20px !important; }
  .monitoring-page--sem .monitoring-origin .bg-card { padding:20px; }
  .monitoring-page--sem .monitoring-footer__legal { flex-direction:column; font-size:13px; }
}
