/* v12: centered red-and-green portal brand without a current-section locator. */
.portal-mobile-home-label {
  display: none;
}



@media (max-width: 760px) {
  html body.portal-with-sidebar {
    padding-top: var(--mobile-editorial-header, 72px) !important;
  }

  html body.portal-dashboard-home .support-home-shell {
    padding-top: var(--mobile-editorial-header, 72px) !important;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 1000 !important;
    width: 100% !important;
    max-width: none !important;
    height: var(--mobile-editorial-header, 72px) !important;
    min-height: var(--mobile-editorial-header, 72px) !important;
    overflow: visible !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--mobile-editorial-line, #d8e1e7) !important;
    background: #ffffff !important;
  }

  html body.portal-dashboard-home .support-topbar,
  html body.portal-with-sidebar .portal-shared-topbar {
    position: fixed !important;
    inset: 0 8px auto auto !important;
    z-index: 1005 !important;
    display: flex !important;
    box-sizing: border-box !important;
    width: 148px !important;
    min-width: 148px !important;
    height: var(--mobile-editorial-header, 72px) !important;
    min-height: var(--mobile-editorial-header, 72px) !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body.portal-dashboard-home .support-topbar-actions,
  html body.portal-with-sidebar .portal-shared-topbar .support-topbar-actions {
    display: flex !important;
    box-sizing: border-box !important;
    width: 148px !important;
    min-width: 148px !important;
    height: 44px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  html body.portal-dashboard-home .portal-mobile-home-label {
    position: absolute;
    top: 50%;
    right: 160px;
    left: 70px;
    z-index: 1002;
    display: grid;
    min-width: 0;
    gap: 2px;
    color: #0d1d3a;
    text-decoration: none;
    transform: translateY(-50%);
    -webkit-tap-highlight-color: transparent;
  }

  html body.portal-dashboard-home .portal-mobile-home-label strong {
    display: block;
    min-width: 0;
    overflow: hidden;
    font: 700 12px/1.05 Manrope, Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
    letter-spacing: -.035em;
    text-overflow: clip;
    white-space: nowrap;
  }

  html body.portal-dashboard-home .portal-mobile-home-label strong span {
    display: inline;
  }

  html body.portal-dashboard-home .portal-mobile-home-label small {
    color: #14804a;
    font: 800 8px/1.1 Manrope, Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  body.portal-mobile-menu-open .portal-mobile-home-label {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }

  html body.portal-dashboard-home .portal-variant-profile-stack,
  html body.portal-with-sidebar .portal-variant-profile-stack,
  html body.portal-dashboard-home .portal-account-profile-placeholder,
  html body.portal-with-sidebar .portal-account-profile-placeholder {
    box-sizing: border-box !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    flex: 0 0 44px !important;
  }

  html body.portal-dashboard-home .portal-account-home-link {
    display: block !important;
    box-sizing: border-box !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent url("/assets/ui/mobile-profile-button-v1.png?v=2") center / 56px 56px no-repeat !important;
    box-shadow: none !important;
    font-size: 0 !important;
  }

  html body.portal-dashboard-home .portal-search-trigger,
  html body.portal-with-sidebar .portal-search-trigger,
  html body.portal-dashboard-home .portal-theme-cycle,
  html body.portal-with-sidebar .portal-theme-cycle,
  html body.portal-dashboard-home .support-topbar .dashboard-login-trigger.portal-unified-login,
  html body.portal-with-sidebar .portal-shared-topbar .dashboard-login-trigger.portal-unified-login {
    display: grid !important;
    box-sizing: border-box !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    flex: 0 0 44px !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
  }

  html body.portal-dashboard-home .portal-search-trigger,
  html body.portal-with-sidebar .portal-search-trigger {
    border: 1px solid #b7c5ce !important;
    color: #102642 !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 7px 20px rgba(20, 35, 45, .13) !important;
  }

  html body.portal-dashboard-home .portal-search-trigger svg,
  html body.portal-with-sidebar .portal-search-trigger svg {
    width: 22px !important;
    height: 22px !important;
  }

  /* Give the branded drawer lockup more presence without changing the
     compact closed header or the navigation-row geometry below it. */
  html body.portal-dashboard-home .portal-mobile-nav-head,
  html body.portal-with-sidebar .portal-mobile-nav-head {
    min-height: 134px !important;
    margin-bottom: 14px !important;
  }

  html body.portal-dashboard-home
    .support-nav .portal-mobile-nav-head > a,
  html body.portal-with-sidebar
    .support-nav .portal-mobile-nav-head > a {
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 16px !important;
    min-height: 116px !important;
  }

  /* Static internal routes have older high-specificity navigation rules. Keep
     their enlarged 68px planet in a matching 68px grid track so the text can
     never overlap it, and reset the inherited icon-span sizing. */
  html body.portal-with-sidebar
    > aside.portal-shared-sidebar.support-sidebar
    .support-nav .portal-mobile-nav-head > a {
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 16px !important;
    transform: none !important;
  }

  html body.portal-with-sidebar
    > aside.portal-shared-sidebar.support-sidebar
    .support-nav .portal-mobile-nav-head > a > span {
    display: grid !important;
    grid-column: 2 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    place-items: initial !important;
    gap: 3px !important;
  }

  html body.portal-dashboard-home .portal-mobile-nav-head > a img,
  html body.portal-with-sidebar .portal-mobile-nav-head > a img {
    width: 68px !important;
    height: 98px !important;
  }

  html body.portal-dashboard-home .portal-mobile-nav-head > a strong,
  html body.portal-with-sidebar .portal-mobile-nav-head > a strong {
    font-size: 26px !important;
    line-height: .96 !important;
    letter-spacing: -.035em !important;
  }

  html body.portal-dashboard-home .portal-mobile-nav-head > a small,
  html body.portal-with-sidebar .portal-mobile-nav-head > a small {
    justify-self: start !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    text-align: left !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home
    .support-home-shell > aside.support-sidebar,
  html[data-theme="dark"] body.portal-with-sidebar
    > aside.portal-shared-sidebar.support-sidebar {
    border-bottom-color: #28333e !important;
    background: #0e1217 !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .portal-search-trigger,
  html[data-theme="dark"] body.portal-with-sidebar .portal-search-trigger {
    color: #f4f7f5 !important;
    border-color: #54626d !important;
    background: rgba(24, 31, 38, .98) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .28) !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .portal-mobile-home-label {
    color: #f4f7f5;
  }

  html[data-theme="dark"] body.portal-dashboard-home .portal-mobile-home-label small {
    color: #72d39e;
  }

  body.portal-mobile-menu-open .support-topbar,
  body.portal-mobile-menu-open .portal-shared-topbar {
    z-index: 980 !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

@media (max-width: 359px) {
  html body.portal-dashboard-home .portal-mobile-home-label {
    right: 158px;
    left: 66px;
  }

  html body.portal-dashboard-home .portal-mobile-home-label strong {
    display: grid;
    gap: 1px;
    font-size: 10.5px;
    line-height: 1;
    white-space: normal;
  }

  html body.portal-dashboard-home .portal-mobile-home-label strong span {
    display: block;
    white-space: nowrap;
  }

  html body.portal-dashboard-home .portal-mobile-home-label small {
    font-size: 7px;
  }
}

/* v12: the closed portrait-iPad header follows the current phone header:
   the full branded lockup and three equal icon-only actions. The branded
   lockup inside the open drawer remains unchanged. */
@media (min-width: 700px) and (max-width: 1180px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    display: grid !important;
  }

  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label {
    position: absolute !important;
    top: 50% !important;
    right: clamp(252px, 26vw, 294px) !important;
    left: clamp(100px, 10vw, 120px) !important;
    z-index: 1002 !important;
    display: none !important;
    min-width: 0 !important;
    place-items: center !important;
    color: #14804a !important;
    text-decoration: none !important;
    transform: translateY(-50%) !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    font: 500 clamp(23px, 2.45vw, 27px)/1.02 "DCP Manrope", Manrope, Arial, sans-serif !important;
    letter-spacing: -.045em !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong span,
  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong b {
    display: inline !important;
  }

  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong b {
    color: #d63b35 !important;
    font: inherit !important;
  }

  html body.portal-dashboard-home .support-topbar,
  html body.portal-with-sidebar .portal-shared-topbar,
  html body.portal-dashboard-home .support-topbar-actions,
  html body.portal-with-sidebar .portal-shared-topbar .support-topbar-actions {
    width: clamp(216px, 24vw, 252px) !important;
    min-width: clamp(216px, 24vw, 252px) !important;
  }

  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-variant-profile-stack {
    width: clamp(64px, 7.2vw, 76px) !important;
    min-width: clamp(64px, 7.2vw, 76px) !important;
    max-width: clamp(64px, 7.2vw, 76px) !important;
    height: clamp(64px, 7.2vw, 76px) !important;
    min-height: clamp(64px, 7.2vw, 76px) !important;
    max-height: clamp(64px, 7.2vw, 76px) !important;
    flex: 0 0 clamp(64px, 7.2vw, 76px) !important;
  }

  html body.portal-dashboard-home .support-topbar .portal-unified-login.dashboard-login-trigger.portal-unified-login,
  html body.portal-with-sidebar .portal-shared-topbar .portal-unified-login.dashboard-login-trigger.portal-unified-login {
    display: grid !important;
    width: clamp(64px, 7.2vw, 76px) !important;
    min-width: clamp(64px, 7.2vw, 76px) !important;
    max-width: clamp(64px, 7.2vw, 76px) !important;
    height: clamp(64px, 7.2vw, 76px) !important;
    min-height: clamp(64px, 7.2vw, 76px) !important;
    max-height: clamp(64px, 7.2vw, 76px) !important;
    flex: 0 0 clamp(64px, 7.2vw, 76px) !important;
    place-items: center !important;
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #b7c5ce !important;
    border-radius: 50% !important;
    color: #102642 !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 7px 20px rgba(20, 35, 45, .13) !important;
  }

  html body.portal-dashboard-home .support-topbar .portal-unified-login.dashboard-login-trigger strong,
  html body.portal-with-sidebar .portal-shared-topbar .portal-unified-login.dashboard-login-trigger strong,
  html body.portal-dashboard-home .support-topbar .portal-unified-login.dashboard-login-trigger::before,
  html body.portal-with-sidebar .portal-shared-topbar .portal-unified-login.dashboard-login-trigger::before,
  html body.portal-dashboard-home .support-topbar .portal-unified-login .dashboard-login-arrow-wrapper,
  html body.portal-with-sidebar .portal-shared-topbar .portal-unified-login .dashboard-login-arrow-wrapper {
    display: none !important;
    content: none !important;
  }

  html body.portal-dashboard-home .support-topbar .portal-unified-login.dashboard-login-trigger .dashboard-login-field-icon,
  html body.portal-with-sidebar .portal-shared-topbar .portal-unified-login.dashboard-login-trigger .dashboard-login-field-icon {
    display: block !important;
    transform: none !important;
  }

  html body.portal-dashboard-home .support-topbar .portal-theme-cycle .portal-theme-cycle-icon,
  html body.portal-with-sidebar .portal-shared-topbar .portal-theme-cycle .portal-theme-cycle-icon {
    width: clamp(28px, 3.2vw, 34px) !important;
    height: clamp(28px, 3.2vw, 34px) !important;
    place-items: center !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home:not(.portal-mobile-menu-open) .support-home-shell > aside.support-sidebar,
  html[data-theme="dark"] body.portal-with-sidebar:not(.portal-mobile-menu-open) > aside.portal-shared-sidebar.support-sidebar {
    border-bottom-color: #28333e !important;
    background: #0e1217 !important;
  }

  html[data-theme="dark"] body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label {
    color: #72d39e !important;
  }

  html[data-theme="dark"] body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong b {
    color: #ff7772 !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-topbar .portal-unified-login.dashboard-login-trigger.portal-unified-login,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-topbar .portal-unified-login.dashboard-login-trigger.portal-unified-login {
    color: #f4f7f5 !important;
    border-color: #54626d !important;
    background: rgba(24, 31, 38, .98) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .28) !important;
  }

  body.portal-mobile-menu-open .portal-mobile-home-label {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* v13: a landscape iPhone is wider than the portrait-phone breakpoint but is
   still a short touch viewport. Keep the unified header in one opaque row,
   contain the full brand lockup and restore all three action circles. */
@media (min-width: 600px) and (max-width: 960px) and (max-height: 500px) and (orientation: landscape) and (hover: none) and (pointer: coarse) {
  :root {
    --mobile-editorial-header: 64px;
  }

  html body.portal-with-sidebar {
    padding-top: var(--mobile-editorial-header) !important;
  }

  html body.portal-dashboard-home .support-home-shell {
    padding-top: var(--mobile-editorial-header) !important;
  }

  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label {
    display: none !important;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 1000 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: var(--mobile-editorial-header) !important;
    min-height: var(--mobile-editorial-header) !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-bottom: 1px solid var(--mobile-editorial-line, #d8e1e7) !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  html body.portal-dashboard-home .portal-mobile-menu-toggle,
  html body.portal-with-sidebar .portal-mobile-menu-toggle {
    top: 10px !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    transform: none !important;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    position: absolute !important;
    top: 4px !important;
    left: 50% !important;
    display: grid !important;
    box-sizing: border-box !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    transform: translateX(-50%) !important;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > .support-brand > img,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand > img {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    object-fit: contain !important;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > .support-brand > span,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand > span {
    display: grid !important;
    min-width: 0 !important;
    align-content: center !important;
    gap: 2px !important;
    padding: 0 !important;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > .support-brand strong,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand strong {
    margin: 0 !important;
    font-size: 15.5px !important;
    line-height: .93 !important;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > .support-brand small,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand small {
    margin: 0 !important;
    font-size: 8.5px !important;
    line-height: 1.05 !important;
  }

  html body.portal-dashboard-home .support-topbar,
  html body.portal-with-sidebar .portal-shared-topbar {
    position: fixed !important;
    inset: 0 max(8px, env(safe-area-inset-right)) auto auto !important;
    z-index: 1005 !important;
    display: flex !important;
    box-sizing: border-box !important;
    width: 148px !important;
    min-width: 148px !important;
    max-width: 148px !important;
    height: var(--mobile-editorial-header) !important;
    min-height: var(--mobile-editorial-header) !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body.portal-dashboard-home .support-topbar-actions,
  html body.portal-with-sidebar .portal-shared-topbar .support-topbar-actions {
    display: flex !important;
    box-sizing: border-box !important;
    width: 148px !important;
    min-width: 148px !important;
    height: 44px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  html body.portal-dashboard-home .portal-variant-profile-stack,
  html body.portal-with-sidebar .portal-variant-profile-stack {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    flex: 0 0 44px !important;
  }

  html body.portal-dashboard-home .support-topbar
    .portal-variant-profile-stack:has(> .portal-unified-login),
  html body.portal-with-sidebar .portal-shared-topbar
    .portal-variant-profile-stack:has(> .portal-unified-login),
  html body.portal-dashboard-home .support-topbar
    .portal-unified-login.dashboard-login-trigger[aria-label],
  html body.portal-with-sidebar .portal-shared-topbar
    .portal-unified-login.dashboard-login-trigger[aria-label] {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    flex-basis: 44px !important;
  }

  html body.portal-dashboard-home .portal-search-trigger,
  html body.portal-with-sidebar .portal-search-trigger,
  html body.portal-dashboard-home .portal-theme-cycle,
  html body.portal-with-sidebar .portal-theme-cycle,
  html body.portal-dashboard-home .support-topbar .portal-unified-login.dashboard-login-trigger,
  html body.portal-with-sidebar .portal-shared-topbar .portal-unified-login.dashboard-login-trigger {
    display: grid !important;
    box-sizing: border-box !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    flex: 0 0 44px !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #b7c5ce !important;
    border-radius: 50% !important;
    color: #102642 !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 7px 20px rgba(20, 35, 45, .13) !important;
  }

  html body.portal-dashboard-home .support-topbar .portal-unified-login.dashboard-login-trigger strong,
  html body.portal-with-sidebar .portal-shared-topbar .portal-unified-login.dashboard-login-trigger strong,
  html body.portal-dashboard-home .support-topbar .portal-unified-login.dashboard-login-trigger::before,
  html body.portal-with-sidebar .portal-shared-topbar .portal-unified-login.dashboard-login-trigger::before,
  html body.portal-dashboard-home .support-topbar .portal-unified-login .dashboard-login-arrow-wrapper,
  html body.portal-with-sidebar .portal-shared-topbar .portal-unified-login .dashboard-login-arrow-wrapper {
    display: none !important;
    content: none !important;
  }

  html body.portal-dashboard-home .support-topbar .portal-unified-login.dashboard-login-trigger .dashboard-login-field-icon,
  html body.portal-with-sidebar .portal-shared-topbar .portal-unified-login.dashboard-login-trigger .dashboard-login-field-icon {
    display: block !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-home-shell > aside.support-sidebar,
  html[data-theme="dark"] body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar {
    border-bottom-color: #28333e !important;
    background: #0e1217 !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .portal-search-trigger,
  html[data-theme="dark"] body.portal-with-sidebar .portal-search-trigger,
  html[data-theme="dark"] body.portal-dashboard-home .portal-theme-cycle,
  html[data-theme="dark"] body.portal-with-sidebar .portal-theme-cycle,
  html[data-theme="dark"] body.portal-dashboard-home .support-topbar .portal-unified-login.dashboard-login-trigger,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-topbar .portal-unified-login.dashboard-login-trigger {
    color: #f4f7f5 !important;
    border-color: #54626d !important;
    background: rgba(24, 31, 38, .98) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .28) !important;
  }

  body.portal-mobile-menu-open .support-topbar,
  body.portal-mobile-menu-open .portal-shared-topbar {
    z-index: 980 !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* v9: one centered brand-colored home link in every standard mobile portal
   header, without a route-specific second line. */
@media (max-width: 760px) {
  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label {
    position: absolute;
    top: 50%;
    right: 157px;
    left: 66px;
    z-index: 1002;
    display: block;
    min-width: 0;
    color: #14804a;
    text-decoration: none;
    transform: translateY(-50%);
    -webkit-tap-highlight-color: transparent;
  }

  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong {
    display: block;
    min-width: 0;
    overflow: hidden;
    font: 500 15px/1.02 Manrope, Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
    letter-spacing: -.045em;
    text-overflow: clip;
    white-space: nowrap;
  }

  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong span,
  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong b {
    display: inline;
  }

  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong b {
    color: #d63b35;
    font: inherit;
  }

  html[data-theme="dark"] body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label {
    color: #72d39e;
  }

  html[data-theme="dark"] body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong b {
    color: #ff7772;
  }

}

/* v13 wide-landscape bridge: at 901-960px the legacy landscape-tablet rail
   has higher selector specificity. Collapse that rail back into the same
   one-row phone header without changing genuine iPad landscape layouts. */
@media (min-width: 901px) and (max-width: 960px) and (max-height: 500px) and (orientation: landscape) and (hover: none) and (pointer: coarse) {
  html#top[data-site-variant] body.portal-dashboard-home .support-home-shell {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: none !important;
    padding-top: var(--mobile-editorial-header) !important;
    padding-left: 0 !important;
  }

  html#top[data-site-variant] body.portal-dashboard-home .support-home-shell > aside.support-sidebar {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    display: flex !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: var(--mobile-editorial-header) !important;
    min-height: var(--mobile-editorial-header) !important;
    max-height: var(--mobile-editorial-header) !important;
    grid-template-rows: none !important;
    gap: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
}

/* v14: the open landscape-phone drawer has its own brand lockup. Undo the
   generic 28px navigation-icon box on its copy and hide the compact closed
   header lockup behind the drawer. */
@media (min-width: 600px) and (max-width: 960px) and (max-height: 500px) and (orientation: landscape) and (hover: none) and (pointer: coarse) {
  body.portal-mobile-menu-open.portal-dashboard-home
    .support-nav .portal-mobile-nav-head > a > span,
  body.portal-mobile-menu-open.portal-with-sidebar
    .support-nav .portal-mobile-nav-head > a > span {
    display: grid !important;
    grid-column: 2 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-self: center !important;
    place-items: initial !important;
    gap: 3px !important;
  }

  body.portal-mobile-menu-open.portal-dashboard-home
    .support-home-shell > aside.support-sidebar > .support-brand,
  body.portal-mobile-menu-open.portal-with-sidebar
    > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* v15: landscape phones use the live profile SVG. The legacy 256px PNG was
   still entering the same 44px grid cell and exposed its green lower ring. */
@media (min-width: 600px) and (max-width: 960px) and (max-height: 500px) and (orientation: landscape) and (hover: none) and (pointer: coarse) {
  html body.portal-dashboard-home .support-topbar
    .portal-unified-login.dashboard-login-trigger,
  html body.portal-with-sidebar .portal-shared-topbar
    .portal-unified-login.dashboard-login-trigger {
    grid-template-columns: 1fr !important;
    grid-template-rows: 1fr !important;
    gap: 0 !important;
  }

  html body.portal-dashboard-home .support-topbar
    .portal-unified-login.dashboard-login-trigger .portal-mobile-profile-image,
  html body.portal-with-sidebar .portal-shared-topbar
    .portal-unified-login.dashboard-login-trigger .portal-mobile-profile-image {
    display: none !important;
  }

  html body.portal-dashboard-home .support-topbar
    .portal-unified-login.dashboard-login-trigger .dashboard-login-field-icon,
  html body.portal-with-sidebar .portal-shared-topbar
    .portal-unified-login.dashboard-login-trigger .dashboard-login-field-icon {
    grid-area: 1 / 1 !important;
    place-self: center !important;
    margin: 0 !important;
  }
}

@media (min-width: 380px) and (max-width: 399px) {
  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong {
    font-size: 14px;
  }
}

@media (min-width: 360px) and (max-width: 379px) {
  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong {
    display: grid;
    gap: 1px;
    font-size: 13.5px;
    line-height: 1;
    white-space: normal;
  }

  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong span {
    display: block;
    white-space: nowrap;
  }
}

@media (max-width: 359px) {
  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label {
    right: 157px;
    left: 64px;
  }

  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong {
    display: grid;
    gap: 1px;
    font-size: 12.5px;
    line-height: 1;
    white-space: normal;
  }

  html body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-mobile-home-label strong span {
    display: block;
    white-space: nowrap;
  }

}
/* v18: restore the established shared mobile/header contract after the
   production stylesheet rollback. Kept in the final mobile layer so both
   Next.js and static editorial routes receive the same lockup and controls. */
/* v613: extend the same near-white lilac shell to responsive mobile headers
   and the complete slide-out navigation panel without changing dark mode. */
@media (max-width: 900px),
  (max-width: 1400px) and (min-height: 820px) and (orientation: portrait),
  (max-width: 1400px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  html:not([data-theme="dark"]) body.portal-dashboard-home
    .support-home-shell
    > aside.support-sidebar,
  html:not([data-theme="dark"]) body.portal-with-sidebar
    > aside.portal-shared-sidebar.support-sidebar,
  html:not([data-theme="dark"]) body.portal-dashboard-home .support-topbar,
  html:not([data-theme="dark"]) body.portal-with-sidebar .portal-shared-topbar {
    border-bottom-color: #f1edf5 !important;
    background: #fcfbfe !important;
  }

  html:not([data-theme="dark"]) body.portal-dashboard-home
    .support-sidebar
    > .support-nav,
  html:not([data-theme="dark"]) body.portal-with-sidebar
    > aside.portal-shared-sidebar.support-sidebar
    > .support-nav,
  html:not([data-theme="dark"]) body.portal-dashboard-home .portal-mobile-nav-head,
  html:not([data-theme="dark"]) body.portal-with-sidebar .portal-mobile-nav-head {
    background: #fcfbfe !important;
  }
}

/* v614: the phone header starts with a generous brand lockup, then follows
   the user's scroll direction as one surface. Downward travel progressively
   shrinks the logo and moves the complete row away; upward travel reverses it. */
@media (max-width: 699px) {
  :root {
    --mobile-editorial-header: 92px;
    --mobile-header-progress: 0;
  }

  html.portal-mobile-header-motion body.portal-dashboard-home
    .support-home-shell > aside.support-sidebar,
  html.portal-mobile-header-motion body.portal-with-sidebar
    > aside.portal-shared-sidebar.support-sidebar,
  html.portal-mobile-header-motion body.portal-dashboard-home .support-topbar,
  html.portal-mobile-header-motion body.portal-with-sidebar .portal-shared-topbar {
    transform: translate3d(0, calc(var(--mobile-header-progress) * -100%), 0) !important;
    opacity: calc(1 - var(--mobile-header-progress) * .16);
    transition: none !important;
    will-change: transform, opacity;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar,
  html body.portal-dashboard-home .support-topbar,
  html body.portal-with-sidebar .portal-shared-topbar {
    height: var(--mobile-editorial-header) !important;
    min-height: var(--mobile-editorial-header) !important;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    display: grid !important;
    width: min(184px, calc(100vw - 206px)) !important;
    grid-template-columns: clamp(42px, 11.5vw, 52px) minmax(0, 1fr) !important;
    gap: clamp(7px, 2vw, 10px) !important;
    opacity: calc(1 - var(--mobile-header-progress) * .82);
    transform: translate(-50%, -50%) scale(calc(1 - var(--mobile-header-progress) * .34)) !important;
    transform-origin: center !important;
    will-change: transform, opacity;
  }

  html body.portal-dashboard-home .portal-mobile-home-label,
  html body.portal-with-sidebar .portal-mobile-home-label {
    display: none !important;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > .support-brand > img,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand > img {
    width: clamp(42px, 11.5vw, 52px) !important;
    height: clamp(64px, 17.5vw, 76px) !important;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > .support-brand strong,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand strong {
    font-size: clamp(17px, 4.8vw, 21px) !important;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > .support-brand small,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand small {
    font-size: clamp(8px, 2.35vw, 10px) !important;
  }

  html body.portal-dashboard-home .portal-mobile-menu-toggle,
  html body.portal-with-sidebar .portal-mobile-menu-toggle {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  html body.portal-dashboard-home .support-topbar-actions,
  html body.portal-with-sidebar .portal-shared-topbar .support-topbar-actions {
    height: 100% !important;
  }
}

/* v22: one three-line gradient wordmark and one compact tagline rhythm across
   shared headers, sidebars, drawers, footers and authentication surfaces. */
html body .support-brand-title.support-brand-title {
  display: block !important;
  margin: 0 !important;
  line-height: .94 !important;
  white-space: nowrap !important;
}

html body .support-brand-title.support-brand-title > .support-brand-title-word {
  display: inline-flex !important;
  align-items: baseline !important;
  width: auto !important;
  min-width: 0 !important;
  gap: 0 !important;
  white-space: nowrap !important;
}

html body .support-brand-title.support-brand-title > br {
  display: block !important;
  content: "" !important;
}

html body .support-brand-title.support-brand-title .support-brand-title-gradient {
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  color: #24835b;
  background-repeat: no-repeat !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

:where(
  .support-brand,
  .portal-mobile-nav-head > a,
  .home-v2-brand,
  .dashboard-login-brand,
  .home-v2-editorial-footer-identity > a,
  .neo-footer-brand > a
) > span {
  display: grid !important;
  align-content: center !important;
  row-gap: 2px !important;
}

:where(
  .support-brand,
  .portal-mobile-nav-head > a,
  .portal-mobile-home-label,
  .home-v2-brand,
  .dashboard-login-brand,
  .home-v2-editorial-footer-identity > a,
  .editorial-footer-brand,
  .neo-footer-brand > a
) .support-brand-title + small {
  display: block !important;
  margin-top: 1px !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}

.editorial-footer-brand {
  row-gap: 2px !important;
}

.editorial-footer-brand > .support-brand-title,
.editorial-footer-brand > small {
  margin-top: 0 !important;
}

/* v652: the menu control uses the same native circle, border and shadow as
   the search and theme controls instead of a separately rendered PNG shell. */
@media (max-width: 760px) {
  html body.portal-dashboard-home .portal-mobile-menu-toggle,
  html body.portal-with-sidebar .portal-mobile-menu-toggle {
    border: 1px solid #b7c5ce !important;
    color: #102642 !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 7px 20px rgba(20, 35, 45, 0.13) !important;
    transition: color 180ms ease, background-color 180ms ease,
      border-color 180ms ease, box-shadow 180ms ease !important;
  }

  html body.portal-dashboard-home
    .portal-mobile-menu-toggle .portal-mobile-control-image,
  html body.portal-with-sidebar
    .portal-mobile-menu-toggle .portal-mobile-control-image {
    display: none !important;
  }

  html body.portal-dashboard-home .portal-mobile-menu-toggle::before,
  html body.portal-with-sidebar .portal-mobile-menu-toggle::before {
    content: "";
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    box-shadow: 0 -7px 0 currentColor, 0 7px 0 currentColor;
  }

  html[data-theme="dark"] body.portal-dashboard-home .portal-mobile-menu-toggle,
  html[data-theme="dark"] body.portal-with-sidebar .portal-mobile-menu-toggle {
    border-color: #54626d !important;
    color: #f4f7f5 !important;
    background: rgba(24, 31, 38, 0.98) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28) !important;
  }
}

@media (max-width: 699px) and (prefers-reduced-motion: reduce) {
  html.portal-mobile-header-motion body.portal-dashboard-home
    .support-home-shell > aside.support-sidebar,
  html.portal-mobile-header-motion body.portal-with-sidebar
    > aside.portal-shared-sidebar.support-sidebar,
  html.portal-mobile-header-motion body.portal-dashboard-home .support-topbar,
  html.portal-mobile-header-motion body.portal-with-sidebar .portal-shared-topbar,
  html body.portal-dashboard-home aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    transition: none !important;
  }
}

@media (max-width: 699px) {
  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    top: 50% !important;
    left: calc(50% - 50px) !important;
  }
}

/* v650: center the visible compact-header lockup in the actual free space
   between the menu control and the first topbar control. Its previous fixed
   width included an empty text track, shifting the artwork visibly left. */
@media (max-width: 699px) {
  html body.portal-dashboard-home
    .support-home-shell > aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar
    > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    left: calc(50% - 52px) !important;
    width: max-content !important;
    max-width: none !important;
    grid-template-columns: clamp(42px, 11.5vw, 52px) max-content !important;
    opacity: 1 !important;
    transform: translate(-50%, -50%) !important;
    transform-origin: center !important;
    will-change: auto !important;
  }
}

@media (max-width: 340px) {
  html body.portal-dashboard-home
    .support-home-shell > aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar
    > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    transform: translate(-50%, -50%) scale(0.9) !important;
  }
}

/* v618: the introductory knowledge and podcast copy use the same mobile
   typography as the center and the following homepage sections. */
@media (max-width: 760px) {
  html body.portal-dashboard-home
    .dev1-home-editorial-sections > #dev1-home-podcasts
    .home-v2-editorial-podcast-copy > p,
  html body.portal-dashboard-home
    .dev1-home-editorial-sections > #dev1-home-knowledge
    .home-v2-editorial-hero-copy > p {
    font-family: var(--dcp-site-font) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
  }
}

/* v619: echo the approved center-card wordmark in the compact header and
   mobile drawer by coloring only the Д, Ц and П initials red. */
.support-brand .support-brand-initial,
.portal-mobile-nav-head .support-brand-initial {
  color: var(--support-brand-red, #d63b35) !important;
  font: inherit;
}

/* v620: match the green tonal depth of the approved logo wordmark while
   keeping the Д, Ц and П initials in the established brand red. */
@media (max-width: 760px) {
  .support-brand strong,
  .portal-mobile-nav-head strong {
    color: #16894f !important;
    background: linear-gradient(180deg, #2aa866 0%, #16894f 52%, #0b7048 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .support-brand .support-brand-initial,
  .portal-mobile-nav-head .support-brand-initial {
    background: none;
    color: var(--support-brand-red, #d63b35) !important;
    -webkit-text-fill-color: var(--support-brand-red, #d63b35);
  }
}

/* v622: extend the approved mobile wordmark treatment to the desktop
   sidebar without changing its dimensions or typography. */
@media (min-width: 761px) {
  .support-brand strong {
    color: #16894f !important;
    background: linear-gradient(180deg, #2aa866 0%, #16894f 52%, #0b7048 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .support-brand .support-brand-initial {
    background: none;
    color: var(--support-brand-red, #d63b35) !important;
    -webkit-text-fill-color: var(--support-brand-red, #d63b35);
  }
}

/* v623: the desktop rehabilitation-center navigation copy follows the same
   typography as every standard sidebar item. */
@media (min-width: 901px) {
  body.portal-dashboard-home .support-sidebar .support-nav-center-link,
  body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar .support-nav-center-link {
    height: auto !important;
    min-height: 66px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  body.portal-dashboard-home .support-sidebar .support-nav-center-link .support-nav-label > strong,
  body.portal-dashboard-home .support-sidebar .support-nav-center-link .support-nav-label > small,
  body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar .support-nav-center-link .support-nav-label > strong,
  body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar .support-nav-center-link .support-nav-label > small {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: 1.2 !important;
    letter-spacing: inherit !important;
  }

  body.portal-dashboard-home .support-sidebar .support-nav-center-link .support-nav-label > small,
  body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar .support-nav-center-link .support-nav-label > small {
    font-size: 14px !important;
    white-space: nowrap !important;
  }
}

/* v626: apply the established header wordmark colors to footer logos on the
   Next.js and mirrored static page families. */
.editorial-footer-brand strong,
.neo-footer-brand strong,
.dashboard-login-brand strong {
  color: #16894f !important;
  background: linear-gradient(180deg, #2aa866 0%, #16894f 52%, #0b7048 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.editorial-footer-brand .editorial-footer-brand-initial,
.neo-footer-brand .neo-footer-brand-initial,
.dashboard-login-brand .dashboard-login-brand-initial {
  background: none;
  color: var(--support-brand-red, #d63b35) !important;
  font: inherit;
  -webkit-text-fill-color: var(--support-brand-red, #d63b35);
}

/* v629: align the desktop center label with the common navigation text axis. */
@media (min-width: 1401px) {
  body.portal-dashboard-home .support-sidebar .support-nav-center-link .support-nav-label,
  body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar .support-nav-center-link .support-nav-label {
    width: calc(100% - 2px);
    transform: translateX(11px);
  }

  body.portal-dashboard-home .support-sidebar .support-nav-center-link .support-nav-label > small,
  body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar .support-nav-center-link .support-nav-label > small {
    font-size: 13.5px !important;
  }
}

/* v635: retain the v634 wordmark reduction but restore the graphic mark
   to the preceding v633 size. */
.editorial-footer-brand strong {
  font-size: clamp(23px, calc(2.1vw - 2.667px), 31px) !important;
}

body:is(.portal-dashboard-home, .specialists-editorial-page, .rehabilitation-editorial-page, .methods-editorial-page, .institutions-editorial-page, .library-family-route-page, .education-editorial-page, .equipment-editorial-page, .rehabilitation-article-page, .education-course-page, .psychological-editorial-page, .podcasts-editorial-page, .search-editorial-page, .specialist-detail-page, .institution-detail-page, .about-editorial-page, .privacy-editorial-page) .editorial-footer-brand {
  grid-template-columns: 4px clamp(73px, 6.16vw, 92px) minmax(0, 1fr);
}

body:is(.portal-dashboard-home, .specialists-editorial-page, .rehabilitation-editorial-page, .methods-editorial-page, .institutions-editorial-page, .library-family-route-page, .education-editorial-page, .equipment-editorial-page, .rehabilitation-article-page, .education-course-page, .psychological-editorial-page, .podcasts-editorial-page, .search-editorial-page, .specialist-detail-page, .institution-detail-page, .about-editorial-page, .privacy-editorial-page) .editorial-footer-brand::before {
  height: 128px;
}

.neo-footer-brand a {
  grid-template-columns: 70px minmax(0, 1fr);
}

.neo-footer-brand img {
  width: 68px;
  height: 77px;
}

.neo-footer-brand strong {
  font-size: clamp(10px, calc(1.033vw - 2.667px), 15.33px) !important;
}

@media (max-width: 900px) {
  .editorial-footer-brand strong {
    font-size: 24px !important;
  }
}

@media (max-width: 560px) {
  body:is(.portal-dashboard-home, .specialists-editorial-page, .rehabilitation-editorial-page, .methods-editorial-page, .institutions-editorial-page, .library-family-route-page, .education-editorial-page, .equipment-editorial-page, .rehabilitation-article-page, .education-course-page, .psychological-editorial-page, .podcasts-editorial-page, .search-editorial-page, .specialist-detail-page, .institution-detail-page, .about-editorial-page, .privacy-editorial-page) .editorial-footer-brand {
    grid-template-columns: 3px 59px minmax(0, 1fr);
  }

  body:is(.portal-dashboard-home, .specialists-editorial-page, .rehabilitation-editorial-page, .methods-editorial-page, .institutions-editorial-page, .library-family-route-page, .education-editorial-page, .equipment-editorial-page, .rehabilitation-article-page, .education-course-page, .psychological-editorial-page, .podcasts-editorial-page, .search-editorial-page, .specialist-detail-page, .institution-detail-page, .about-editorial-page, .privacy-editorial-page) .editorial-footer-brand::before {
    height: 97px;
  }

  .editorial-footer-brand strong {
    font-size: 19px !important;
  }
}

/* v636: use three brand-name lines in the compact header and mobile drawer,
   and restore the complete footer logo lockup on phones. */
.support-brand-mobile-break {
  display: none;
}

@media (max-width: 760px) {
  .support-brand-mobile-break {
    display: block;
  }
}

@media (max-width: 620px) {
  .editorial-footer-lead {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    padding: 0 0 26px !important;
    border-bottom: 1px solid var(--editorial-line, #dce3e8) !important;
  }

  .editorial-footer-statement {
    display: none !important;
  }
}

/* v637: match the mobile drawer's compact wordmark-to-tagline rhythm in the
   footer and give a wrapped editorial-contact label enough leading. */
@media (max-width: 620px) {
  .editorial-footer-brand {
    grid-template-rows: auto auto !important;
    align-content: center !important;
    row-gap: 3px !important;
  }

  .editorial-footer-brand strong {
    align-self: end !important;
  }

  .editorial-footer-brand small {
    align-self: start !important;
    margin-top: 0 !important;
  }

  .editorial-footer-contact > span {
    line-height: 1.35 !important;
  }
}

/* v638: use equal breathing room above and below the mobile editorial
   contact block so the label and email sit symmetrically between dividers. */
@media (max-width: 620px) {
  .editorial-footer-contact {
    padding: 20px 0 !important;
  }
}

/* v639: calm, non-blocking opening choreography for the primary portal.
   The existing animated planet leads, followed by the wordmark, navigation
   and first content scene. No dimensions or pointer behavior change. */
body.portal-dashboard-home.portal-opening-motion-ready .support-sidebar > .support-brand {
  opacity: 0;
  transition: opacity 340ms ease-out;
}

body.portal-dashboard-home.portal-opening-motion-ready.portal-opening-motion-active
  .support-sidebar > .support-brand {
  opacity: 1;
}

body.portal-dashboard-home.portal-opening-motion-ready
  .support-sidebar > .support-brand strong,
body.portal-dashboard-home.portal-opening-motion-ready
  .support-sidebar > .support-brand small {
  opacity: 0;
  transition: opacity 400ms ease-out;
}

body.portal-dashboard-home.portal-opening-motion-ready.portal-opening-motion-active
  .support-sidebar > .support-brand :is(strong, small) {
  opacity: 1;
}

body.portal-dashboard-home.portal-opening-motion-ready
  .support-sidebar > .support-brand strong {
  transition-delay: 90ms;
}

body.portal-dashboard-home.portal-opening-motion-ready
  .support-sidebar > .support-brand small {
  transition-delay: 250ms;
}

body.portal-dashboard-home.portal-opening-motion-ready .support-topbar {
  opacity: 0;
  transition: opacity 400ms 190ms ease-out;
}

body.portal-dashboard-home.portal-opening-motion-ready.portal-opening-motion-active .support-topbar {
  opacity: 1;
}

body.portal-dashboard-home.portal-opening-motion-ready .home-first-screen-motion {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition:
    opacity 480ms 300ms ease-out,
    transform 560ms 300ms cubic-bezier(.16, 1, .3, 1);
}

body.portal-dashboard-home.portal-opening-motion-ready.portal-opening-motion-active
  .home-first-screen-motion {
  opacity: 1;
  transform: none;
}

@media (min-width: 761px) {
  body.portal-dashboard-home.portal-opening-motion-ready
    .support-sidebar > .support-nav > a {
    opacity: 0 !important;
    transform: translate3d(-10px, 0, 0) !important;
    transition:
      opacity 320ms ease-out,
      transform 440ms cubic-bezier(.16, 1, .3, 1);
  }

  body.portal-dashboard-home.portal-opening-motion-ready.portal-opening-motion-active
    .support-sidebar > .support-nav > a {
    opacity: 1 !important;
    transform: none !important;
  }

  body.portal-dashboard-home.portal-opening-motion-ready .support-sidebar > .support-nav > a:nth-of-type(1) { transition-delay: 230ms; }
  body.portal-dashboard-home.portal-opening-motion-ready .support-sidebar > .support-nav > a:nth-of-type(2) { transition-delay: 270ms; }
  body.portal-dashboard-home.portal-opening-motion-ready .support-sidebar > .support-nav > a:nth-of-type(3) { transition-delay: 310ms; }
  body.portal-dashboard-home.portal-opening-motion-ready .support-sidebar > .support-nav > a:nth-of-type(4) { transition-delay: 350ms; }
  body.portal-dashboard-home.portal-opening-motion-ready .support-sidebar > .support-nav > a:nth-of-type(5) { transition-delay: 390ms; }
  body.portal-dashboard-home.portal-opening-motion-ready .support-sidebar > .support-nav > a:nth-of-type(6) { transition-delay: 430ms; }
  body.portal-dashboard-home.portal-opening-motion-ready .support-sidebar > .support-nav > a:nth-of-type(7) { transition-delay: 470ms; }
  body.portal-dashboard-home.portal-opening-motion-ready .support-sidebar > .support-nav > a:nth-of-type(8) { transition-delay: 510ms; }
  body.portal-dashboard-home.portal-opening-motion-ready .support-sidebar > .support-nav > a:nth-of-type(9) { transition-delay: 550ms; }
  body.portal-dashboard-home.portal-opening-motion-ready .support-sidebar > .support-nav > a:nth-of-type(10) { transition-delay: 590ms; }
}

/* v642: keep the original brand DOM and geometry intact; reveal its copy as
   one stable lockup so opening motion cannot shift the logo or word lines. */

@media (prefers-reduced-motion: reduce) {
  body.portal-dashboard-home .support-sidebar > .support-brand,
  body.portal-dashboard-home .support-sidebar > .support-brand :is(strong, small),
  body.portal-dashboard-home .support-sidebar > .support-nav > a,
  body.portal-dashboard-home .support-topbar,
  body.portal-dashboard-home .home-first-screen-motion {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* v643: the mobile drawer wordmark is copy, not a navigation icon. Let its
   three lines and tagline define their natural height so the complete text
   column stays vertically centered beside the mark instead of overflowing
   downward from the inherited square icon box. */
@media (max-width: 760px) {
  html body.portal-dashboard-home
    .support-sidebar .support-nav .portal-mobile-nav-head > a > span,
  html body.portal-with-sidebar
    .portal-shared-sidebar.support-sidebar .support-nav .portal-mobile-nav-head > a > span {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-self: center !important;
    place-items: initial !important;
  }
}

/* v644: reproduce the original mark's letter colours as live, scalable text
   without replacing the shared lockup with a raster title. */
.support-brand .support-brand-title.support-brand-title .support-brand-title-word,
.portal-mobile-nav-head .support-brand-title.support-brand-title .support-brand-title-word {
  display: inline-flex !important;
  align-items: baseline;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  gap: 0 !important;
  white-space: nowrap;
}

.support-brand-title-initial {
  color: #e80000 !important;
  font: inherit;
  font-weight: inherit;
}

.support-brand .support-brand-title.support-brand-title .support-brand-title-gradient,
.portal-mobile-nav-head .support-brand-title.support-brand-title .support-brand-title-gradient {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  gap: 0 !important;
  color: #24835b;
  background-repeat: no-repeat;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.support-brand-title-gradient-movement {
  background-image: linear-gradient(90deg, #4327a3 0%, #30409d 34%, #1d678f 68%, #1b704a 100%);
}

.support-brand-title-gradient-goal {
  background-image: linear-gradient(90deg, #24835b 0%, #24975f 100%);
}

.support-brand-title-gradient-victory {
  background-image: linear-gradient(90deg, #168c4d 0%, #0be21c 100%);
}

@media (forced-colors: active) {
  .support-brand-title-gradient {
    color: CanvasText;
    background: none;
    -webkit-text-fill-color: currentColor;
  }

  .support-brand-title-initial {
    color: CanvasText !important;
  }
}

/* v29: internal mobile pages inherited a stale 54px brand-link height while
   the shared mark and copy are taller. Match the homepage lockup height so
   the complete brand stays optically centered above the header divider. */
@media (max-width: 699px) {
  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    height: clamp(64px, 17.5vw, 76px) !important;
    min-height: clamp(64px, 17.5vw, 76px) !important;
    max-height: clamp(64px, 17.5vw, 76px) !important;
  }
}

/* v645: match the live portal name to the narrow type used by the original
   identity while keeping the accessible HTML lettering and sampled gradient. */
@font-face {
  font-family: "DCP PT Sans Narrow";
  src: url("/assets/fonts/pt-sans-narrow-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: block;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "DCP PT Sans Narrow";
  src: url("/assets/fonts/pt-sans-narrow-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: block;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html body[class][class][class][class] .support-brand-title.support-brand-title,
html body[class][class][class][class] .support-brand-title.support-brand-title * {
  font-family: "DCP PT Sans Narrow", "Arial Narrow", Arial, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.support-brand .support-brand-title + small,
.portal-mobile-nav-head .support-brand-title + small {
  white-space: nowrap;
}

/* v646: the shared portal lockup always has three fixed title rows.
   Keeping the break visible before and after CSS loads prevents route flashes. */
.support-brand-mobile-break {
  display: block !important;
}

/* v648: keep the complete compact header visible during page scroll and make
   the menu control's visible circle match the three 44px topbar controls. */
@media (max-width: 699px) {
  html.portal-mobile-header-motion body.portal-dashboard-home
    .support-home-shell > aside.support-sidebar,
  html.portal-mobile-header-motion body.portal-with-sidebar
    > aside.portal-shared-sidebar.support-sidebar,
  html.portal-mobile-header-motion body.portal-dashboard-home .support-topbar,
  html.portal-mobile-header-motion body.portal-with-sidebar .portal-shared-topbar {
    opacity: 1 !important;
    transform: none !important;
    will-change: auto !important;
  }

  html body.portal-dashboard-home .portal-mobile-menu-toggle,
  html body.portal-with-sidebar .portal-mobile-menu-toggle {
    overflow: hidden !important;
  }

  html body.portal-dashboard-home
    .portal-mobile-menu-toggle .portal-mobile-control-image,
  html body.portal-with-sidebar
    .portal-mobile-menu-toggle .portal-mobile-control-image {
    transform: scale(1.4) !important;
    transform-origin: center !important;
  }
}

/* v22 final cascade: later legacy breakpoint rules must not undo the shared
   three-row wordmark or reopen the gap before the portal tagline. */
html body .support-brand-title.support-brand-title {
  display: block !important;
  margin: 0 !important;
  line-height: .94 !important;
  white-space: nowrap !important;
}

html body .support-brand-title.support-brand-title > .support-brand-title-word {
  display: inline-flex !important;
  align-items: baseline !important;
  width: auto !important;
  min-width: 0 !important;
  gap: 0 !important;
  white-space: nowrap !important;
}

html body .support-brand-title.support-brand-title > br {
  display: block !important;
  content: "" !important;
}

html body .support-brand-title.support-brand-title .support-brand-title-gradient {
  display: inline !important;
  background-repeat: no-repeat !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

html body.portal-dashboard-home .support-sidebar > .support-brand > span,
html body.portal-with-sidebar > .portal-shared-sidebar.support-sidebar > .support-brand > span,
html body .portal-mobile-nav-head > a > span,
html body .home-v2-brand > span,
html body .dashboard-login-brand > span,
html body .home-v2-editorial-footer-identity > a > span,
html body .neo-footer-brand > a > span {
  display: grid !important;
  align-content: center !important;
  row-gap: 2px !important;
}

html body .support-brand-title + small {
  display: block !important;
  margin-top: 0 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}

html body .editorial-footer-brand {
  row-gap: 2px !important;
}

html body .editorial-footer-brand > .portal-brand-copy {
  grid-column: 3 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  display: grid !important;
  align-content: center !important;
  min-width: 0 !important;
  row-gap: 2px !important;
}

html body .editorial-footer-brand > .portal-brand-copy > .support-brand-title,
html body .editorial-footer-brand > .portal-brand-copy > small {
  margin: 0 !important;
}

html body .editorial-footer-brand > .portal-brand-copy > small {
  align-self: start !important;
  line-height: 1.05 !important;
}

html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > .support-brand > span,
html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand > span {
  gap: 2px !important;
  row-gap: 2px !important;
}

/* v27: all shared wordmark initials use the same bright red in every shell. */
html body[class][class][class][class]
  .support-brand-title.support-brand-title
  .support-brand-title-initial.support-brand-title-initial {
  color: #e80000 !important;
  background: none !important;
  -webkit-text-fill-color: #e80000 !important;
}

@media (forced-colors: active) {
  html body[class][class][class][class]
    .support-brand-title.support-brand-title
    .support-brand-title-initial.support-brand-title-initial {
    color: CanvasText !important;
    -webkit-text-fill-color: CanvasText !important;
  }
}
