:root {
  --bg: #f3f6f7;
  --surface: #ffffff;
  --text: #1d1d1d;
  --muted: #66707a;
  --green: #0b8e36;
  --green-dark: #086a2a;
  --blue: #245f9f;
  --coral: #d86d4f;
  --yellow: #f3c14b;
  --border: #dde6e8;
  --shadow: 0 10px 30px rgba(20, 35, 45, 0.08);
  --drawer-shadow: 0 22px 80px rgba(9, 20, 28, 0.25);
}

/* Real account and email-code authentication */
.dashboard-login-flow-title {
  margin: 4px 0 20px;
  color: #10213f;
  font: 500 clamp(28px, 3vw, 38px)/1.05 var(--font-display, Georgia, serif);
}

.dashboard-login-status {
  margin: -2px 0 2px;
  padding: 11px 13px;
  border: 1px solid #c9d4df;
  border-radius: 10px;
  color: #475873;
  background: #f6f8fa;
  font-size: 14px;
  line-height: 1.4;
}

.dashboard-login-status.is-success {
  border-color: #b9dcc8;
  color: #1e7045;
  background: #f0f8f3;
}

.dashboard-login-status.is-error {
  border-color: #e5b9b9;
  color: #9a3030;
  background: #fff5f5;
}

.dashboard-login-submit:disabled {
  cursor: wait;
  opacity: .68;
}

.dashboard-login-secondary {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-bottom: 1px solid #7e8b9f;
  color: #42516a;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.dashboard-login-field input[readonly] {
  color: #617087;
  background: #f4f6f8;
}

.portal-account-shell {
  min-height: 100vh;
  background: #f7f9f8;
}

.portal-account-main {
  min-width: 0;
  background: #f7f9f8;
}

.portal-account-logout-top {
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #d5dde3;
  border-radius: 999px;
  color: #10213f;
  background: #fff;
  font-weight: 600;
  cursor: pointer;
}

.portal-account-content {
  width: min(1180px, calc(100% - 64px));
  margin: 0 auto;
  padding: 46px 0 72px;
}

.portal-account-hero {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 28px 0 38px;
  border-bottom: 1px solid #d9e0e2;
}

.portal-account-avatar {
  display: grid;
  width: 92px;
  height: 92px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #43a46f, #236d4c);
  box-shadow: 0 12px 30px rgba(27, 83, 58, .18);
  font: 500 42px/1 var(--font-display, Georgia, serif);
}

.portal-account-hero span,
.portal-account-guest > span {
  color: #258552;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.portal-account-hero h1 {
  margin: 5px 0 4px;
  color: #0d1d38;
  font: 500 clamp(36px, 4vw, 58px)/1 var(--font-display, Georgia, serif);
}

.portal-account-hero p,
.portal-account-hero small {
  display: block;
  margin: 0;
  color: #617087;
}

.portal-account-hero small { margin-top: 5px; }

.portal-account-hero > button {
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid #cbd4da;
  border-radius: 10px;
  color: #36445a;
  background: #fff;
  cursor: pointer;
}

.portal-account-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding-top: 28px;
}

.portal-account-card {
  min-width: 0;
  padding: 26px;
  border: 1px solid #dce3e4;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 38px rgba(25, 52, 42, .045);
}

.portal-account-card--wide { grid-column: 1 / -1; }

.portal-account-card > header {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 13px;
  margin-bottom: 24px;
}

.portal-account-card > header > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  color: #258552;
  background: #eaf5ee;
  font-size: 12px;
  font-weight: 750;
}

.portal-account-card h2 {
  margin: 0 0 4px;
  color: #10213f;
  font: 500 28px/1.08 var(--font-display, Georgia, serif);
}

.portal-account-card header p,
.portal-account-empty p,
.portal-account-verified p {
  margin: 0;
  color: #68758a;
  line-height: 1.45;
}

.portal-account-profile-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: end;
  gap: 16px;
}

.portal-account-profile-form label span {
  display: block;
  margin-bottom: 7px;
  color: #56647a;
  font-size: 13px;
  font-weight: 700;
}

.portal-account-profile-form input {
  box-sizing: border-box;
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid #cfd8dd;
  border-radius: 10px;
  color: #14233e;
  background: #fff;
  font: inherit;
}

.portal-account-profile-form input[readonly] { color: #68758a; background: #f4f6f7; }

.portal-account-profile-form > button,
.portal-account-empty a,
.portal-account-guest a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 19px;
  border: 0;
  border-radius: 10px;
  color: #fff;
  background: #258552;
  font-weight: 750;
  text-decoration: none;
  cursor: pointer;
}

.portal-account-profile-form > p { grid-column: 1 / -1; margin: 0; color: #258552; }
.portal-account-empty strong { display: block; margin-bottom: 8px; color: #1a2943; font-size: 18px; }
.portal-account-empty a { min-height: 42px; margin-top: 18px; padding: 0 15px; }

.portal-account-saved { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.portal-account-saved li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid #e1e7e8; }
.portal-account-saved li:first-child { border-top: 0; padding-top: 0; }
.portal-account-saved a { flex: 1; color: #1c6e47; text-decoration: none; }
.portal-account-saved button { border: 0; color: #7b8797; background: transparent; font-size: 24px; cursor: pointer; }

.portal-account-verified { display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: 12px; background: #eff8f2; }
.portal-account-verified > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #fff; background: #258552; font-weight: 800; }
.portal-account-verified strong { display: block; color: #185f3d; }

.portal-account-loading,
.portal-account-guest {
  width: min(760px, calc(100% - 48px));
  margin: 80px auto;
  padding: 42px;
  border: 1px solid #dce3e4;
  border-radius: 18px;
  background: #fff;
}
.portal-account-guest h1 { margin: 8px 0 12px; color: #10213f; font: 500 clamp(34px, 5vw, 56px)/1.05 var(--font-display, Georgia, serif); }
.portal-account-guest p { margin: 0 0 22px; color: #617087; }

html[data-theme="dark"] .dashboard-login-flow-title,
html[data-theme="dark"] .portal-account-hero h1,
html[data-theme="dark"] .portal-account-card h2,
html[data-theme="dark"] .portal-account-empty strong,
html[data-theme="dark"] .portal-account-guest h1 { color: #f5f7f6; }
html[data-theme="dark"] .portal-account-shell,
html[data-theme="dark"] .portal-account-main { background: #0e1217; }
html[data-theme="dark"] .portal-account-card,
html[data-theme="dark"] .portal-account-loading,
html[data-theme="dark"] .portal-account-guest { border-color: #29343d; background: #141b21; box-shadow: none; }
html[data-theme="dark"] .portal-account-hero { border-color: #29343d; }
html[data-theme="dark"] .portal-account-hero > button,
html[data-theme="dark"] .portal-account-logout-top,
html[data-theme="dark"] .portal-account-profile-form input { border-color: #34414b; color: #e7ece9; background: #171f26; }
html[data-theme="dark"] .portal-account-profile-form input[readonly],
html[data-theme="dark"] .dashboard-login-field input[readonly] { background: #11181e; }
html[data-theme="dark"] .portal-account-verified { background: #17271f; }

@media (max-width: 900px) {
  .portal-account-content { width: min(100% - 32px, 700px); padding: 28px 0 48px; }
  .portal-account-hero { grid-template-columns: 68px minmax(0, 1fr); gap: 16px; padding: 20px 0 28px; }
  .portal-account-avatar { width: 68px; height: 68px; font-size: 32px; }
  .portal-account-hero > button { display: none; }
  .portal-account-grid { grid-template-columns: 1fr; }
  .portal-account-card--wide { grid-column: auto; }
  .portal-account-profile-form { grid-template-columns: 1fr; }
  .portal-account-profile-form > p { grid-column: auto; }
  .portal-account-logout-top { min-height: 38px; padding: 0 12px; }
}

@media (max-width: 560px) {
  .portal-account-content { width: calc(100% - 24px); }
  .portal-account-card { padding: 20px; border-radius: 14px; }
  .portal-account-card h2 { font-size: 25px; }
  .portal-account-loading,
  .portal-account-guest { box-sizing: border-box; width: calc(100% - 24px); margin: 32px auto; padding: 25px; }
}

/* v417: flush landscape tablet rails and filled bounded institution media. */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* v287: editorial portal search with real cross-catalog results. */
body.search-editorial-page {
  --search-ink: #0b1b38;
  --search-muted: #57657b;
  --search-green: #23834d;
  --search-green-dark: #1d7043;
  --search-line: #d9e1e5;
  color: var(--search-ink);
  background: #ffffff;
}

body.portal-with-sidebar.search-editorial-page .page-shell.search-editorial-shell {
  box-sizing: border-box !important;
  display: block !important;
  width: calc(100vw - clamp(264px, 20.625vw, 330px)) !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 48px 84px !important;
  background: #ffffff;
}

body.search-editorial-page .search-editorial-hero {
  box-sizing: border-box;
  max-width: 1120px;
  padding: 48px 0 0;
}

body.search-editorial-page .search-editorial-hero h1 {
  max-width: none;
  margin: 0;
  color: var(--search-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(52px, 4vw, 64px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 1;
}

body.search-editorial-page .search-editorial-hero > p {
  max-width: 800px;
  margin: 24px 0 0;
  color: var(--search-muted);
  font-size: 17px;
  font-weight: 450;
  line-height: 1.5;
}

body.search-editorial-page .search-editorial-form {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 34px auto;
  gap: 14px;
  align-items: center;
  width: 100%;
  min-height: 62px;
  margin-top: 34px;
  border-bottom: 2px solid var(--search-ink);
}

body.search-editorial-page .search-editorial-form > svg {
  width: 30px;
  height: 30px;
  color: var(--search-ink);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.search-editorial-page .search-editorial-form input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 60px;
  padding: 0;
  border: 0;
  outline: 0;
  color: var(--search-ink);
  background: transparent;
  font: inherit;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  font-weight: 400;
}

body.search-editorial-page .search-editorial-form input::placeholder {
  color: #7c8798;
  opacity: 1;
}

body.search-editorial-page .search-editorial-clear,
body.search-editorial-page .search-editorial-submit {
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
}

body.search-editorial-page .search-editorial-clear {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  color: #6d7a8d;
  font-size: 24px;
  line-height: 1;
}

body.search-editorial-page .search-editorial-clear[hidden] {
  display: none;
}

body.search-editorial-page .search-editorial-submit {
  min-height: 44px;
  padding: 0 0 0 18px;
  color: var(--search-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 700;
}

body.search-editorial-page .search-editorial-clear:hover,
body.search-editorial-page .search-editorial-clear:focus-visible,
body.search-editorial-page .search-editorial-submit:hover,
body.search-editorial-page .search-editorial-submit:focus-visible {
  color: var(--search-green-dark);
  outline: 0;
}

body.search-editorial-page .search-editorial-hint {
  margin-top: 11px !important;
  color: #7a8798 !important;
  font-size: 12px !important;
}

body.search-editorial-page .search-editorial-results {
  margin-top: 48px;
  scroll-margin-top: 24px;
}

body.search-editorial-page .search-editorial-results-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 0 0 21px;
  border-bottom: 1px solid var(--search-line);
}

body.search-editorial-page .search-editorial-results-head h2 {
  margin: 0;
  color: var(--search-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 3.5vw, 54px);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 1;
}

body.search-editorial-page .search-editorial-results-head p {
  max-width: 520px;
  margin: 0;
  color: var(--search-muted);
  font-size: 13px;
  line-height: 1.4;
  text-align: right;
}

body.search-editorial-page .search-editorial-layout {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  min-width: 0;
}

body.search-editorial-page .search-editorial-filters {
  display: grid;
  align-content: start;
  gap: 0;
  min-width: 0;
  padding: 24px 28px 24px 0;
  border-right: 1px solid var(--search-line);
}

body.search-editorial-page .search-editorial-filters button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  min-height: 48px;
  padding: 0 0 0 15px;
  border: 0;
  color: var(--search-ink);
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  text-align: left;
}

body.search-editorial-page .search-editorial-filters button::before {
  content: "";
  position: absolute;
  inset: 8px auto 8px 0;
  width: 2px;
  background: transparent;
}

body.search-editorial-page .search-editorial-filters button small {
  color: #8a96a6;
  font-size: 11px;
}

body.search-editorial-page .search-editorial-filters button:hover,
body.search-editorial-page .search-editorial-filters button:focus-visible,
body.search-editorial-page .search-editorial-filters button[aria-pressed="true"] {
  color: var(--search-green);
  outline: 0;
}

body.search-editorial-page .search-editorial-filters button[aria-pressed="true"] {
  font-weight: 700;
}

body.search-editorial-page .search-editorial-filters button[aria-pressed="true"]::before {
  background: var(--search-green);
}

body.search-editorial-page .search-editorial-filters button:disabled {
  cursor: default;
  opacity: 0.35;
}

body.search-editorial-page .search-editorial-feed {
  min-width: 0;
  padding-left: 34px;
}

body.search-editorial-page .search-editorial-ledger {
  min-width: 0;
}

body.search-editorial-page .search-editorial-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 34px;
  gap: 20px;
  align-items: start;
  min-width: 0;
  min-height: 142px;
  padding: 24px 4px 23px 0;
  border-bottom: 1px solid var(--search-line);
  color: var(--search-ink);
  text-decoration: none;
}

body.search-editorial-page .search-editorial-number {
  padding-top: 2px;
  color: var(--search-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1;
}

body.search-editorial-page .search-editorial-row-copy {
  display: grid;
  gap: 7px;
  min-width: 0;
}

body.search-editorial-page .search-editorial-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  color: var(--search-muted);
  font-size: 11px;
  line-height: 1.3;
}

body.search-editorial-page .search-editorial-meta span:not(:last-child)::after {
  content: "·";
  margin: 0 9px;
}

body.search-editorial-page .search-editorial-row strong {
  max-width: 860px;
  color: var(--search-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 2.05vw, 31px);
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.08;
}

body.search-editorial-page .search-editorial-description {
  display: -webkit-box;
  max-width: 900px;
  overflow: hidden;
  color: var(--search-muted);
  font-size: 13px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.search-editorial-page .search-editorial-row > svg {
  align-self: center;
  width: 28px;
  height: 28px;
  color: var(--search-green);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

body.search-editorial-page .search-editorial-row:hover strong,
body.search-editorial-page .search-editorial-row:focus-visible strong {
  color: var(--search-green-dark);
}

body.search-editorial-page .search-editorial-row:hover > svg,
body.search-editorial-page .search-editorial-row:focus-visible > svg {
  transform: translateX(4px);
}

body.search-editorial-page .search-editorial-row:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.28);
  outline-offset: 4px;
}

body.search-editorial-page .search-editorial-more {
  min-height: 44px;
  margin-top: 26px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--search-green);
  color: var(--search-green);
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
}

body.search-editorial-page .search-editorial-more[hidden] {
  display: none;
}

body.search-editorial-page .search-editorial-empty {
  padding: 50px 0;
  border-bottom: 1px solid var(--search-line);
}

body.search-editorial-page .search-editorial-empty h3 {
  margin: 0;
  color: var(--search-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  font-weight: 400;
}

body.search-editorial-page .search-editorial-empty p {
  max-width: 520px;
  margin: 12px 0 22px;
  color: var(--search-muted);
  line-height: 1.55;
}

body.search-editorial-page .search-editorial-empty button {
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  color: var(--search-green);
  background: transparent;
  cursor: pointer;
  font: inherit;
}

@media (min-width: 1500px) {
  body.portal-with-sidebar.search-editorial-page .page-shell.search-editorial-shell {
    padding-right: 64px !important;
    padding-left: 64px !important;
  }

  body.search-editorial-page .search-editorial-hero {
    max-width: 1140px;
  }

  body.search-editorial-page .search-editorial-layout {
    grid-template-columns: 210px minmax(0, 1fr);
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body.portal-with-sidebar.search-editorial-page .page-shell.search-editorial-shell {
    padding-right: 28px !important;
    padding-left: 28px !important;
  }

  body.search-editorial-page .search-editorial-hero {
    padding-top: 38px;
  }

  body.search-editorial-page .search-editorial-layout {
    grid-template-columns: 170px minmax(0, 1fr);
  }

  body.search-editorial-page .search-editorial-feed {
    padding-left: 24px;
  }
}

@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) {
  body.portal-with-sidebar.search-editorial-page .page-shell.search-editorial-shell {
    width: 100% !important;
    padding: 0 16px 58px !important;
  }

  body.search-editorial-page .search-editorial-hero {
    padding-top: 34px;
  }

  body.search-editorial-page .search-editorial-hero h1 {
    font-size: clamp(43px, 13vw, 58px);
    line-height: 0.98;
  }

  body.search-editorial-page .search-editorial-hero > p {
    margin-top: 18px;
    font-size: 14px;
  }

  body.search-editorial-page .search-editorial-form {
    grid-template-columns: 26px minmax(0, 1fr) 26px auto;
    gap: 9px;
    min-height: 56px;
    margin-top: 24px;
  }

  body.search-editorial-page .search-editorial-form > svg {
    width: 23px;
    height: 23px;
  }

  body.search-editorial-page .search-editorial-form input {
    height: 54px;
    font-size: 18px;
  }

  body.search-editorial-page .search-editorial-submit {
    grid-column: auto;
    justify-self: end;
    min-height: 44px;
    padding: 0;
    font-size: 15px;
  }

  body.search-editorial-page .search-editorial-hint {
    display: none;
  }

  body.search-editorial-page .search-editorial-results {
    margin-top: 42px;
  }

  body.search-editorial-page .search-editorial-results-head {
    display: grid;
    gap: 10px;
    align-items: start;
    padding-bottom: 16px;
  }

  body.search-editorial-page .search-editorial-results-head h2 {
    font-size: 38px;
  }

  body.search-editorial-page .search-editorial-results-head p {
    margin: 0;
    text-align: left;
  }

  body.search-editorial-page .search-editorial-layout {
    display: block;
  }

  body.search-editorial-page .search-editorial-filters {
    display: flex;
    gap: 5px;
    margin: 0 -16px;
    padding: 12px 16px;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--search-line);
    scrollbar-width: none;
  }

  body.search-editorial-page .search-editorial-filters::-webkit-scrollbar {
    display: none;
  }

  body.search-editorial-page .search-editorial-filters button {
    flex: 0 0 auto;
    gap: 7px;
    min-height: 38px;
    padding: 0 11px;
    border: 1px solid transparent;
    font-size: 12px;
  }

  body.search-editorial-page .search-editorial-filters button::before {
    display: none;
  }

  body.search-editorial-page .search-editorial-filters button[aria-pressed="true"] {
    border-color: #a9cdb9;
    background: #f8fbf9;
  }

  body.search-editorial-page .search-editorial-feed {
    padding-left: 0;
  }

  body.search-editorial-page .search-editorial-row {
    grid-template-columns: 34px minmax(0, 1fr) 24px;
    gap: 10px;
    min-height: 0;
    padding: 22px 0;
  }

  body.search-editorial-page .search-editorial-number {
    font-size: 15px;
  }

  body.search-editorial-page .search-editorial-row strong {
    font-size: 23px;
  }

  body.search-editorial-page .search-editorial-description {
    font-size: 12px;
    -webkit-line-clamp: 3;
  }

  body.search-editorial-page .search-editorial-row > svg {
    width: 22px;
    height: 22px;
  }
}

/* v279: approved innovative-equipment featured editorial page. */
body.equipment-editorial-page {
  --equipment-ink: #081a38;
  --equipment-muted: #53617a;
  --equipment-green: #27834c;
  --equipment-green-dark: #1e6f40;
  --equipment-line: #dce2e6;
  margin: 0;
  min-width: 0;
  overflow-x: hidden;
  color: var(--equipment-ink);
  background: #ffffff;
  font-family: Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
}

body.portal-with-sidebar.equipment-editorial-page .page-shell.equipment-editorial-shell {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 100vh !important;
  margin: -82px 0 0 !important;
  padding: 0 clamp(40px, 4.2vw, 66px) 72px !important;
  color: var(--equipment-ink) !important;
  background: #ffffff !important;
}

body.portal-with-sidebar.equipment-editorial-page .portal-shared-topbar {
  position: relative;
  z-index: 20;
  border-bottom-color: transparent;
  background: transparent;
}

.equipment-editorial-heading {
  box-sizing: border-box;
  padding-top: 98px;
  border-bottom: 1px solid var(--equipment-line);
}

.equipment-editorial-heading h1 {
  margin: 0;
  color: var(--equipment-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(52px, 4.75vw, 74px);
  font-weight: 400;
  line-height: 0.94;
  letter-spacing: -0.05em;
  white-space: nowrap;
}

.equipment-editorial-heading p {
  margin: 16px 0 0;
  color: #657087;
  font-size: clamp(15px, 1.15vw, 18px);
  font-weight: 430;
  line-height: 1.42;
}

.equipment-editorial-heading strong {
  display: block;
  width: fit-content;
  margin: 15px 0 13px;
  color: var(--equipment-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.equipment-featured {
  display: grid;
  grid-template-columns: minmax(0, 54%) minmax(0, 1fr);
  gap: clamp(30px, 2.6vw, 40px);
  min-width: 0;
  padding-top: 16px;
}

.equipment-featured-media,
.equipment-featured-copy {
  min-width: 0;
}

.equipment-featured-media {
  display: block;
  overflow: hidden;
  background: #eef2f3;
}

.equipment-featured-media img {
  display: block;
  width: 100%;
  aspect-ratio: 1.63 / 1;
  object-fit: cover;
  object-position: center;
  transition: transform 220ms ease;
}

.equipment-featured-media:hover img,
.equipment-featured-media:focus-visible img {
  transform: scale(1.012);
}

.equipment-featured-media:focus-visible,
.equipment-latest-card:focus-visible,
.equipment-catalog-row:focus-visible {
  outline: 2px solid rgba(39, 131, 76, 0.38);
  outline-offset: 5px;
}

.equipment-featured-copy {
  padding-top: 11px;
}

.equipment-featured-copy h2 {
  margin: 0;
  color: var(--equipment-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 2.55vw, 40px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.equipment-featured-copy p {
  max-width: 430px;
  margin: 20px 0 0;
  color: #5a657a;
  font-size: clamp(14px, 1.03vw, 16px);
  font-weight: 430;
  line-height: 1.42;
}

.equipment-featured-copy > a {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 204px;
  min-height: 50px;
  margin-top: 37px;
  padding: 0 24px;
  border: 1px solid var(--equipment-green);
  border-radius: 5px;
  color: var(--equipment-green);
  background: #ffffff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: color 160ms ease, background-color 160ms ease;
}

.equipment-featured-copy > a:hover,
.equipment-featured-copy > a:focus-visible {
  outline: 0;
  color: #ffffff;
  background: var(--equipment-green);
}

.equipment-latest {
  padding-top: 12px;
}

.equipment-section-title {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 30px;
  margin-bottom: 14px;
}

.equipment-section-title h2,
.equipment-catalog-heading h2 {
  margin: 0;
  color: var(--equipment-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(25px, 1.8vw, 29px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.035em;
}

.equipment-section-title span {
  height: 1px;
  background: var(--equipment-line);
}

.equipment-latest-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 2.6vw, 40px);
  min-width: 0;
}

.equipment-latest-card {
  display: grid;
  align-content: start;
  min-width: 0;
  color: var(--equipment-ink);
  text-decoration: none;
}

.equipment-latest-image {
  display: block;
  width: 100%;
  aspect-ratio: 1.94 / 1;
  overflow: hidden;
  background: #edf1f2;
}

.equipment-latest-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 220ms ease;
}

.equipment-latest-card:hover .equipment-latest-image img,
.equipment-latest-card:focus-visible .equipment-latest-image img {
  transform: scale(1.015);
}

.equipment-latest-title {
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr);
  gap: 12px;
  min-height: 57px;
  padding: 12px 0 10px;
  border-bottom: 1px solid var(--equipment-line);
}

.equipment-latest-title em {
  color: var(--equipment-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}

.equipment-latest-title strong {
  color: var(--equipment-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 1.35vw, 22px);
  font-weight: 400;
  line-height: 1.08;
}

.equipment-latest-card small {
  display: block;
  margin-top: 13px;
  color: #69748a;
  font-size: clamp(11px, 0.79vw, 13px);
  font-weight: 430;
  line-height: 1.34;
}

.equipment-catalog {
  padding-top: 64px;
}

.equipment-catalog-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--equipment-line);
}

.equipment-catalog-heading h2 {
  font-size: clamp(33px, 2.6vw, 42px);
}

.equipment-catalog-heading p {
  max-width: 510px;
  margin: 0;
  color: #68748a;
  font-size: 14px;
  line-height: 1.35;
  text-align: right;
}

.equipment-catalog-list {
  display: grid;
}

.equipment-catalog-row {
  display: grid;
  grid-template-columns: 42px 126px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 22px;
  min-width: 0;
  min-height: 118px;
  padding: 15px 0;
  border-bottom: 1px solid var(--equipment-line);
  color: var(--equipment-ink);
  text-decoration: none;
}

.equipment-catalog-number {
  align-self: start;
  padding-top: 6px;
  color: var(--equipment-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
  line-height: 1;
}

.equipment-catalog-image {
  display: block;
  width: 126px;
  height: 88px;
  overflow: hidden;
  background: #edf1f2;
}

.equipment-catalog-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 200ms ease;
}

.equipment-catalog-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.equipment-catalog-copy strong {
  color: var(--equipment-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(19px, 1.45vw, 23px);
  font-weight: 400;
  line-height: 1.14;
}

.equipment-catalog-copy small {
  color: #67748a;
  font-size: 13px;
  line-height: 1.38;
}

.equipment-catalog-row > svg {
  display: block;
  width: 21px;
  height: 21px;
  fill: none;
  stroke: var(--equipment-green);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

.equipment-catalog-row:hover .equipment-catalog-image img,
.equipment-catalog-row:focus-visible .equipment-catalog-image img {
  transform: scale(1.025);
}

.equipment-catalog-row:hover > svg,
.equipment-catalog-row:focus-visible > svg {
  transform: translateX(4px);
}

@media (min-width: 901px) and (max-width: 1180px) {
  body.portal-with-sidebar.equipment-editorial-page .page-shell.equipment-editorial-shell {
    width: 100% !important;
    padding-right: 28px !important;
    padding-left: 28px !important;
  }

  .equipment-editorial-heading h1 {
    font-size: clamp(48px, 5.1vw, 58px);
  }

  .equipment-featured {
    grid-template-columns: minmax(0, 54%) minmax(0, 1fr);
    gap: 30px;
  }

  .equipment-featured-copy h2 {
    font-size: clamp(31px, 3.35vw, 38px);
  }

  .equipment-featured-copy > a {
    margin-top: 26px;
  }
}

@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) {
  body.portal-with-sidebar.equipment-editorial-page {
    padding-left: 0 !important;
  }

  body.portal-with-sidebar.equipment-editorial-page .page-shell.equipment-editorial-shell {
    width: 100% !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    padding: 0 20px 58px !important;
  }

  body.portal-with-sidebar.equipment-editorial-page .portal-shared-topbar {
    border-bottom-color: var(--equipment-line);
    background: #ffffff;
  }

  .equipment-editorial-heading {
    padding-top: 34px;
  }

  .equipment-editorial-heading h1 {
    font-size: clamp(43px, 8vw, 66px);
    white-space: normal;
  }

  .equipment-featured {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .equipment-featured-copy {
    padding-top: 0;
  }

  .equipment-featured-copy h2 br {
    display: none;
  }

  .equipment-featured-copy > a {
    margin-top: 24px;
  }

  .equipment-latest {
    padding-top: 34px;
  }

  .equipment-latest-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .equipment-catalog-row {
    grid-template-columns: 36px 112px minmax(0, 1fr) 22px;
    gap: 16px;
  }

  .equipment-catalog-image {
    width: 112px;
    height: 78px;
  }
}

@media (max-width: 620px) {
  .equipment-editorial-heading h1 {
    font-size: clamp(40px, 11vw, 52px);
    line-height: 0.98;
  }

  .equipment-editorial-heading p {
    font-size: 15px;
  }

  .equipment-featured-copy h2 {
    font-size: clamp(34px, 9.5vw, 44px);
  }

  .equipment-latest-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .equipment-latest-card small {
    font-size: 13px;
  }

  .equipment-catalog {
    padding-top: 48px;
  }

  .equipment-catalog-heading {
    display: grid;
    gap: 10px;
  }

  .equipment-catalog-heading p {
    text-align: left;
  }

  .equipment-catalog-row {
    grid-template-columns: 32px minmax(0, 1fr) 20px;
    grid-template-rows: auto auto;
    gap: 9px 12px;
    padding: 18px 0;
  }

  .equipment-catalog-number {
    grid-column: 1;
    grid-row: 1;
  }

  .equipment-catalog-image {
    grid-column: 2;
    grid-row: 1;
    width: 118px;
    height: 80px;
  }

  .equipment-catalog-copy {
    grid-column: 2;
    grid-row: 2;
  }

  .equipment-catalog-row > svg {
    grid-column: 3;
    grid-row: 1 / 3;
  }
}


/* v278: approved real-course editorial education page. */
body.education-editorial-page {
  --education-ink: #0b1b38;
  --education-muted: #53627a;
  --education-green: #23834d;
  --education-green-dark: #1f7746;
  --education-line: #dce3e8;
  margin: 0;
  min-width: 0;
  overflow-x: hidden;
  color: var(--education-ink);
  background: #ffffff;
  font-family: Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
}

body.portal-with-sidebar.education-editorial-page .page-shell.education-editorial-shell {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 100vh !important;
  margin: -82px 0 0 !important;
  padding: 0 48px 62px !important;
  color: var(--education-ink) !important;
  background: #ffffff !important;
}

body.portal-with-sidebar.education-editorial-page .portal-shared-topbar {
  position: relative;
  z-index: 20;
  border-bottom-color: transparent;
  background: transparent;
}

.education-editorial-heading {
  box-sizing: border-box;
  padding-top: 50px;
}

.education-editorial-heading > p {
  margin: 0;
  color: var(--education-ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.education-editorial-heading h1 {
  margin: 18px 0 0;
  color: var(--education-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 3.55vw, 58px);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.045em;
}

.education-editorial-heading > span {
  display: block;
  margin-top: 20px;
  color: var(--education-ink);
  font-size: 15px;
  font-weight: 450;
  line-height: 1.4;
}

.education-editorial-audiences {
  display: flex;
  align-items: end;
  gap: clamp(46px, 5.2vw, 84px);
  min-width: 0;
  margin-top: 31px;
  border-bottom: 1px solid var(--education-line);
}

.education-editorial-audiences a,
.education-editorial-audiences span {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  color: #8590a3;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
}

.education-editorial-audiences a {
  color: var(--education-green);
  border-bottom: 2px solid var(--education-green);
}

.education-editorial-audiences a:hover,
.education-editorial-audiences a:focus-visible {
  outline: 0;
  color: var(--education-green-dark);
}

.education-featured-course {
  display: grid;
  grid-template-columns: minmax(0, 45.5%) minmax(0, 1fr);
  gap: clamp(42px, 5vw, 76px);
  min-width: 0;
  padding: 29px 0 26px;
  border-bottom: 1px solid var(--education-line);
}

.education-featured-media,
.education-featured-program {
  min-width: 0;
}

.education-featured-media > img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  background: #eef1ef;
}

.education-featured-media > p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 16px 0 0;
  color: var(--education-ink);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
}

.education-featured-media > p span {
  display: inline-flex;
  align-items: center;
}

.education-featured-media > p span + span::before,
.education-course-card small span + span::before {
  content: "·";
  margin: 0 15px;
  color: #738098;
  font-weight: 400;
}

.education-featured-media > a {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 216px;
  min-height: 45px;
  margin-top: 14px;
  padding: 0 22px;
  border: 1px solid var(--education-green);
  border-radius: 5px;
  color: var(--education-green);
  background: #ffffff;
  font-size: 15px;
  font-weight: 550;
  line-height: 1;
  text-decoration: none;
  transition: color 160ms ease, background-color 160ms ease;
}

.education-featured-media > a:hover,
.education-featured-media > a:focus-visible {
  outline: 0;
  color: #ffffff;
  background: var(--education-green);
}

.education-featured-program {
  padding: 1px 0 0;
}

.education-featured-program h2 {
  margin: 0;
  color: var(--education-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(35px, 2.7vw, 44px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.035em;
}

.education-featured-program > p {
  margin: 18px 0 0;
  color: #69758a;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
}

.education-featured-program > p span {
  margin: 0 8px;
}

.education-featured-program h3 {
  margin: 29px 0 10px;
  color: var(--education-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1;
}

.education-featured-program ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.education-featured-program li {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  min-height: 42px;
  border-bottom: 1px solid var(--education-line);
  color: var(--education-ink);
}

.education-featured-program li span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 400;
}

.education-featured-program li strong {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.25;
}

.education-other-courses {
  padding-top: 18px;
  scroll-margin-top: 24px;
}

.education-other-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 11px;
}

.education-other-heading h2 {
  margin: 0;
  color: var(--education-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(29px, 2.15vw, 35px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.035em;
}

.education-other-heading a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--education-green);
  font-size: 14px;
  font-weight: 550;
  line-height: 1;
  text-decoration: none;
}

.education-other-heading svg {
  display: block;
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

.education-other-heading a:hover svg,
.education-other-heading a:focus-visible svg {
  transform: translateX(4px);
}

.education-course-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 3.8vw, 58px);
  min-width: 0;
}

.education-course-card {
  display: grid;
  align-content: start;
  min-width: 0;
  color: var(--education-ink);
  text-decoration: none;
}

.education-course-image {
  display: block;
  width: 100%;
  aspect-ratio: 1.68 / 1;
  overflow: hidden;
  background: #eef1ef;
}

.education-course-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 220ms ease;
}

.education-course-card:hover .education-course-image img,
.education-course-card:focus-visible .education-course-image img {
  transform: scale(1.015);
}

.education-course-card:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.42);
  outline-offset: 5px;
}

.education-course-card > strong {
  display: block;
  min-height: 42px;
  margin-top: 13px;
  color: var(--education-ink);
  font-size: clamp(15px, 1.08vw, 17px);
  font-weight: 500;
  line-height: 1.28;
}

.education-course-card small {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 6px;
  color: #68748a;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
}

@media (min-width: 901px) and (max-width: 1180px) {
  body.portal-with-sidebar.education-editorial-page .page-shell.education-editorial-shell {
    width: calc(100vw - 228px) !important;
    padding: 0 28px 56px !important;
  }

  .education-editorial-heading h1 {
    font-size: clamp(45px, 5vw, 56px);
  }

  .education-featured-course {
    grid-template-columns: minmax(0, 1.03fr) minmax(0, 0.97fr);
    gap: 32px;
  }

  .education-featured-program h2 {
    font-size: clamp(31px, 3.6vw, 40px);
  }

  .education-course-grid {
    gap: 24px;
  }
}

@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) {
  body.portal-with-sidebar.education-editorial-page {
    padding-left: 0 !important;
  }

  body.portal-with-sidebar.education-editorial-page .page-shell.education-editorial-shell {
    width: 100% !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    padding: 0 20px 52px !important;
  }

  body.portal-with-sidebar.education-editorial-page .portal-shared-topbar {
    border-bottom-color: var(--education-line);
    background: #ffffff;
  }

  .education-editorial-heading {
    padding-top: 30px;
  }

  .education-editorial-heading h1 {
    font-size: clamp(44px, 10vw, 62px);
  }

  .education-editorial-audiences {
    gap: 38px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .education-editorial-audiences::-webkit-scrollbar {
    display: none;
  }

  .education-featured-course {
    grid-template-columns: 1fr;
    gap: 34px;
    padding-top: 28px;
  }

  .education-featured-media {
    max-width: 720px;
  }

  .education-featured-program h2 {
    font-size: clamp(36px, 8vw, 50px);
  }

  .education-featured-program h3 {
    margin-top: 24px;
  }

  .education-course-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 22px;
  }

  .education-course-card > strong {
    font-size: 17px;
  }
}

@media (max-width: 620px) {
  .education-editorial-heading > p {
    font-size: 11px;
  }

  .education-editorial-heading h1 {
    margin-top: 13px;
    font-size: clamp(40px, 12vw, 52px);
  }

  .education-editorial-heading > span {
    margin-top: 16px;
    font-size: 14px;
  }

  .education-editorial-audiences {
    margin-right: -20px;
    padding-right: 20px;
  }

  .education-featured-media > p {
    font-size: 14px;
  }

  .education-featured-media > p span + span::before {
    margin: 0 9px;
  }

  .education-featured-media > a {
    width: 100%;
  }

  .education-featured-program h2 br {
    display: none;
  }

  .education-featured-program li {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .education-featured-program li strong {
    font-size: 13px;
  }

  .education-other-heading {
    align-items: end;
  }

  .education-other-heading h2 {
    font-size: 31px;
  }

  .education-course-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .education-course-card > strong {
    min-height: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .education-course-image img,
  .education-other-heading svg {
    transition: none;
  }
}

/* Enlarged editorial footer back-to-top action — v434. */
.editorial-footer-bottom .editorial-footer-back-to-top {
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.editorial-footer-bottom .editorial-footer-back-to-top span {
  display: inline-block;
  margin-left: 3px;
  font-size: 18px;
  line-height: 1;
}

/* v277: approved family-route knowledge library. */
body.library-family-route-page {
  --editorial-ink: #0b1b38;
  --editorial-muted: #53627a;
  --editorial-green: #23834d;
  --editorial-green-dark: #1f7746;
  --editorial-line: #dce3e8;
  color: var(--editorial-ink);
  background: #ffffff;
}

body.library-family-route-page .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.library-family-route-page .library-route-shell {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin: 0;
  background: #ffffff;
}

body.library-family-route-page .library-route-hero {
  display: grid;
  grid-template-columns: minmax(0, 51%) minmax(126px, 14%) minmax(0, 35%);
  min-width: 0;
  min-height: clamp(318px, 25vw, 402px);
  border-bottom: 1px solid var(--editorial-line);
}

body.library-family-route-page .library-route-intro {
  box-sizing: border-box;
  display: grid;
  align-content: center;
  min-width: 0;
  padding: 34px clamp(34px, 3.5vw, 56px) 30px;
}

body.library-family-route-page .library-route-intro h1 {
  margin: 0;
  color: var(--editorial-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 3.5vw, 60px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.045em;
}

body.library-family-route-page .library-route-intro > p {
  max-width: 540px;
  margin: 23px 0 0;
  color: var(--editorial-muted);
  font-size: clamp(15px, 1.08vw, 18px);
  line-height: 1.45;
}

body.library-family-route-page .library-route-search {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  width: min(100%, 520px);
  margin-top: 32px;
  border-bottom: 2px solid #627189;
}

body.library-family-route-page .library-route-search svg {
  display: block;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: var(--editorial-ink);
  stroke-width: 1.45;
  stroke-linecap: round;
}

body.library-family-route-page .library-route-search input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 45px;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  color: var(--editorial-ink);
  background: transparent;
  font: inherit;
  font-size: 16px;
}

body.library-family-route-page .library-route-search input::placeholder {
  color: #718097;
  opacity: 1;
}

body.library-family-route-page .library-route-search:focus-within {
  border-color: var(--editorial-green);
}

body.library-family-route-page .library-route-stats {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  align-items: center;
  min-width: 0;
  padding: 30px 0;
}

body.library-family-route-page .library-route-stats p {
  display: grid;
  justify-items: center;
  gap: 4px;
  min-width: 0;
  margin: 0;
  padding: 0 14px;
}

body.library-family-route-page .library-route-stats p + p {
  border-left: 1px solid var(--editorial-line);
}

body.library-family-route-page .library-route-stats strong {
  color: var(--editorial-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 2.5vw, 44px);
  font-weight: 400;
  line-height: 1;
}

body.library-family-route-page .library-route-stats span {
  color: var(--editorial-muted);
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}

body.library-family-route-page .library-route-hero-media {
  min-width: 0;
  min-height: inherit;
  margin: 0;
  overflow: hidden;
  background: #edf1ef;
}

body.library-family-route-page .library-route-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: 52% center;
}

body.library-family-route-page .library-route-path {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  min-width: 0;
  padding: 40px clamp(34px, 3.5vw, 56px) 52px;
  border-bottom: 1px solid var(--editorial-line);
}

body.library-family-route-page .library-route-stage {
  min-width: 0;
  padding: 0 clamp(24px, 2.25vw, 36px);
}

body.library-family-route-page .library-route-stage:first-of-type {
  padding-left: 0;
}

body.library-family-route-page .library-route-stage:last-of-type {
  padding-right: 0;
}

body.library-family-route-page .library-route-stage + .library-route-stage {
  border-left: 1px solid var(--editorial-line);
}

body.library-family-route-page .library-route-stage-heading {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  min-height: 84px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--editorial-line);
}

body.library-family-route-page .library-route-stage-heading > span {
  color: var(--editorial-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(35px, 2.6vw, 44px);
  line-height: 0.96;
}

body.library-family-route-page .library-route-stage-heading h3 {
  margin: 0;
  color: var(--editorial-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 1.58vw, 27px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.025em;
}

body.library-family-route-page .library-route-stage-links {
  display: grid;
  align-content: start;
  gap: 12px;
  padding-top: 18px;
}

body.library-family-route-page .library-route-stage-links a {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 11px;
  color: var(--editorial-ink);
  font-size: 13px;
  line-height: 1.32;
  text-decoration: none;
}

body.library-family-route-page .library-route-stage-links svg,
body.library-family-route-page .library-route-material-action svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: var(--editorial-green);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

body.library-family-route-page .library-route-stage-links a:hover,
body.library-family-route-page .library-route-stage-links a:focus-visible,
body.library-family-route-page .library-route-stage-links a.is-active,
body.library-family-route-page .library-route-current-list a:hover,
body.library-family-route-page .library-route-current-list a:focus-visible,
body.library-family-route-page .library-route-material-copy > a:hover,
body.library-family-route-page .library-route-material-copy > a:focus-visible {
  color: var(--editorial-green);
  outline: 0;
}

body.library-family-route-page .library-route-stage-links a.is-active {
  font-weight: 650;
}

body.library-family-route-page .library-route-stage-links a:hover svg,
body.library-family-route-page .library-route-stage-links a:focus-visible svg,
body.library-family-route-page .library-route-material-row:hover .library-route-material-action svg,
body.library-family-route-page .library-route-material-action:focus-visible svg {
  transform: translateX(4px);
}

body.library-family-route-page .library-route-current,
body.library-family-route-page .library-route-materials {
  min-width: 0;
  padding: 45px clamp(34px, 3.5vw, 56px) 58px;
}

body.library-family-route-page .library-route-section-head {
  display: grid;
  grid-template-columns: auto minmax(42px, 1fr);
  align-items: center;
  gap: 26px;
  min-width: 0;
  margin-bottom: 24px;
}

body.library-family-route-page .library-route-section-head h2 {
  margin: 0;
  color: var(--editorial-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(27px, 2.15vw, 36px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.03em;
}

body.library-family-route-page .library-route-section-head > span {
  display: block;
  height: 1px;
  background: var(--editorial-line);
}

body.library-family-route-page .library-route-current-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.76fr) minmax(0, 1.45fr);
  align-items: stretch;
  gap: 38px;
  min-width: 0;
}

body.library-family-route-page .library-route-current-media {
  display: block;
  min-width: 0;
  min-height: 196px;
  max-height: 240px;
  overflow: hidden;
  background: #eef2f0;
}

body.library-family-route-page .library-route-current-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 196px;
  object-fit: cover;
  object-position: center;
  transition: transform 240ms ease;
}

body.library-family-route-page .library-route-current-media:hover img,
body.library-family-route-page .library-route-current-media:focus-visible img {
  transform: scale(1.025);
}

body.library-family-route-page .library-route-current-list {
  display: grid;
  align-content: stretch;
  min-width: 0;
}

body.library-family-route-page .library-route-current-list a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  min-width: 0;
  padding: 16px 0;
  border-bottom: 1px solid var(--editorial-line);
  color: var(--editorial-ink);
  text-decoration: none;
}

body.library-family-route-page .library-route-current-list a:first-child {
  border-top: 1px solid var(--editorial-line);
}

body.library-family-route-page .library-route-current-list strong {
  font-size: clamp(14px, 1.08vw, 17px);
  font-weight: 540;
  line-height: 1.35;
}

body.library-family-route-page .library-route-current-list time {
  color: #68758a;
  font-size: 11px;
  white-space: nowrap;
}

body.library-family-route-page .library-route-materials {
  border-top: 1px solid var(--editorial-line);
}

body.library-family-route-page .library-route-materials-head {
  grid-template-columns: auto minmax(42px, 1fr) auto auto;
}

body.library-family-route-page .library-route-materials-head p {
  margin: 0;
  color: var(--editorial-muted);
  font-size: 12px;
  white-space: nowrap;
}

body.library-family-route-page .library-route-materials-head p strong {
  color: var(--editorial-green);
  font-size: 15px;
}

body.library-family-route-page [data-library-clear] {
  width: fit-content;
  padding: 0 0 3px;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  color: var(--editorial-green);
  background: transparent;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

body.library-family-route-page .library-route-material-list {
  min-width: 0;
  border-top: 1px solid var(--editorial-line);
}

body.library-family-route-page .library-route-material-row {
  display: grid;
  grid-template-columns: 42px minmax(112px, 142px) minmax(0, 1fr) 76px 24px;
  align-items: center;
  gap: clamp(16px, 1.7vw, 27px);
  min-width: 0;
  padding: 18px 0;
  border-bottom: 1px solid var(--editorial-line);
}

body.library-family-route-page .library-route-material-number {
  align-self: start;
  padding-top: 4px;
  color: var(--editorial-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
}

body.library-family-route-page .library-route-material-media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #eef2f0;
}

body.library-family-route-page .library-route-material-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease;
}

body.library-family-route-page .library-route-material-row:hover .library-route-material-media img {
  transform: scale(1.03);
}

body.library-family-route-page .library-route-material-copy {
  display: grid;
  gap: 6px;
  min-width: 0;
}

body.library-family-route-page .library-route-material-copy > span {
  color: var(--editorial-green);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.055em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.library-family-route-page .library-route-material-copy > a {
  color: var(--editorial-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(19px, 1.45vw, 24px);
  line-height: 1.13;
  letter-spacing: -0.02em;
  text-decoration: none;
}

body.library-family-route-page .library-route-material-copy p {
  display: -webkit-box;
  max-width: 780px;
  margin: 0;
  overflow: hidden;
  color: var(--editorial-muted);
  font-size: 11.5px;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.library-family-route-page .library-route-material-row > time {
  color: #68758a;
  font-size: 10.5px;
  white-space: nowrap;
}

body.library-family-route-page .library-route-material-action {
  display: block;
  color: var(--editorial-green);
}

body.library-family-route-page .library-route-empty {
  padding: 70px 24px;
  text-align: center;
  border-top: 1px solid var(--editorial-line);
  border-bottom: 1px solid var(--editorial-line);
}

body.library-family-route-page .library-route-empty h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
}

body.library-family-route-page .library-route-empty p {
  margin: 12px auto 22px;
  color: var(--editorial-muted);
  font-size: 14px;
}

@media (max-width: 1180px) {
  body.library-family-route-page .library-route-hero {
    grid-template-columns: minmax(0, 1.08fr) minmax(330px, 0.92fr);
    grid-template-rows: auto auto;
  }

  body.library-family-route-page .library-route-intro {
    grid-column: 1;
    grid-row: 1;
    padding-bottom: 18px;
  }

  body.library-family-route-page .library-route-stats {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    width: min(100%, 320px);
    padding: 8px 34px 30px;
  }

  body.library-family-route-page .library-route-hero-media {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  body.library-family-route-page .library-route-path {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 38px;
  }

  body.library-family-route-page .library-route-stage:nth-of-type(3) {
    padding-left: 0;
    border-left: 0;
  }

  body.library-family-route-page .library-route-stage:nth-of-type(2) {
    padding-right: 0;
  }

  body.library-family-route-page .library-route-stage:nth-of-type(3),
  body.library-family-route-page .library-route-stage:nth-of-type(4) {
    padding-top: 36px;
    border-top: 1px solid var(--editorial-line);
  }

  body.library-family-route-page .library-route-stage-heading {
    min-height: 68px;
  }

  body.library-family-route-page .library-route-material-row {
    grid-template-columns: 34px 112px minmax(0, 1fr) 68px 22px;
    gap: 16px;
  }
}

@media (max-width: 1400px) and (min-width: 1181px) {
  body.library-family-route-page .library-route-intro {
    padding-right: 36px;
    padding-left: 36px;
  }
}

@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) {
  body.library-family-route-page .library-route-hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }

  body.library-family-route-page .library-route-intro,
  body.library-family-route-page .library-route-stats,
  body.library-family-route-page .library-route-hero-media {
    grid-column: 1;
  }

  body.library-family-route-page .library-route-intro {
    grid-row: 1;
  }

  body.library-family-route-page .library-route-stats {
    grid-row: 2;
  }

  body.library-family-route-page .library-route-hero-media {
    grid-row: 3;
    min-height: 330px;
  }

  body.library-family-route-page .library-route-current-layout {
    grid-template-columns: 1fr;
  }

  body.library-family-route-page .library-route-current-media {
    max-height: 340px;
  }

  body.library-family-route-page .library-route-material-row {
    grid-template-columns: 34px 104px minmax(0, 1fr) 22px;
  }

  body.library-family-route-page .library-route-material-row > time {
    grid-column: 3;
    font-size: 10px;
  }

  body.library-family-route-page .library-route-material-action {
    grid-column: 4;
    grid-row: 1 / span 2;
  }
}

@media (max-width: 620px) {
  body.library-family-route-page .library-route-intro {
    padding: 38px 20px 22px;
  }

  body.library-family-route-page .library-route-intro h1 {
    font-size: clamp(42px, 12.2vw, 53px);
  }

  body.library-family-route-page .library-route-stats {
    width: 100%;
    padding: 8px 20px 28px;
  }

  body.library-family-route-page .library-route-hero-media {
    min-height: 270px;
  }

  body.library-family-route-page .library-route-path,
  body.library-family-route-page .library-route-current,
  body.library-family-route-page .library-route-materials {
    padding-right: 20px;
    padding-left: 20px;
  }

  body.library-family-route-page .library-route-path {
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  body.library-family-route-page .library-route-stage,
  body.library-family-route-page .library-route-stage:first-of-type,
  body.library-family-route-page .library-route-stage:last-of-type,
  body.library-family-route-page .library-route-stage:nth-of-type(2),
  body.library-family-route-page .library-route-stage:nth-of-type(3),
  body.library-family-route-page .library-route-stage:nth-of-type(4) {
    padding: 30px 0;
    border-top: 1px solid var(--editorial-line);
    border-left: 0;
  }

  body.library-family-route-page .library-route-stage:first-of-type {
    padding-top: 0;
    border-top: 0;
  }

  body.library-family-route-page .library-route-current-layout {
    gap: 22px;
  }

  body.library-family-route-page .library-route-current-list a {
    align-items: start;
    gap: 14px;
  }

  body.library-family-route-page .library-route-materials-head {
    grid-template-columns: auto minmax(24px, 1fr) auto;
  }

  body.library-family-route-page .library-route-materials-head button {
    grid-column: 1 / -1;
  }

  body.library-family-route-page .library-route-material-row {
    grid-template-columns: 28px 92px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    padding: 16px 0;
  }

  body.library-family-route-page .library-route-material-number {
    grid-column: 1;
  }

  body.library-family-route-page .library-route-material-media {
    grid-column: 2;
  }

  body.library-family-route-page .library-route-material-copy {
    grid-column: 3;
  }

  body.library-family-route-page .library-route-material-copy > a {
    font-size: 18px;
  }

  body.library-family-route-page .library-route-material-copy p {
    display: none;
  }

  body.library-family-route-page .library-route-material-row > time {
    grid-column: 3;
    padding-top: 2px;
  }

  body.library-family-route-page .library-route-material-action {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.library-family-route-page *,
  body.library-family-route-page *::before,
  body.library-family-route-page *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
/* v274: approved editorial methods page. */
body.methods-editorial-page {
  --methods-ink: #0b1b38;
  --methods-muted: #53627a;
  --methods-green: #23834d;
  --methods-line: #dce3e8;
  color: var(--methods-ink);
  background: #ffffff;
}

body.methods-editorial-page .methods-editorial-shell {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin: 0;
  background: #ffffff;
}

body.methods-editorial-page .methods-editorial-hero {
  display: grid;
  grid-template-columns: minmax(380px, 1.66fr) minmax(340px, 1.5fr) minmax(230px, 1fr);
  min-width: 0;
  border-bottom: 1px solid var(--methods-line);
}

body.methods-editorial-page .methods-editorial-hero-media {
  min-width: 0;
  min-height: clamp(408px, 30.3vw, 480px);
  margin: 0;
  overflow: hidden;
  border-right: 1px solid var(--methods-line);
  background: #eef2f0;
}

body.methods-editorial-page .methods-editorial-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(408px, 30.3vw, 480px);
  object-fit: cover;
  object-position: center;
}

body.methods-editorial-page .methods-editorial-hero-copy {
  box-sizing: border-box;
  display: grid;
  align-content: center;
  min-width: 0;
  padding: 48px clamp(42px, 4.8vw, 78px) 38px;
  border-right: 1px solid var(--methods-line);
}

body.methods-editorial-page .methods-editorial-hero-copy h1 {
  margin: 0;
  color: var(--methods-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(43px, 3.55vw, 56px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.035em;
}

body.methods-editorial-page .methods-editorial-hero-copy p {
  max-width: 360px;
  margin: 25px 0 0;
  color: var(--methods-muted);
  font-size: clamp(16px, 1.15vw, 18px);
  line-height: 1.5;
}

body.methods-editorial-page .methods-editorial-hero-copy > a,
body.methods-editorial-page .methods-editorial-all-link,
body.methods-editorial-page .methods-editorial-direction > span {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
  color: var(--methods-green);
  text-decoration: none;
}

body.methods-editorial-page .methods-editorial-hero-copy > a {
  margin-top: 32px;
  font-size: 16px;
  font-weight: 500;
}

body.methods-editorial-page :is(
  .methods-editorial-hero-copy,
  .methods-editorial-latest,
  .methods-editorial-direction,
  .methods-editorial-material-arrow
) svg {
  display: block;
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

body.methods-editorial-page .methods-editorial-hero-copy > a:hover svg,
body.methods-editorial-page .methods-editorial-latest a:hover svg,
body.methods-editorial-page .methods-editorial-direction:hover svg,
body.methods-editorial-page .methods-editorial-material-row:hover .methods-editorial-material-arrow svg {
  transform: translateX(4px);
}

body.methods-editorial-page .methods-editorial-latest {
  box-sizing: border-box;
  display: grid;
  align-content: start;
  min-width: 0;
  padding: 54px clamp(28px, 2.7vw, 42px) 28px;
}

body.methods-editorial-page .methods-editorial-latest h2 {
  margin: 0 0 26px;
  color: var(--methods-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 29px;
  font-weight: 400;
  line-height: 1;
}

body.methods-editorial-page .methods-editorial-latest [data-methods-latest] {
  display: grid;
}

body.methods-editorial-page .methods-editorial-latest [data-methods-latest] > a {
  display: grid;
  gap: 7px;
  padding: 0 0 21px;
  color: var(--methods-ink);
  text-decoration: none;
}

body.methods-editorial-page .methods-editorial-latest [data-methods-latest] > a + a {
  padding-top: 21px;
  border-top: 1px solid var(--methods-line);
}

body.methods-editorial-page .methods-editorial-latest time {
  color: var(--methods-muted);
  font-size: 13px;
}

body.methods-editorial-page .methods-editorial-latest strong {
  color: inherit;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(16px, 1.18vw, 18px);
  font-weight: 400;
  line-height: 1.35;
}

body.methods-editorial-page .methods-editorial-latest [data-methods-latest] > a:hover,
body.methods-editorial-page .methods-editorial-latest [data-methods-latest] > a:focus-visible {
  color: var(--methods-green);
  outline: 0;
}

body.methods-editorial-page .methods-editorial-all-link {
  margin-top: 16px;
  font-size: 15px;
  font-weight: 500;
}

body.methods-editorial-page .methods-editorial-directions {
  padding: 22px clamp(34px, 3.4vw, 44px) 40px;
  border-bottom: 1px solid var(--methods-line);
}

body.methods-editorial-page .methods-editorial-section-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  margin-bottom: 20px;
}

body.methods-editorial-page .methods-editorial-section-head h2 {
  margin: 0;
  color: var(--methods-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(31px, 2.5vw, 38px);
  font-weight: 400;
  line-height: 1;
}

body.methods-editorial-page .methods-editorial-section-head > span {
  height: 1px;
  background: var(--methods-line);
}

body.methods-editorial-page .methods-editorial-direction-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.methods-editorial-page .methods-editorial-direction {
  box-sizing: border-box;
  display: grid;
  align-content: start;
  min-width: 0;
  padding: 0 24px;
  color: var(--methods-ink);
  text-decoration: none;
}

body.methods-editorial-page .methods-editorial-direction:first-child {
  padding-left: 0;
}

body.methods-editorial-page .methods-editorial-direction:last-child {
  padding-right: 0;
}

body.methods-editorial-page .methods-editorial-direction + .methods-editorial-direction {
  border-left: 1px solid var(--methods-line);
}

body.methods-editorial-page .methods-editorial-direction img {
  display: block;
  width: 100%;
  aspect-ratio: 1.9 / 1;
  object-fit: cover;
  object-position: center;
  background: #eef2f0;
}

body.methods-editorial-page .methods-editorial-direction > strong {
  display: block;
  margin-top: 13px;
  color: var(--methods-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 1.85vw, 28px);
  font-weight: 400;
  line-height: 1.08;
}

body.methods-editorial-page .methods-editorial-direction > p {
  min-height: 44px;
  margin: 8px 0 0;
  color: var(--methods-muted);
  font-size: 14px;
  line-height: 1.35;
}

body.methods-editorial-page .methods-editorial-direction > span {
  margin-top: 14px;
  font-size: 14px;
  font-weight: 500;
}

body.methods-editorial-page .methods-editorial-direction:hover > strong,
body.methods-editorial-page .methods-editorial-direction:focus-visible > strong {
  color: var(--methods-green);
}

body.methods-editorial-page .methods-editorial-direction:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.35);
  outline-offset: 6px;
}

body.methods-editorial-page .methods-editorial-materials {
  padding: 66px clamp(34px, 3.4vw, 50px) 94px;
}

body.methods-editorial-page .methods-editorial-material-list {
  border-bottom: 1px solid var(--methods-line);
}

body.methods-editorial-page .methods-editorial-material-row {
  display: grid;
  grid-template-columns: 100px 52px minmax(0, 1fr) 32px;
  align-items: start;
  gap: 20px;
  padding: 25px 8px;
  border-top: 1px solid var(--methods-line);
  color: var(--methods-ink);
  text-decoration: none;
}

body.methods-editorial-page .methods-editorial-material-row time {
  padding-top: 4px;
  color: var(--methods-muted);
  font-size: 13px;
}

body.methods-editorial-page .methods-editorial-material-number {
  color: var(--methods-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1;
}

body.methods-editorial-page .methods-editorial-material-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
}

body.methods-editorial-page .methods-editorial-material-copy strong {
  color: inherit;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 1.8vw, 28px);
  font-weight: 400;
  line-height: 1.12;
}

body.methods-editorial-page .methods-editorial-material-copy small {
  display: -webkit-box;
  max-width: 950px;
  overflow: hidden;
  color: var(--methods-muted);
  font-size: 14px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.methods-editorial-page .methods-editorial-material-arrow {
  display: grid;
  place-items: center;
  padding-top: 2px;
  color: var(--methods-green);
}

body.methods-editorial-page .methods-editorial-material-row:hover,
body.methods-editorial-page .methods-editorial-material-row:focus-visible {
  color: var(--methods-green);
  outline: 0;
}

@media (min-width: 901px) and (max-width: 1400px) {
  body.methods-editorial-page .methods-editorial-hero-copy {
    padding-right: 34px;
    padding-left: 34px;
  }

  body.methods-editorial-page .methods-editorial-hero-copy h1 {
    font-size: clamp(42px, 3.55vw, 48px);
  }
}

@media (max-width: 1180px) {
  body.methods-editorial-page .methods-editorial-hero {
    grid-template-columns: minmax(360px, 1.16fr) minmax(330px, 1fr);
  }

  body.methods-editorial-page .methods-editorial-latest {
    grid-column: 1 / -1;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 28px;
    padding-top: 28px;
    border-top: 1px solid var(--methods-line);
  }

  body.methods-editorial-page .methods-editorial-latest [data-methods-latest] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.methods-editorial-page .methods-editorial-latest [data-methods-latest] > a {
    padding: 0 20px;
  }

  body.methods-editorial-page .methods-editorial-latest [data-methods-latest] > a + a {
    padding-top: 0;
    border-top: 0;
    border-left: 1px solid var(--methods-line);
  }

  body.methods-editorial-page .methods-editorial-all-link {
    grid-column: 2;
    margin-top: 0;
  }
}

@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) {
  body.methods-editorial-page .methods-editorial-hero {
    grid-template-columns: 1fr;
  }

  body.methods-editorial-page .methods-editorial-hero-media,
  body.methods-editorial-page .methods-editorial-hero-media img {
    min-height: min(88vw, 480px);
  }

  body.methods-editorial-page .methods-editorial-hero-media {
    border-right: 0;
  }

  body.methods-editorial-page .methods-editorial-hero-copy {
    border-top: 1px solid var(--methods-line);
    border-right: 0;
  }

  body.methods-editorial-page .methods-editorial-hero-copy h1 {
    font-size: clamp(38px, 10vw, 52px);
  }

  body.methods-editorial-page .methods-editorial-latest {
    grid-template-columns: 1fr;
  }

  body.methods-editorial-page .methods-editorial-all-link {
    grid-column: auto;
  }

  body.methods-editorial-page .methods-editorial-latest [data-methods-latest],
  body.methods-editorial-page .methods-editorial-direction-grid {
    grid-template-columns: 1fr;
  }

  body.methods-editorial-page .methods-editorial-latest [data-methods-latest] > a,
  body.methods-editorial-page .methods-editorial-latest [data-methods-latest] > a + a {
    padding: 18px 0;
    border-top: 1px solid var(--methods-line);
    border-left: 0;
  }

  body.methods-editorial-page .methods-editorial-direction {
    padding: 28px 0;
  }

  body.methods-editorial-page .methods-editorial-direction + .methods-editorial-direction {
    border-top: 1px solid var(--methods-line);
    border-left: 0;
  }

  body.methods-editorial-page .methods-editorial-material-row {
    grid-template-columns: 66px minmax(0, 1fr) 28px;
  }

  body.methods-editorial-page .methods-editorial-material-number,
  body.methods-editorial-page .methods-editorial-material-copy small {
    display: none;
  }
}


* {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: var(--text);
  background: var(--bg);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea {
  font: inherit;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
}

.header-inner,
.footer-inner,
.page-shell {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}

.header-inner {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 92px;
}

.logo {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 240px;
}

.logo-mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(135deg, var(--green), var(--blue));
  font-weight: 700;
}

.logo-image {
  width: 62px;
  height: 62px;
  object-fit: contain;
  flex: 0 0 auto;
}

.logo-title {
  display: block;
  color: var(--green);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.15;
}

.logo-subtitle {
  display: block;
  color: var(--muted);
  font-size: 13px;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

.icon-button,
.text-button,
.primary-button,
.secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
}

.icon-button {
  width: 42px;
  color: var(--green);
  background: #eef7f1;
}

.icon-button:hover,
.text-button:hover,
.primary-button:hover,
.secondary-button:hover {
  transform: translateY(-1px);
}

.menu-button {
  color: #fff;
  background: var(--green);
}

.text-button {
  padding: 0 14px;
  color: var(--text);
  background: transparent;
}

.primary-button {
  padding: 0 18px;
  color: #fff;
  background: var(--green);
}

.primary-button:hover {
  background: var(--green-dark);
}

.secondary-button {
  padding: 0 18px;
  color: #fff;
  background: #697887;
}

.menu-panel {
  display: none;
  border-top: 1px solid var(--border);
  background: var(--surface);
}

.menu-panel.is-open {
  display: block;
}

.menu-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  padding: 18px 0;
}

.menu-link {
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fbfdfd;
}

.menu-link:hover {
  border-color: var(--green);
}

.page-shell {
  padding: 42px 0 64px;
}

.section {
  margin-bottom: 34px;
}

.section-head {
  max-width: 780px;
  margin-bottom: 22px;
}

.eyebrow {
  margin: 0 0 8px;
  color: var(--green);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  margin-bottom: 12px;
  font-size: clamp(30px, 5vw, 52px);
  line-height: 1.08;
}

h2 {
  margin-bottom: 16px;
  font-size: 28px;
}

h3 {
  margin-bottom: 8px;
  font-size: 20px;
  line-height: 1.2;
}

.lead {
  color: var(--muted);
  font-size: 18px;
}

.section-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.section-card,
.article-card,
.info-panel,
.course-card,
.contact-panel {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.section-card {
  display: block;
  min-height: 170px;
  padding: 22px;
}

.section-card:hover,
.article-card:hover,
.course-card:hover {
  border-color: var(--green);
}

.card-icon {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  border-radius: 50%;
  color: var(--green-dark);
  background: #e7f7ed;
  font-weight: 700;
}

.card-icon.blue {
  color: var(--blue);
  background: #e9f1fb;
}

.card-icon.coral {
  color: var(--coral);
  background: #fff0ec;
}

.card-icon.yellow {
  color: #89660c;
  background: #fff6d9;
}

.article-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.article-card,
.course-card {
  display: block;
  padding: 20px;
}

.article-card time,
.tag {
  color: var(--muted);
  font-size: 13px;
}

.is-hidden {
  display: none;
}

.actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.info-panel,
.contact-panel {
  padding: 22px;
}

.two-column {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 18px;
}

.search-inline,
.chat-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.input-line,
.chat-input,
textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: none;
  align-items: flex-start;
  justify-content: center;
  padding: 96px 16px 16px;
  background: rgba(9, 20, 28, 0.44);
}

.modal-backdrop.is-open {
  display: flex;
}

.modal {
  width: min(560px, 100%);
  padding: 24px;
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 20px 80px rgba(0, 0, 0, 0.22);
}

.modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.chat-window {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 300px;
  max-height: 520px;
  overflow: auto;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fbfdfd;
}

.message {
  max-width: 82%;
  padding: 12px 14px;
  border-radius: 8px;
  background: #eef4fb;
}

.message.user {
  align-self: flex-end;
  color: #fff;
  background: var(--blue);
}

.message.bot {
  align-self: flex-start;
  background: #eaf7ef;
}

.message.system {
  max-width: 100%;
  color: var(--muted);
  background: transparent;
}

.assistant-launcher {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 90;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  padding: 5px;
  border: 1px solid rgba(203, 218, 232, 0.86);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 45px rgba(10, 36, 62, 0.2);
  cursor: pointer;
  backdrop-filter: blur(16px);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.assistant-launcher:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 60px rgba(10, 36, 62, 0.26);
}

.assistant-launcher::before {
  content: "";
  position: absolute;
  inset: -7px;
  border: 1px solid rgba(0, 177, 194, 0.28);
  border-radius: 50%;
  animation: assistant-pulse 2.4s ease-in-out infinite;
}

.assistant-launcher img {
  position: relative;
  z-index: 1;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  object-fit: cover;
}

.assistant-launcher-dot {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 2;
  width: 13px;
  height: 13px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #0bbf72;
}

@keyframes assistant-pulse {
  50% {
    transform: scale(1.08);
    opacity: 0.34;
  }
}

.assistant-drawer {
  position: fixed;
  right: 22px;
  bottom: 98px;
  z-index: 89;
  display: none;
  width: min(372px, calc(100% - 36px));
  overflow: hidden;
  border: 1px solid rgba(203, 218, 232, 0.9);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 28px 90px rgba(9, 20, 28, 0.24);
  backdrop-filter: blur(18px);
}

.assistant-drawer.is-open {
  display: block;
}

.assistant-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  color: #10214a;
  background: linear-gradient(135deg, #f9fdff, #eef8fb);
}

.assistant-head h2 {
  margin: 0;
  color: #049b61;
  font-size: 18px;
}

.assistant-head p {
  margin: 2px 0 0;
  color: #667a98;
  font-size: 12px;
}

.assistant-head-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.assistant-head-title img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
}

.assistant-body {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.assistant-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.chip-button {
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  background: #fbfdfd;
  cursor: pointer;
}

.chip-button:hover {
  border-color: var(--green);
}

.assistant-messages {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 150px;
  max-height: 245px;
  overflow: auto;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fbfdfd;
}

.assistant-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.assistant-page-link {
  display: flex;
  justify-content: center;
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 14px;
  color: #1464d8;
  background: #f2f7ff;
  font-weight: 700;
}

body.portal-home .assistant-launcher {
  display: none;
}

.cookie-banner {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 30;
  display: none;
  max-width: 360px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.cookie-banner.is-visible {
  display: block;
}

.site-footer {
  border-top: 1px solid var(--border);
  background: #ffffff;
}

.footer-inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 18px;
  padding: 34px 0;
}

.footer-nav {
  display: grid;
  gap: 8px;
}

.muted {
  color: var(--muted);
}

body.portal-home {
  min-height: 100vh;
  overflow-x: hidden;
  color: #0d1b3d;
  background:
    radial-gradient(circle at 45% 12%, rgba(44, 183, 222, 0.14), transparent 26%),
    radial-gradient(circle at 82% 68%, rgba(11, 142, 54, 0.12), transparent 26%),
    linear-gradient(135deg, #f8fbff 0%, #eef6fa 52%, #f7fbff 100%);
}

.home-shell {
  display: grid;
  grid-template-columns: clamp(176px, 12vw, 210px) minmax(0, 1fr) clamp(300px, 20vw, 340px);
  gap: clamp(14px, 1.2vw, 22px);
  width: min(100%, 1880px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 clamp(16px, 1.7vw, 28px) 30px 0;
  transition: grid-template-columns 0.24s ease;
}

.home-shell.is-ai-rail-closed {
  grid-template-columns: clamp(176px, 12vw, 210px) minmax(0, 1fr);
}

.home-shell.is-ai-rail-closed .ai-home-panel {
  display: none;
}

.home-sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
  height: 100vh;
  padding: 22px 14px 18px;
  border: 1px solid rgba(192, 211, 226, 0.72);
  border-left: 0;
  border-radius: 0 26px 26px 0;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 18px 0 50px rgba(50, 78, 110, 0.08);
  backdrop-filter: blur(20px);
}

.home-brand {
  display: flex;
  justify-content: center;
  padding: 0 0 16px;
}

.home-brand img {
  width: min(138px, 86%);
  height: 160px;
  object-fit: contain;
  filter: drop-shadow(0 10px 16px rgba(49, 79, 116, 0.08));
}

.home-nav {
  display: grid;
  gap: 6px;
  position: relative;
  z-index: 3;
  overflow: hidden;
  padding-right: 0;
}

.home-nav-item {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 44px;
  width: 100%;
  padding: 0 14px;
  border-radius: 14px;
  color: #4b5f85;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.18;
  transform-origin: left center;
  max-width: 100%;
  justify-self: stretch;
  transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1), color 0.2s ease;
  will-change: transform;
}

.home-nav-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 0 16px 16px 0;
  background: linear-gradient(90deg, rgba(9, 173, 111, 0.2), rgba(9, 173, 111, 0.08) 72%, rgba(255, 255, 255, 0));
  opacity: 0;
  transform: translateX(-12px) scaleX(0.94);
  transform-origin: left center;
  transition: transform 0.24s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.18s ease;
}

.home-nav-item::after {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 4px;
  border-radius: 0 8px 8px 0;
  background: #09ad6f;
  opacity: 0;
  transition: opacity 0.18s ease;
}

.home-nav-item span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: #315c93;
  font-size: 18px;
}

.home-nav-item:hover,
.home-nav-item:focus-visible {
  color: #008d53;
  transform: none;
}

.home-nav-item.is-active {
  color: #008d53;
  transform: none;
}

.home-nav-item:hover::before,
.home-nav-item:focus-visible::before {
  opacity: 0.72;
  transform: translateX(0) scaleX(1);
}

.home-nav-item.is-active::before {
  opacity: 1;
  transform: translateX(0) scaleX(1);
}

.home-nav-item.is-active::after {
  opacity: 1;
}

.progress-card,
.help-card,
.ai-panel-card,
.quick-actions,
.content-lane,
.content-panel {
  min-width: 0;
  border: 0;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 22px 60px rgba(43, 69, 101, 0.09);
  backdrop-filter: blur(18px);
}

.progress-card {
  padding: 14px;
}

.progress-card h3 {
  font-size: 13px;
  line-height: 1.25;
}

.progress-card h3,
.quick-actions h3,
.content-panel h2,
.content-lane h2 {
  margin: 0;
  color: #10214a;
}

.progress-ring {
  display: grid;
  place-items: center;
  width: 104px;
  height: 104px;
  margin: 12px auto;
  border-radius: 50%;
  background:
    radial-gradient(circle, #fff 57%, transparent 58%),
    conic-gradient(#17c87a 0 245deg, #2caee8 245deg 292deg, #eef3f8 292deg);
}

.progress-ring span {
  display: block;
  font-size: 24px;
  font-weight: 800;
}

.progress-ring small {
  margin-top: -8px;
  color: #7888a5;
  font-size: 10px;
}

.progress-card .muted {
  margin-bottom: 4px;
  font-size: 11px;
}

.progress-card a {
  font-size: 11px;
  line-height: 1.25;
}

.progress-card a,
.help-card a,
.lane-head a,
.ai-page-link {
  color: #1464d8;
  font-weight: 700;
}

.help-card {
  margin-top: auto;
  padding: 12px;
}

.help-card p {
  margin-bottom: 8px;
  color: #10214a;
  font-size: 12px;
  font-weight: 700;
}

.mini-button {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  padding: 10px;
  border-radius: 14px;
  background: #f2f7ff;
}

.home-main {
  min-width: 0;
  padding-top: 18px;
}

.home-topbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  margin-bottom: 12px;
  padding-right: 360px;
}

.home-topbar h1 {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.32em;
  max-width: 960px;
  margin: 0;
  color: #0f8f49;
  font-size: clamp(34px, 3.4vw, 64px);
  font-weight: 800;
  line-height: 0.98;
  letter-spacing: 0;
  text-wrap: balance;
  text-shadow: 0 10px 34px rgba(14, 127, 74, 0.12);
}

.home-topbar h1 span {
  background: linear-gradient(120deg, #078434 0%, #119b5f 54%, #1678a8 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.home-topbar p {
  max-width: 680px;
  margin: 14px 0 0;
  color: #315f73;
  font-size: clamp(18px, 1.45vw, 27px);
  font-weight: 700;
  line-height: 1.25;
  text-wrap: balance;
}

.cluster-pill,
.ai-cluster {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 17px;
  border: 1px solid rgba(203, 218, 232, 0.76);
  border-radius: 22px;
  color: #6680a5;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 12px 30px rgba(43, 69, 101, 0.07);
  white-space: nowrap;
}

.cluster-pill span,
.ai-cluster span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #11b96e;
  box-shadow: 0 0 0 6px rgba(17, 185, 110, 0.12);
}

.cluster-pill strong,
.ai-cluster strong {
  display: grid;
  place-items: center;
  width: 34px;
  height: 24px;
  border-radius: 8px;
  color: #0b3b72;
  background: #e6f4ff;
}

.user-tools {
  position: fixed;
  top: 26px;
  right: 34px;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.round-tool {
  position: relative;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(203, 218, 232, 0.8);
  border-radius: 50%;
  color: #10214a;
  background: rgba(255, 255, 255, 0.84);
  cursor: pointer;
}

.round-tool b {
  position: absolute;
  top: -2px;
  right: 0;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  color: #fff;
  background: #ff3b30;
  font-size: 11px;
}

.login-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 104px;
  height: 52px;
  padding: 0 22px;
  border: 1px solid rgba(203, 218, 232, 0.8);
  border-radius: 26px;
  color: #0f8f58;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 10px 24px rgba(43, 69, 101, 0.08);
  font-weight: 800;
  cursor: pointer;
}

.avatar {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #22c384, #2a83d8);
  font-weight: 800;
}

.avatar.small {
  width: 34px;
  height: 34px;
  font-size: 11px;
}

.hero-console {
  position: relative;
  padding-top: 12px;
}

.hero-search {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  width: min(680px, 78%);
  min-height: 58px;
  margin: 0 auto 14px;
  padding: 8px 12px 8px 20px;
  border: 1px solid rgba(198, 216, 232, 0.92);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 60px rgba(43, 69, 101, 0.12);
  backdrop-filter: blur(18px);
}

.hero-search span {
  color: #23548e;
  font-size: 24px;
}

.hero-search input {
  min-width: 0;
  border: 0;
  outline: 0;
  color: #0d1b3d;
  background: transparent;
  font-size: 18px;
}

.hero-search button,
.ai-panel-form button {
  min-height: 46px;
  padding: 0 18px;
  border: 0;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(135deg, #09ad6f, #00a6d8);
  box-shadow: 0 12px 25px rgba(0, 158, 133, 0.26);
  cursor: pointer;
}

.family-map {
  position: relative;
  min-height: clamp(360px, 23vw, 440px);
  overflow: hidden;
  border-radius: 34px;
  background:
    radial-gradient(ellipse at 50% 45%, rgba(94, 215, 239, 0.26), transparent 38%),
    linear-gradient(180deg, rgba(248, 252, 255, 0.88), rgba(232, 246, 252, 0.72));
}

.family-map::before {
  content: "";
  position: absolute;
  inset: 74px 10px 24px;
  border-radius: 48% 52% 45% 55% / 52% 46% 54% 48%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.94), rgba(206, 240, 249, 0.55) 48%, rgba(222, 244, 251, 0.16) 70%),
    linear-gradient(120deg, rgba(255, 255, 255, 0.78), rgba(175, 226, 241, 0.28));
  filter: drop-shadow(0 30px 55px rgba(63, 114, 154, 0.14));
}

.soft-cloud {
  position: absolute;
  width: 58px;
  height: 22px;
  border-radius: 50px;
  background: rgba(255, 255, 255, 0.74);
  filter: blur(1px);
}

.soft-cloud::before,
.soft-cloud::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: inherit;
}

.soft-cloud::before {
  width: 26px;
  height: 26px;
  left: 9px;
  top: -12px;
}

.soft-cloud::after {
  width: 34px;
  height: 34px;
  right: 7px;
  top: -18px;
}

.cloud-a {
  left: 9%;
  top: 58px;
}

.cloud-b {
  right: 7%;
  top: 52px;
}

.route-lines {
  position: absolute;
  inset: 82px 26px 38px;
  z-index: 1;
  width: calc(100% - 52px);
  height: calc(100% - 120px);
  overflow: visible;
}

.route {
  fill: none;
  stroke-width: 7;
  stroke-linecap: round;
  stroke-dasharray: 8 14;
  animation: route-flow 7s linear infinite;
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.9));
}

.route-blue {
  stroke: #42cbe9;
}

.route-green {
  stroke: #26c977;
}

.route-yellow {
  stroke: #ffb84a;
}

.route-violet {
  stroke: #a874ff;
}

@keyframes route-flow {
  to {
    stroke-dashoffset: -120;
  }
}

.map-island {
  position: absolute;
  z-index: 2;
  display: grid;
  grid-template-columns: 92px minmax(138px, 1fr);
  align-items: center;
  gap: 14px;
  min-width: 220px;
  padding: 13px 16px;
  border: 1px solid rgba(198, 216, 232, 0.88);
  border-radius: 20px;
  color: #10214a;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 18px 40px rgba(43, 69, 101, 0.12);
  backdrop-filter: blur(16px);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.map-island:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 28px 70px rgba(43, 69, 101, 0.18);
}

.map-island strong,
.map-island small {
  display: block;
}

.map-island small {
  margin-top: 4px;
  color: #5f7194;
}

.island-visual {
  display: grid;
  place-items: center;
  width: 92px;
  height: 66px;
  border-radius: 50%;
  color: #fff;
  font-size: 28px;
  box-shadow: inset 0 -12px 18px rgba(0, 0, 0, 0.1), 0 18px 32px rgba(42, 98, 150, 0.2);
}

.book-visual {
  background: linear-gradient(135deg, #4ab7ff, #0b69d8);
}

.rehab-visual {
  background: linear-gradient(135deg, #69d589, #16a765);
}

.law-visual {
  background: linear-gradient(135deg, #ffd45f, #d9a600);
}

.doctors-visual {
  background: linear-gradient(135deg, #55d8e0, #10abc2);
}

.equipment-visual {
  background: linear-gradient(135deg, #b38dff, #705cf0);
}

.education-visual {
  background: linear-gradient(135deg, #ff9a69, #e7522d);
}

.island-library {
  top: 114px;
  left: 95px;
}

.island-rehab {
  top: 252px;
  left: 120px;
}

.island-law {
  bottom: 78px;
  left: 205px;
}

.island-doctors {
  top: 111px;
  right: 112px;
}

.island-equipment {
  top: 270px;
  right: 72px;
}

.island-education {
  right: 128px;
  bottom: 76px;
}

.family-center {
  position: absolute;
  left: 50%;
  top: 52%;
  z-index: 3;
  display: grid;
  justify-items: center;
  width: 270px;
  transform: translate(-50%, -50%);
  text-align: center;
}

.pin {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 8px;
  border-radius: 50%;
  color: #fff;
  background: #27a8ef;
  box-shadow: 0 0 0 10px rgba(39, 168, 239, 0.14);
}

.family-figures {
  position: relative;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 7px;
  width: 168px;
  height: 110px;
  margin-bottom: 4px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.92) 28%, rgba(139, 237, 194, 0.4) 70%, transparent 72%);
  box-shadow: 0 0 36px rgba(74, 215, 167, 0.4);
}

.family-figures i {
  display: block;
  width: 22px;
  height: 62px;
  border-radius: 16px 16px 8px 8px;
  background: linear-gradient(#24416e 0 18px, #18b48c 19px);
}

.family-figures i:nth-child(2) {
  height: 78px;
  background: linear-gradient(#2e4578 0 20px, #f2a56c 21px);
}

.family-figures i:nth-child(3) {
  height: 52px;
  background: linear-gradient(#31538a 0 15px, #51c6dd 16px);
}

.family-center h2 {
  margin: 0;
  font-size: 25px;
}

.family-center p {
  margin: 8px 0 0;
  color: #5f7194;
}

.map-down {
  position: absolute;
  left: 50%;
  bottom: 22px;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 54px;
  height: 42px;
  border: 1px solid rgba(198, 216, 232, 0.88);
  border-radius: 22px;
  color: #0c668d;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 14px 30px rgba(43, 69, 101, 0.14);
  transform: translateX(-50%);
}

.content-lane {
  margin-top: 12px;
  padding: 12px 18px 14px;
}

.lane-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.lane-head h2 {
  min-width: 0;
  font-size: 20px;
  line-height: 1.14;
  overflow-wrap: anywhere;
}

.lane-head a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 30px;
  padding: 0 14px;
  border: 1px solid rgba(203, 218, 232, 0.8);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(43, 69, 101, 0.07);
}

.material-carousel {
  display: grid;
  grid-template-columns: 36px repeat(4, minmax(180px, 213px)) 36px;
  gap: 12px;
  align-items: center;
  justify-content: center;
}

.carousel-button {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  color: #10214a;
  background: #fff;
  box-shadow: 0 10px 24px rgba(43, 69, 101, 0.12);
  cursor: pointer;
}

.material-card {
  position: relative;
  width: 100%;
  aspect-ratio: 426 / 236;
  height: auto;
  overflow: hidden;
  isolation: isolate;
  padding: 15px 42px 14px 16px;
  border: 1px solid rgba(203, 218, 232, 0.8);
  border-radius: 18px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.48);
  transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.material-card::before,
.material-card::after {
  content: "";
  position: absolute;
  inset: 0;
}

.material-card::before {
  z-index: 0;
  background-image: url("/assets/generated/material-thumbnails.png");
  background-repeat: no-repeat;
  background-size: 200% 200%;
  opacity: 1;
  filter: saturate(1.08) contrast(1.03);
  transform: scale(1.02);
  transition: transform 0.28s ease;
}

.material-card::after {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.93) 38%, rgba(255, 255, 255, 0.58) 58%, rgba(255, 255, 255, 0.12) 82%, rgba(255, 255, 255, 0.02) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(245, 250, 255, 0.24));
}

.material-card:hover {
  border-color: rgba(122, 174, 214, 0.86);
  box-shadow: 0 16px 36px rgba(43, 69, 101, 0.1);
  transform: translateY(-2px);
}

.material-card:hover::before {
  transform: scale(1.07);
}

.material-card {
  padding: 0;
}

.material-card::before,
.material-card::after {
  display: none;
}

.material-card-art {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.specialists-panel .specialist-row {
  gap: 10px;
}

.specialists-panel .specialist-card {
  min-height: 154px;
  gap: 5px;
  padding: 10px;
  border-radius: 16px;
  background: linear-gradient(135deg, #ffffff, #f9fcff);
}

.specialists-panel .portrait {
  width: 100%;
  height: 70px;
  border-radius: 14px;
}

.specialists-panel .specialist-card small {
  margin-top: 2px;
  font-size: 10px;
  line-height: 1.05;
  text-transform: none;
}

.specialists-panel .specialist-card strong {
  font-size: 12px;
  line-height: 1.12;
}

.specialists-panel .specialist-card b {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  line-height: 1;
}

.specialists-panel .specialist-card b em {
  color: #7184a5;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
}

.material-routine::before {
  background-position: 0 0;
}

.material-communication::before {
  background-position: 100% 0;
}

.material-benefits::before {
  background-position: 0 100%;
}

.material-success::before {
  background-position: 100% 100%;
}

.material-card h3 {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  max-width: 88%;
  max-height: 52px;
  margin: 8px 0 6px;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.18;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.material-card p {
  position: relative;
  z-index: 2;
  margin: 0;
  color: #7586a2;
  font-size: 12px;
}

.label {
  position: relative;
  z-index: 2;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.label.green {
  color: #07a25f;
}

.label.violet {
  color: #7a52d6;
}

.label.coral {
  color: #e95d3f;
}

.thumb {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 88px;
  height: 88px;
  border-radius: 24px 0 18px 0;
  display: none;
}

.child-thumb {
  background:
    radial-gradient(circle at 42% 32%, #f3c093 0 11px, transparent 12px),
    linear-gradient(130deg, transparent 0 42%, rgba(255, 255, 255, 0.68) 43%),
    linear-gradient(135deg, #b5edf0, #f8d7aa);
}

.therapy-thumb {
  background:
    radial-gradient(circle at 30% 35%, #f2b888 0 12px, transparent 13px),
    radial-gradient(circle at 70% 38%, #dfac84 0 12px, transparent 13px),
    linear-gradient(135deg, #d7f0ff, #f2dfd2);
}

.document-thumb {
  background:
    linear-gradient(90deg, transparent 34%, rgba(255, 255, 255, 0.65) 35% 70%, transparent 71%),
    linear-gradient(135deg, #b1d4ff, #eef6ff);
}

.portrait-thumb {
  background:
    radial-gradient(circle at 52% 28%, #e7b081 0 15px, transparent 16px),
    linear-gradient(135deg, #dbf8e8, #ffe4cf);
}

.bottom-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items: start;
  gap: 18px;
  margin-top: 12px;
}

.content-panel {
  overflow: visible;
  padding: 14px;
}

.bottom-grid .lane-head {
  align-items: flex-start;
  margin-bottom: 12px;
}

.bottom-grid .lane-head h2 {
  font-size: 20px;
  line-height: 1.15;
}

.bottom-grid .lane-head a {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0 16px;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
}

.mini-card-grid,
.specialist-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.webinar-card,
.specialist-card {
  display: grid;
  gap: 6px;
  min-height: 0;
  height: auto;
  min-height: 126px;
  overflow: visible;
  align-content: start;
  padding: 12px;
  border: 1px solid rgba(203, 218, 232, 0.8);
  border-radius: 16px;
  background: linear-gradient(135deg, #fff, #f7fbff);
}

.webinar-card {
  min-height: 132px;
}

.webinar-card .avatar.small {
  width: 38px;
  height: 38px;
  font-size: 12px;
}

.webinar-card small,
.specialist-card small {
  color: #6480a8;
  font-size: 11px;
  line-height: 1.15;
  text-transform: uppercase;
}

.webinar-card strong,
.specialist-card strong {
  display: -webkit-box;
  overflow: hidden;
  color: #10214a;
  font-size: 14px;
  line-height: 1.2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.webinar-card p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: #3a4d72;
  font-size: 12px;
  line-height: 1.22;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.tiny-progress {
  height: 4px;
  overflow: hidden;
  border-radius: 20px;
  background: #e9eff5;
}

.tiny-progress span {
  display: block;
  width: 36%;
  height: 100%;
  background: #20c17a;
}

.portrait {
  width: 84px;
  height: 58px;
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 26%, #f1bd91 0 16px, transparent 17px),
    linear-gradient(135deg, #d7efff, #ffffff);
}

.portrait.male {
  background:
    radial-gradient(circle at 50% 26%, #dca276 0 16px, transparent 17px),
    linear-gradient(135deg, #dbe8f7, #ffffff);
}

.portrait.female-two {
  background:
    radial-gradient(circle at 50% 26%, #e9ad80 0 16px, transparent 17px),
    linear-gradient(135deg, #e5fff2, #ffffff);
}

.specialist-card b {
  color: #ffb000;
}

.ai-home-panel {
  position: sticky;
  top: 0;
  align-self: start;
  display: grid;
  gap: 16px;
  padding-top: 136px;
}

.ai-panel-card {
  padding: 18px;
  border-radius: 24px;
  transition: opacity 0.18s ease, transform 0.22s ease;
}

.ai-panel-card.is-hidden {
  display: none;
}

.ai-panel-card.is-collapsed > p,
.ai-panel-card.is-collapsed .ai-prompts,
.ai-panel-card.is-collapsed .ai-panel-form,
.ai-panel-card.is-collapsed .ai-page-link,
.ai-panel-card.is-collapsed .ai-cluster {
  display: none;
}

.ai-panel-card.is-collapsed .ai-panel-head {
  margin-bottom: 0;
}

.ai-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.ai-panel-head h2 {
  margin: 0;
  color: #08a964;
  font-size: 20px;
}

.ai-panel-controls {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.ai-panel-control {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  color: #10214a;
  background: transparent;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: background 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.ai-panel-control:hover,
.ai-panel-control:focus-visible {
  color: #08a964;
  background: rgba(8, 169, 100, 0.1);
  transform: translateY(-1px);
}

.ai-panel-card > p {
  margin-bottom: 8px;
  font-size: 16px;
}

.ai-prompts {
  display: grid;
  gap: 10px;
  margin: 18px 0 14px;
}

.ai-prompts a {
  min-height: 58px;
  padding: 13px 14px;
  border: 1px solid rgba(203, 218, 232, 0.85);
  border-radius: 18px;
  color: #203459;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 12px 28px rgba(43, 69, 101, 0.06);
}

.ai-panel-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-top: 14px;
}

.ai-panel-form input {
  min-height: 52px;
  min-width: 0;
  padding: 0 16px;
  border: 1px solid rgba(203, 218, 232, 0.85);
  border-radius: 18px;
  outline: 0;
  background: #fff;
}

.ai-panel-form span {
  color: #3867a9;
}

.ai-panel-form button {
  grid-column: 1 / -1;
}

.ai-page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 14px 0 0;
  border-radius: 18px;
  background: linear-gradient(135deg, #f5f8ff, #eef5ff);
}

.ai-cluster {
  width: 100%;
  justify-content: center;
  box-shadow: none;
}

.robot-orb {
  position: fixed;
  right: clamp(16px, 1.6vw, 28px);
  bottom: clamp(16px, 1.6vw, 26px);
  z-index: 95;
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(178, 222, 232, 0.78);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 48%, #fff 0 38%, transparent 39%),
    linear-gradient(135deg, #1fd59b, #00a7e0);
  box-shadow: 0 18px 38px rgba(0, 166, 190, 0.22);
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.robot-orb:hover,
.robot-orb:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 24px 48px rgba(0, 166, 190, 0.28);
}

.robot-orb::before,
.robot-orb::after {
  content: "";
  position: absolute;
  inset: -8px;
  border: 2px solid rgba(0, 178, 220, 0.24);
  border-radius: 50%;
  animation: orb-pulse 2.2s ease-in-out infinite;
}

.robot-orb::after {
  inset: -16px;
  animation-delay: 0.4s;
}

.robot-orb span {
  position: relative;
  z-index: 2;
  font-size: 44px;
}

@keyframes orb-pulse {
  50% {
    transform: scale(1.08);
    opacity: 0.38;
  }
}

.quick-actions {
  padding: 14px;
}

.quick-actions div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.quick-actions a {
  display: grid;
  align-items: center;
  min-height: 56px;
  padding: 9px;
  border: 1px solid rgba(203, 218, 232, 0.8);
  border-radius: 14px;
  color: #24406f;
  background: #fff;
  font-size: 11px;
  font-weight: 700;
}

body.portal-home .modal-backdrop,
body.portal-home .cookie-banner {
  font-family: Arial, Helvetica, sans-serif;
}

.family-map {
  min-height: clamp(360px, 23vw, 440px);
  isolation: isolate;
  background:
    radial-gradient(ellipse at 50% 42%, rgba(99, 214, 240, 0.18), transparent 42%),
    linear-gradient(180deg, rgba(248, 252, 255, 0.9), rgba(231, 246, 252, 0.72));
}

.family-map::before,
.family-map .soft-cloud,
.family-map .route-lines {
  display: none;
}

.family-map-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 52%;
  opacity: 0.98;
  transition: transform 0.34s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.24s ease;
  will-change: transform;
}

.map-island {
  z-index: 4;
  display: block;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 36%;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  cursor: pointer;
  outline: none;
  transform: translateZ(0);
  transition: transform 0.24s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.map-island::before,
.map-island::after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.map-island::before {
  inset: 8%;
  border: 2px solid rgba(255, 255, 255, 0.92);
  border-radius: inherit;
  background: radial-gradient(ellipse at 50% 50%, rgba(255, 255, 255, 0.26), rgba(26, 199, 188, 0.12) 48%, rgba(26, 199, 188, 0) 72%);
  box-shadow: 0 0 0 7px rgba(20, 185, 164, 0.11), 0 18px 34px rgba(43, 69, 101, 0.12);
  transform: scale(0.82);
}

.map-island::after {
  inset: 22%;
  border-radius: 999px;
  background: rgba(20, 185, 164, 0.24);
  filter: blur(12px);
  transform: scale(0.72);
}

.map-island:hover,
.map-island:focus-visible {
  transform: scale(1.045);
}

.map-island:hover::before,
.map-island:hover::after,
.map-island:focus-visible::before,
.map-island:focus-visible::after {
  opacity: 1;
  transform: scale(1);
}

.family-map:has(.map-island:hover) .family-map-image,
.family-map:has(.map-island:focus-visible) .family-map-image {
  transform: scale(1.026);
  filter: saturate(1.07) contrast(1.03);
}

.family-map:has(.island-library:hover) .family-map-image,
.family-map:has(.island-library:focus-visible) .family-map-image {
  transform-origin: 22% 19%;
}

.family-map:has(.island-rehab:hover) .family-map-image,
.family-map:has(.island-rehab:focus-visible) .family-map-image {
  transform-origin: 9% 48%;
}

.family-map:has(.island-law:hover) .family-map-image,
.family-map:has(.island-law:focus-visible) .family-map-image {
  transform-origin: 29% 77%;
}

.family-map:has(.island-doctors:hover) .family-map-image,
.family-map:has(.island-doctors:focus-visible) .family-map-image {
  transform-origin: 73% 18%;
}

.family-map:has(.island-equipment:hover) .family-map-image,
.family-map:has(.island-equipment:focus-visible) .family-map-image {
  transform-origin: 93% 49%;
}

.family-map:has(.island-education:hover) .family-map-image,
.family-map:has(.island-education:focus-visible) .family-map-image {
  transform-origin: 76% 78%;
}

.island-library {
  top: 5%;
  left: 15%;
  width: 25%;
  height: 27%;
}

.island-rehab {
  top: 35%;
  left: 0;
  width: 24%;
  height: 31%;
}

.island-law {
  bottom: 8%;
  left: 18%;
  width: 25%;
  height: 31%;
}

.island-doctors {
  top: 5%;
  right: 15%;
  width: 23%;
  height: 28%;
}

.island-equipment {
  top: 34%;
  right: 0;
  width: 25%;
  height: 32%;
}

.island-education {
  right: 19%;
  bottom: 7%;
  width: 24%;
  height: 32%;
}

.family-map-image {
  object-fit: fill;
  object-position: center;
  transition: none;
  will-change: auto;
}

.map-island,
.map-island:hover,
.map-island:focus-visible {
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.map-island::before,
.map-island::after {
  display: none;
}

.family-map:has(.map-island:hover) .family-map-image,
.family-map:has(.map-island:focus-visible) .family-map-image {
  transform: none;
  filter: none;
}

.map-hotspot-art {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  opacity: 0;
  transform: scale(1);
  transform-origin: center;
  filter: drop-shadow(0 0 0 rgba(43, 69, 101, 0));
  transition: opacity 0.14s ease, transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.22s ease;
  will-change: transform;
}

.map-island:hover,
.map-island:focus-visible {
  z-index: 7;
}

.map-island:hover .map-hotspot-art,
.map-island:focus-visible .map-hotspot-art {
  opacity: 1;
  transform: scale(1.13);
  filter: drop-shadow(0 20px 28px rgba(43, 69, 101, 0.2));
}

.island-library {
  left: 16.6%;
  top: 8.9%;
  width: 25.6%;
  height: 26.6%;
}

.island-rehab {
  left: 0;
  top: 34.2%;
  width: 25.1%;
  height: 31.1%;
}

.island-law {
  left: 18.1%;
  top: 56.4%;
  width: 28.1%;
  height: 38%;
}

.island-doctors {
  left: 63.3%;
  top: 5.7%;
  right: auto;
  width: 25.1%;
  height: 29.8%;
}

.island-equipment {
  left: 76.8%;
  top: 33.6%;
  right: auto;
  width: 22.1%;
  height: 31.7%;
}

.island-education {
  left: 65.3%;
  top: 58.9%;
  right: auto;
  bottom: auto;
  width: 27.1%;
  height: 35.5%;
}

.family-center {
  top: 25%;
  width: clamp(218px, 16vw, 260px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-shadow: 0 2px 14px rgba(255, 255, 255, 0.95);
  backdrop-filter: none;
}

.family-center h2 {
  font-size: 21px;
}

.family-center p {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.35;
}

.thumb {
  background-image: url("/assets/generated/material-thumbnails.png");
  background-repeat: no-repeat;
  background-size: 200% 200%;
  box-shadow: inset 0 0 0 1px rgba(203, 218, 232, 0.35);
}

.child-thumb {
  background-position: 0 0;
}

.therapy-thumb {
  background-position: 100% 0;
}

.document-thumb {
  background-position: 0 100%;
}

.portrait-thumb {
  background-position: 100% 100%;
}

.portrait {
  overflow: hidden;
  background-image: url("/assets/generated/specialist-portraits.png");
  background-repeat: no-repeat;
  background-size: 300% 100%;
  background-position: 0 50%;
  box-shadow: inset 0 0 0 1px rgba(203, 218, 232, 0.5);
}

.portrait.male {
  background-image: url("/assets/generated/specialist-portraits.png");
  background-size: 300% 100%;
  background-position: 50% 50%;
}

.portrait.female-two {
  background-image: url("/assets/generated/specialist-portraits.png");
  background-size: 300% 100%;
  background-position: 100% 50%;
}

.robot-orb {
  overflow: visible;
}

.robot-orb img {
  position: relative;
  z-index: 2;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  filter: drop-shadow(0 12px 18px rgba(0, 166, 190, 0.22));
}

@media (max-width: 1500px) {
  .home-shell {
    grid-template-columns: 172px minmax(0, 1fr) 300px;
    gap: 14px;
    padding-right: 18px;
  }

  .home-nav-item {
    padding: 0 12px;
    font-size: 14px;
  }

  .material-card {
    padding-right: 96px;
  }

  .thumb {
    width: 94px;
  }

  .ai-home-panel {
    padding-top: 118px;
  }

  .family-center {
    width: 220px;
  }

  .family-center h2 {
    font-size: 21px;
  }

  .map-island {
    width: 150px;
    padding: 9px 10px;
  }

  .map-island strong {
    font-size: 13px;
  }

  .map-island small {
    font-size: 10px;
  }

  .island-library {
    left: 8%;
  }

  .island-rehab {
    left: 5%;
  }

  .island-law {
    left: 18%;
  }

  .island-doctors {
    right: 8%;
  }

  .island-equipment {
    right: 4%;
  }

  .island-education {
    right: 15%;
  }
}

@media (max-width: 1220px) {
  .home-shell {
    grid-template-columns: 88px minmax(0, 1fr);
    padding: 0 16px 24px 0;
  }

  .home-sidebar {
    padding-inline: 10px;
  }

  .home-brand img {
    width: 68px;
    height: 84px;
  }

  .home-nav-item {
    justify-content: center;
    padding: 0;
  }

  .home-nav-item span {
    margin: 0;
  }

  .home-nav-item {
    font-size: 0;
  }

  .progress-card,
  .help-card {
    display: none;
  }

  .ai-home-panel {
    position: static;
    grid-column: 2;
    padding-top: 0;
  }

  .home-topbar {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .user-tools {
    justify-content: flex-end;
  }
}

@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) {
  body.portal-home .assistant-launcher {
    display: grid;
  }

  .home-shell {
    display: block;
    padding: 0 10px 18px;
  }

  .home-sidebar {
    position: static;
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    height: auto;
    margin: 8px 0 10px;
    padding: 8px 10px;
    border-radius: 20px;
    border-left: 1px solid rgba(192, 211, 226, 0.72);
  }

  .home-brand {
    justify-content: flex-start;
    padding-bottom: 0;
  }

  .home-brand img {
    width: 56px;
    height: 64px;
  }

  .home-nav {
    display: flex;
    gap: 8px;
    width: calc(100% - 226px);
    min-width: 0;
    overflow-x: auto;
    padding-bottom: 0;
  }

  .home-nav-item {
    flex: 0 0 auto;
    gap: 8px;
    min-height: 38px;
    padding: 0 12px;
    font-size: 12px;
    white-space: nowrap;
  }

  .home-nav-item.is-active {
    box-shadow: inset 3px 0 0 #09ad6f;
  }

  .user-tools {
    justify-content: flex-end;
    flex-wrap: wrap;
    top: 22px;
    right: 22px;
    gap: 8px;
  }

  .round-tool {
    width: 44px;
    height: 44px;
  }

  .round-tool b {
    width: 18px;
    height: 18px;
    font-size: 10px;
  }

  .login-link {
    flex: 0 0 auto;
    min-width: 88px;
    height: 44px;
    padding: 0 16px;
  }

  .home-main {
    padding-top: 0;
  }

  .home-topbar {
    margin-bottom: 10px;
    padding-right: 0;
  }

  .home-topbar h1 {
    max-width: 100%;
    font-size: clamp(30px, 7.2vw, 42px);
    line-height: 0.96;
  }

  .home-topbar p {
    max-width: 100%;
    margin-top: 8px;
    font-size: clamp(15px, 3.2vw, 18px);
    line-height: 1.22;
  }

  .hero-console {
    padding-top: 6px;
  }

  .hero-search {
    grid-template-columns: auto minmax(0, 1fr) auto;
    width: 100%;
    min-height: 54px;
    margin-bottom: 10px;
    padding: 7px 9px 7px 16px;
    border-radius: 20px;
  }

  .hero-search input {
    font-size: 16px;
  }

  .hero-search button {
    grid-column: auto;
    min-height: 40px;
    padding: 0 13px;
    border-radius: 16px;
    white-space: nowrap;
  }

  .family-map {
    display: grid;
    gap: 10px;
    min-height: 0;
    padding: 8px;
  }

  .family-map-image {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 2.06 / 1;
    border-radius: 20px;
    object-fit: cover;
  }

  .map-island {
    position: absolute;
    margin: 0;
  }

  .map-down {
    position: absolute;
    left: 50%;
    bottom: 18px;
    justify-self: center;
    transform: translateX(-50%);
  }

  .ai-home-panel {
    display: none;
  }

  .route-lines,
  .soft-cloud,
  .family-map::before {
    display: none;
  }

  .material-carousel,
  .bottom-grid,
  .mini-card-grid,
  .specialist-row,
  .quick-actions div {
    grid-template-columns: 1fr;
  }

  .content-lane {
    margin-top: 8px;
    padding: 10px 12px 12px;
  }

  .lane-head {
    margin-bottom: 8px;
  }

  .lane-head h2 {
    font-size: 18px;
  }

  .carousel-button {
    display: none;
  }

  .material-card {
    padding-right: 18px;
  }

  .thumb {
    position: relative;
    width: 100%;
    height: 110px;
    margin-top: 14px;
    border-radius: 18px;
  }
}

@media (max-width: 800px) {
  .header-inner {
    min-height: 78px;
  }

  .logo-title {
    font-size: 17px;
  }

  .logo-subtitle,
  .text-button span {
    display: none;
  }

  .menu-grid,
  .section-grid,
  .article-list,
  .two-column,
  .footer-inner {
    grid-template-columns: 1fr;
  }

  .search-inline,
  .chat-form,
  .assistant-form {
    grid-template-columns: 1fr;
  }

  .assistant-drawer {
    right: 12px;
    bottom: 84px;
    width: calc(100% - 24px);
  }

  .assistant-launcher {
    right: 14px;
    bottom: 14px;
    width: 58px;
    height: 58px;
  }

  .assistant-launcher img {
    width: 49px;
    height: 49px;
  }
}

body.portal-with-sidebar {
  --portal-sidebar-width: clamp(176px, 12vw, 210px);
  min-height: 100vh;
  padding-left: var(--portal-sidebar-width);
  overflow-x: hidden;
  background:
    radial-gradient(circle at 45% 12%, rgba(44, 183, 222, 0.12), transparent 26%),
    radial-gradient(circle at 82% 68%, rgba(11, 142, 54, 0.1), transparent 26%),
    linear-gradient(135deg, #f8fbff 0%, #eef6fa 52%, #f7fbff 100%);
}

body.portal-with-sidebar #site-header {
  display: none;
}

body.portal-with-sidebar .page-shell {
  width: min(1160px, calc(100% - 64px));
  padding-top: 42px;
}

.portal-shared-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 70;
  width: var(--portal-sidebar-width);
}

.portal-shared-sidebar .home-nav {
  overflow: visible;
}

.portal-shared-sidebar .home-nav-item {
  width: 100%;
}

@media (max-width: 1220px) {
  body.portal-with-sidebar {
    --portal-sidebar-width: 88px;
  }

  body.portal-with-sidebar .page-shell {
    width: min(1120px, calc(100% - 48px));
  }
}

@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) {
  body.portal-with-sidebar {
    padding-left: 0;
  }

  body.portal-with-sidebar .page-shell {
    width: min(1120px, calc(100% - 28px));
    padding-top: 18px;
  }

  .portal-shared-sidebar {
    position: static;
    width: auto;
    margin: 8px 10px 10px;
  }

  .portal-shared-sidebar .home-nav {
    overflow-x: auto;
    overflow-y: hidden;
  }

  .portal-shared-sidebar .home-nav-item {
    width: 100%;
  }
}

body.portal-home .map-hotspot-art {
  display: none;
}

body.portal-home .map-island,
body.portal-home .map-island:hover,
body.portal-home .map-island:focus-visible {
  overflow: visible;
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  transform: none;
}

body.portal-home .map-island::before,
body.portal-home .map-island::after {
  display: block;
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: inherit;
  opacity: 0;
  transform: scale(0.82);
  transition:
    opacity 0.18s ease,
    transform 0.26s cubic-bezier(0.2, 0.8, 0.2, 1);
}

body.portal-home .map-island::before {
  inset: 3%;
  border: 2px solid rgba(255, 255, 255, 0.95);
  background: radial-gradient(ellipse at 50% 50%, rgba(255, 255, 255, 0.3), rgba(17, 190, 166, 0.16) 52%, rgba(17, 190, 166, 0) 74%);
  box-shadow:
    0 0 0 8px rgba(29, 198, 180, 0.11),
    0 18px 34px rgba(43, 69, 101, 0.13);
}

body.portal-home .map-island::after {
  inset: 24%;
  background: rgba(33, 198, 189, 0.26);
  filter: blur(14px);
}

body.portal-home .map-island:hover::before,
body.portal-home .map-island:hover::after,
body.portal-home .map-island:focus-visible::before,
body.portal-home .map-island:focus-visible::after {
  opacity: 1;
  transform: scale(1);
}

body.portal-home .family-map:has(.map-island:hover) .family-map-image,
body.portal-home .family-map:has(.map-island:focus-visible) .family-map-image {
  transform: none;
  filter: none;
}

body.portal-home .family-map:has(.island-library:hover) .family-map-image,
body.portal-home .family-map:has(.island-library:focus-visible) .family-map-image {
  transform-origin: 30% 18%;
}

body.portal-home .family-map:has(.island-rehab:hover) .family-map-image,
body.portal-home .family-map:has(.island-rehab:focus-visible) .family-map-image {
  transform-origin: 12% 49%;
}

body.portal-home .family-map:has(.island-law:hover) .family-map-image,
body.portal-home .family-map:has(.island-law:focus-visible) .family-map-image {
  transform-origin: 31% 77%;
}

body.portal-home .family-map:has(.island-doctors:hover) .family-map-image,
body.portal-home .family-map:has(.island-doctors:focus-visible) .family-map-image {
  transform-origin: 74% 19%;
}

body.portal-home .family-map:has(.island-equipment:hover) .family-map-image,
body.portal-home .family-map:has(.island-equipment:focus-visible) .family-map-image {
  transform-origin: 88% 47%;
}

body.portal-home .family-map:has(.island-education:hover) .family-map-image,
body.portal-home .family-map:has(.island-education:focus-visible) .family-map-image {
  transform-origin: 77% 78%;
}

body.portal-home .island-library {
  left: 20.6%;
  top: 8.8%;
  width: 19%;
  height: 23%;
}

body.portal-home .island-rehab {
  left: 0.8%;
  top: 34.4%;
  width: 21.5%;
  height: 27%;
}

body.portal-home .island-law {
  left: 21%;
  top: 60.6%;
  width: 22%;
  height: 30%;
}

body.portal-home .island-doctors {
  left: 57.9%;
  top: 6.4%;
  width: 22%;
  height: 26%;
}

body.portal-home .island-equipment {
  left: 79.7%;
  top: 36.4%;
  width: 18.7%;
  height: 26%;
}

body.portal-home .island-education {
  left: 59.8%;
  top: 55.5%;
  width: 21.5%;
  height: 36%;
}

body.portal-home .island-doctors,
body.portal-home .island-education {
  border-radius: 0;
}

body.portal-home .island-doctors::before,
body.portal-home .island-doctors::after,
body.portal-home .island-education::before,
body.portal-home .island-education::after {
  inset: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  filter:
    drop-shadow(0 0 2px rgba(255, 255, 255, 0.96))
    drop-shadow(0 10px 18px rgba(43, 69, 101, 0.14));
}

body.portal-home .island-doctors::before,
body.portal-home .island-education::before {
  background: rgba(32, 207, 192, 0.16);
}

body.portal-home .island-doctors::after,
body.portal-home .island-education::after {
  background: rgba(255, 255, 255, 0.24);
  filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.98));
}

body.portal-home .island-doctors {
  left: 56.6%;
  top: 5.2%;
  width: 24%;
  height: 29%;
  clip-path: polygon(19% 10%, 43% 0%, 76% 8%, 98% 34%, 96% 65%, 74% 91%, 38% 100%, 8% 82%, 0% 48%, 6% 24%);
}

body.portal-home .island-doctors::before,
body.portal-home .island-doctors::after {
  clip-path: polygon(19% 10%, 43% 0%, 76% 8%, 98% 34%, 96% 65%, 74% 91%, 38% 100%, 8% 82%, 0% 48%, 6% 24%);
}

body.portal-home .island-education {
  left: 57.9%;
  top: 51.2%;
  width: 27.8%;
  height: 43%;
  clip-path: polygon(34% 4%, 56% 0%, 71% 10%, 74% 25%, 85% 34%, 96% 50%, 89% 76%, 68% 93%, 37% 100%, 10% 88%, 0% 63%, 6% 42%, 20% 31%, 23% 14%);
}

body.portal-home .island-education::before,
body.portal-home .island-education::after {
  clip-path: polygon(34% 4%, 56% 0%, 71% 10%, 74% 25%, 85% 34%, 96% 50%, 89% 76%, 68% 93%, 37% 100%, 10% 88%, 0% 63%, 6% 42%, 20% 31%, 23% 14%);
}

body.portal-home .island-doctors::before,
body.portal-home .island-doctors::after,
body.portal-home .island-education::before,
body.portal-home .island-education::after {
  display: none !important;
}

body.portal-home .island-doctors,
body.portal-home .island-doctors:hover,
body.portal-home .island-doctors:focus-visible,
body.portal-home .island-education,
body.portal-home .island-education:hover,
body.portal-home .island-education:focus-visible {
  clip-path: none;
  border-radius: 0;
}

body.portal-home .island-doctors {
  left: 58.5%;
  top: 5.7%;
  width: 19.1%;
  height: 30.4%;
}

body.portal-home .island-education {
  left: 58.5%;
  top: 54.5%;
  width: 23.1%;
  height: 36.8%;
}

body.portal-home .island-doctors .map-hotspot-art,
body.portal-home .island-education .map-hotspot-art {
  display: block;
  opacity: 0;
  object-fit: fill;
  transform: scale(1);
  transform-origin: center;
  filter: drop-shadow(0 18px 26px rgba(43, 69, 101, 0));
  transition:
    opacity 0.14s ease,
    transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
    filter 0.22s ease;
}

body.portal-home .island-doctors:hover .map-hotspot-art,
body.portal-home .island-doctors:focus-visible .map-hotspot-art,
body.portal-home .island-education:hover .map-hotspot-art,
body.portal-home .island-education:focus-visible .map-hotspot-art {
  opacity: 1;
  transform: scale(1.045);
  filter: drop-shadow(0 18px 26px rgba(43, 69, 101, 0.2));
}

body.portal-home .map-island {
  --contour-top: 7%;
  --contour-right: 3%;
  --contour-bottom: 7%;
  --contour-left: 3%;
  --contour-radius: 48% 52% 47% 53% / 50% 47% 53% 50%;
  --contour-glow: rgba(31, 185, 183, 0.2);
  --contour-fill: rgba(31, 185, 183, 0.16);
  isolation: isolate;
  border-radius: var(--contour-radius);
  -webkit-tap-highlight-color: transparent;
}

body.portal-home .map-island::before,
body.portal-home .map-island::after {
  display: block !important;
  content: "";
  position: absolute;
  pointer-events: none;
  border: 0;
  border-radius: var(--contour-radius);
  box-shadow: none;
  opacity: 0;
  transform: translateZ(0) scale(1);
  transform-origin: center;
  transition:
    opacity 0.18s ease,
    transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1),
    filter 0.22s ease;
}

body.portal-home .map-island::before {
  top: var(--contour-top);
  right: var(--contour-right);
  bottom: var(--contour-bottom);
  left: var(--contour-left);
  z-index: 1;
  background:
    radial-gradient(ellipse at 50% 52%, rgba(255, 255, 255, 0.18), var(--contour-fill) 48%, rgba(255, 255, 255, 0) 74%);
  filter: blur(7px) drop-shadow(0 0 16px var(--contour-glow));
}

body.portal-home .map-island::after {
  top: calc(var(--contour-top) + 6%);
  right: calc(var(--contour-right) + 6%);
  bottom: calc(var(--contour-bottom) + 6%);
  left: calc(var(--contour-left) + 6%);
  z-index: 2;
  background:
    radial-gradient(ellipse at 50% 52%, rgba(255, 255, 255, 0.18), var(--contour-glow) 44%, rgba(255, 255, 255, 0) 72%);
  filter: blur(12px);
  opacity: 0;
  transform: translateZ(0) scale(0.985);
}

body.portal-home .map-island:hover,
body.portal-home .map-island:focus-visible,
body.portal-home .map-island.is-click-pulsing {
  z-index: 8;
  transform: scale(1.012) !important;
}

body.portal-home .map-island:hover::before,
body.portal-home .map-island:focus-visible::before {
  border: 0;
  box-shadow: none;
  opacity: 0.58;
  animation: map-contour-wave 1.45s cubic-bezier(0.34, 1.56, 0.64, 1) infinite;
  filter: blur(8px) drop-shadow(0 0 22px var(--contour-glow));
}

body.portal-home .map-island:hover::after,
body.portal-home .map-island:focus-visible::after {
  border: 0;
  box-shadow: none;
  opacity: 0.38;
  animation: map-contour-inner-wave 1.45s cubic-bezier(0.34, 1.56, 0.64, 1) infinite;
}

body.portal-home .map-island:active,
body.portal-home .map-island.is-click-pulsing {
  transform: scale(0.992) !important;
}

body.portal-home .map-island:active::before,
body.portal-home .map-island.is-click-pulsing::before {
  border: 0;
  box-shadow: none;
  opacity: 0.68;
  animation: map-contour-press 0.48s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

body.portal-home .map-island:active::after,
body.portal-home .map-island.is-click-pulsing::after {
  border: 0;
  box-shadow: none;
  opacity: 0.44;
  animation: map-contour-ripple 0.48s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

body.portal-home .island-library {
  --contour-top: 4%;
  --contour-right: -1%;
  --contour-bottom: 8%;
  --contour-left: -1%;
  --contour-radius: 42% 58% 54% 46% / 44% 43% 57% 56%;
  --contour-glow: rgba(47, 184, 238, 0.22);
  --contour-fill: rgba(47, 184, 238, 0.16);
}

body.portal-home .island-rehab {
  --contour-top: 8%;
  --contour-right: 2%;
  --contour-bottom: 7%;
  --contour-left: 2%;
  --contour-radius: 51% 49% 44% 56% / 49% 45% 55% 51%;
  --contour-glow: rgba(57, 205, 119, 0.22);
  --contour-fill: rgba(57, 205, 119, 0.16);
}

body.portal-home .island-law {
  --contour-top: 7%;
  --contour-right: 1%;
  --contour-bottom: 8%;
  --contour-left: 1%;
  --contour-radius: 45% 55% 58% 42% / 50% 44% 56% 50%;
  --contour-glow: rgba(238, 178, 28, 0.24);
  --contour-fill: rgba(238, 178, 28, 0.16);
}

body.portal-home .island-doctors {
  --contour-top: 5%;
  --contour-right: 3%;
  --contour-bottom: 6%;
  --contour-left: 3%;
  --contour-radius: 49% 51% 47% 53% / 46% 46% 54% 54%;
  --contour-glow: rgba(37, 198, 212, 0.22);
  --contour-fill: rgba(37, 198, 212, 0.16);
}

body.portal-home .island-equipment {
  --contour-top: 6%;
  --contour-right: 1%;
  --contour-bottom: 7%;
  --contour-left: 1%;
  --contour-radius: 50% 50% 47% 53% / 49% 43% 57% 51%;
  --contour-glow: rgba(139, 102, 246, 0.24);
  --contour-fill: rgba(139, 102, 246, 0.16);
}

body.portal-home .island-education {
  --contour-top: 10%;
  --contour-right: 3%;
  --contour-bottom: 8%;
  --contour-left: 2%;
  --contour-radius: 47% 53% 55% 45% / 49% 43% 57% 51%;
  --contour-glow: rgba(242, 126, 91, 0.24);
  --contour-fill: rgba(242, 126, 91, 0.16);
}

@keyframes map-contour-wave {
  0%,
  100% {
    transform: translateZ(0) scale(1) rotate(0deg);
  }

  38% {
    transform: translateZ(0) scale(1.042) rotate(0.55deg);
  }

  68% {
    transform: translateZ(0) scale(0.986) rotate(-0.4deg);
  }
}

@keyframes map-contour-inner-wave {
  0%,
  100% {
    transform: translateZ(0) scale(0.985) rotate(0deg);
  }

  42% {
    transform: translateZ(0) scale(1.055) rotate(-0.45deg);
  }

  70% {
    transform: translateZ(0) scale(0.972) rotate(0.35deg);
  }
}

@keyframes map-contour-press {
  0% {
    transform: translateZ(0) scale(0.96);
  }

  62% {
    transform: translateZ(0) scale(1.085);
  }

  100% {
    transform: translateZ(0) scale(1);
  }
}

@keyframes map-contour-ripple {
  0% {
    opacity: 0.98;
    transform: translateZ(0) scale(0.82);
  }

  100% {
    opacity: 0;
    transform: translateZ(0) scale(1.24);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-home .map-island:hover::before,
  body.portal-home .map-island:focus-visible::before,
  body.portal-home .map-island:hover::after,
  body.portal-home .map-island:focus-visible::after,
  body.portal-home .map-island:active::before,
  body.portal-home .map-island.is-click-pulsing::before,
  body.portal-home .map-island:active::after,
  body.portal-home .map-island.is-click-pulsing::after {
    animation: none;
  }
}

body.portal-home .map-hotspot-art {
  display: block;
  pointer-events: none;
  opacity: 0;
  transform: scale(1);
  transform-origin: center;
  filter: drop-shadow(0 12px 22px rgba(43, 69, 101, 0));
  transition:
    opacity 0.18s ease,
    transform 0.24s cubic-bezier(0.2, 0.8, 0.2, 1),
    filter 0.24s ease;
}

body.portal-home .map-island:hover .map-hotspot-art,
body.portal-home .map-island:focus-visible .map-hotspot-art,
body.portal-home .map-island.is-click-pulsing .map-hotspot-art {
  opacity: 0.82;
  transform: scale(1.025);
  filter: drop-shadow(0 16px 24px rgba(43, 69, 101, 0.14));
  animation: map-hotspot-breathe 1.45s cubic-bezier(0.34, 1.56, 0.64, 1) infinite;
}

body.portal-home .map-island:active .map-hotspot-art,
body.portal-home .map-island.is-click-pulsing .map-hotspot-art {
  opacity: 0.92;
  animation: map-hotspot-press 0.52s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

@keyframes map-hotspot-breathe {
  0%,
  100% {
    transform: scale(1.015);
  }

  42% {
    transform: scale(1.04);
  }

  72% {
    transform: scale(1.01);
  }
}

body.portal-home .island-rehab {
  left: 0;
  top: 27.9%;
  width: 26.9%;
  height: 34.2%;
  --contour-top: 6%;
  --contour-right: 2%;
  --contour-bottom: 4%;
  --contour-left: 0;
  --contour-radius: 49% 51% 44% 56% / 48% 43% 57% 52%;
}

body.portal-home .island-equipment {
  left: 74.6%;
  top: 24.7%;
  width: 24.9%;
  height: 38%;
  --contour-top: 5%;
  --contour-right: 1%;
  --contour-bottom: 4%;
  --contour-left: 1%;
  --contour-radius: 50% 50% 46% 54% / 47% 42% 58% 53%;
}

@keyframes map-hotspot-press {
  0% {
    transform: scale(0.985);
  }

  58% {
    transform: scale(1.055);
  }

  100% {
    transform: scale(1.025);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-home .map-island:hover .map-hotspot-art,
  body.portal-home .map-island:focus-visible .map-hotspot-art,
  body.portal-home .map-island:active .map-hotspot-art,
  body.portal-home .map-island.is-click-pulsing .map-hotspot-art {
    animation: none;
  }
}

/* Last home polish layer. This intentionally comes after the legacy overrides. */
body.portal-home .quick-path-art {
  background-image: url("/assets/generated/quick-path-sprite-v1.png?v=1") !important;
  background-repeat: no-repeat !important;
  background-size: 500% 100% !important;
}

body.portal-home .quick-path-art::before,
body.portal-home .quick-path-art::after {
  display: none !important;
}

body.portal-home .quick-path-steps .quick-path-art {
  background-position: 0 50% !important;
}

body.portal-home .quick-path-rehab .quick-path-art {
  background-position: 25% 50% !important;
}

body.portal-home .quick-path-law .quick-path-art {
  background-position: 50% 50% !important;
}

body.portal-home .quick-path-specialists .quick-path-art {
  background-position: 75% 50% !important;
}

body.portal-home .quick-path-equipment .quick-path-art {
  background-position: 100% 50% !important;
}

body.portal-home .quick-path-card strong,
body.portal-home .quick-path-card small,
body.portal-home .material-list-item strong,
body.portal-home .material-list-item small,
body.portal-home .event-card strong,
body.portal-home .event-card small,
body.portal-home .event-card em {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}

body.portal-home .quick-path-card strong,
body.portal-home .material-list-item strong,
body.portal-home .event-card strong {
  -webkit-line-clamp: 2;
}

body.portal-home .quick-path-card small,
body.portal-home .material-list-item small,
body.portal-home .event-card small,
body.portal-home .event-card em {
  -webkit-line-clamp: 1;
}

body.portal-home .material-list,
body.portal-home .event-list {
  grid-template-rows: repeat(3, minmax(0, 1fr));
}

body.portal-home .material-list-item,
body.portal-home .event-card,
body.portal-home .specialist-card {
  overflow: hidden;
}

@media (min-width: 1101px) {
  body.portal-home {
    height: 100vh !important;
    overflow: hidden !important;
  }

  body.portal-home .home-shell {
    --home-gap: clamp(10px, 1.1vh, 14px);
    --home-map-h: clamp(360px, 42vh, 520px);
    --home-quick-h: clamp(92px, 9.2vh, 118px);
    --home-dashboard-h: clamp(240px, 25vh, 300px);
    --home-trust-h: clamp(50px, 5.2vh, 64px);
    grid-template-columns: clamp(250px, 14.2vw, 270px) minmax(0, 1fr) !important;
    gap: clamp(20px, 1.5vw, 28px) !important;
    height: 100vh !important;
    min-height: 0 !important;
    padding: clamp(12px, 1.2vh, 16px) clamp(18px, 1.6vw, 28px) clamp(12px, 1.2vh, 16px) clamp(12px, 1vw, 18px) !important;
  }

  body.portal-home .home-shell.is-ai-rail-closed {
    grid-template-columns: clamp(250px, 14.2vw, 270px) minmax(0, 1fr) !important;
  }

  body.portal-home .home-sidebar {
    position: relative !important;
    height: auto !important;
    align-self: stretch !important;
    gap: clamp(12px, 1.55vh, 20px) !important;
    padding: clamp(18px, 2vh, 26px) clamp(18px, 1.35vw, 24px) !important;
    border: 1px solid rgba(203, 218, 232, 0.76) !important;
    border-radius: 18px !important;
  }

  body.portal-home .home-brand img {
    width: clamp(106px, 7vw, 132px) !important;
    height: clamp(116px, 7.8vw, 150px) !important;
  }

  body.portal-home .home-nav {
    gap: clamp(5px, 0.75vh, 9px) !important;
  }

  body.portal-home .home-nav-item {
    min-height: clamp(36px, 4.1vh, 50px) !important;
    border-radius: 13px !important;
    font-size: clamp(12px, 0.76vw, 14px) !important;
  }

  body.portal-home .home-main {
    display: grid !important;
    grid-template-rows: auto var(--home-map-h) var(--home-quick-h) var(--home-dashboard-h) var(--home-trust-h) !important;
    gap: var(--home-gap) !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: clamp(8px, 1vh, 14px) 0 0 !important;
  }

  body.portal-home .home-topbar {
    margin: 0 !important;
    padding-right: clamp(230px, 16vw, 320px) !important;
  }

  body.portal-home .home-topbar h1 {
    flex-wrap: nowrap !important;
    max-width: none !important;
    font-size: clamp(46px, 3.8vw, 72px) !important;
    font-weight: 900 !important;
    line-height: 0.92 !important;
  }

  body.portal-home .home-topbar h1 span {
    background: none !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    color: #0b9a43 !important;
  }

  body.portal-home .home-topbar h1 span:nth-child(2) {
    color: #2260d9 !important;
  }

  body.portal-home .home-topbar h1 span:nth-child(3) {
    color: #10214a !important;
  }

  body.portal-home .home-topbar p {
    margin-top: clamp(6px, 0.65vh, 9px) !important;
    color: #263b66 !important;
    font-size: clamp(17px, 1.16vw, 23px) !important;
  }

  body.portal-home .hero-console,
  body.portal-home .family-map {
    height: 100% !important;
    min-height: 0 !important;
  }

  body.portal-home .content-lane.quick-paths {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: var(--home-gap) !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  body.portal-home .quick-path-card {
    grid-template-columns: clamp(66px, 5.1vw, 92px) minmax(0, 1fr) clamp(24px, 1.8vw, 30px) !important;
    gap: clamp(9px, 0.8vw, 14px) !important;
    height: 100% !important;
    padding: clamp(8px, 0.8vh, 12px) clamp(10px, 0.85vw, 16px) !important;
    border-radius: 14px !important;
  }

  body.portal-home .quick-path-art {
    width: 100% !important;
    height: clamp(58px, 5vh, 86px) !important;
    border-radius: 12px !important;
  }

  body.portal-home .quick-path-card strong {
    font-size: clamp(13px, 0.86vw, 16px) !important;
    line-height: 1.1 !important;
  }

  body.portal-home .quick-path-card small {
    margin-top: 4px !important;
    font-size: clamp(10px, 0.65vw, 12px) !important;
    line-height: 1.12 !important;
  }

  body.portal-home .quick-path-card b {
    width: clamp(24px, 1.8vw, 30px) !important;
    height: clamp(24px, 1.8vw, 30px) !important;
  }

  body.portal-home .bottom-grid.home-dashboard {
    display: grid !important;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.96fr) minmax(0, 1.36fr) !important;
    gap: var(--home-gap) !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  body.portal-home .content-panel {
    height: 100% !important;
    min-height: 0 !important;
    padding: clamp(14px, 1.25vh, 20px) clamp(14px, 1vw, 20px) !important;
    border-radius: 16px !important;
  }

  body.portal-home .lane-head {
    min-height: clamp(28px, 3vh, 38px) !important;
    margin-bottom: clamp(9px, 0.9vh, 13px) !important;
  }

  body.portal-home .lane-head h2 {
    font-size: clamp(18px, 1.18vw, 23px) !important;
    line-height: 1.08 !important;
  }

  body.portal-home .material-list,
  body.portal-home .event-list,
  body.portal-home .specialists-panel .specialist-row {
    height: calc(100% - clamp(40px, 4vh, 52px)) !important;
    gap: clamp(7px, 0.75vh, 10px) !important;
  }

  body.portal-home .material-list-item {
    grid-template-columns: clamp(62px, 4.5vw, 82px) minmax(0, 1fr) auto !important;
    gap: clamp(10px, 0.75vw, 14px) !important;
    min-height: 0 !important;
    padding: clamp(6px, 0.65vh, 9px) !important;
    border-radius: 13px !important;
  }

  body.portal-home .material-list-item img {
    border-radius: 10px !important;
  }

  body.portal-home .material-list-item strong,
  body.portal-home .event-card strong {
    font-size: clamp(12px, 0.74vw, 14px) !important;
    line-height: 1.12 !important;
  }

  body.portal-home .material-list-item small,
  body.portal-home .event-card small,
  body.portal-home .event-card em {
    font-size: clamp(10px, 0.62vw, 12px) !important;
    line-height: 1.1 !important;
  }

  body.portal-home .event-card {
    grid-template-columns: clamp(48px, 3.6vw, 62px) minmax(0, 1fr) auto !important;
    gap: clamp(9px, 0.7vw, 12px) !important;
    padding: clamp(6px, 0.65vh, 9px) !important;
    border-radius: 13px !important;
  }

  body.portal-home .event-card time {
    width: clamp(44px, 3.2vw, 56px) !important;
    height: clamp(44px, 3.2vw, 56px) !important;
  }

  body.portal-home .event-card b {
    min-width: 38px !important;
    min-height: 20px !important;
    padding: 0 7px !important;
    font-size: clamp(8px, 0.55vw, 10px) !important;
  }

  body.portal-home .specialists-panel .specialist-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.portal-home .specialists-panel .specialist-card {
    height: 100% !important;
    min-height: 0 !important;
    padding: clamp(10px, 0.8vw, 15px) !important;
  }

  body.portal-home .specialists-panel .portrait {
    height: clamp(68px, 7vh, 96px) !important;
  }

  body.portal-home .trust-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(10px, 1vw, 18px) !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 clamp(18px, 2vw, 34px) !important;
    border-radius: 18px !important;
  }
}

@media (min-width: 1101px) and (max-height: 850px) {
  body.portal-home .home-shell {
    --home-gap: 6px;
    --home-map-h: clamp(286px, 40vh, 318px);
    --home-quick-h: clamp(78px, 10vh, 88px);
    --home-dashboard-h: clamp(205px, 28vh, 230px);
    --home-trust-h: clamp(34px, 5vh, 40px);
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  body.portal-home .home-sidebar {
    gap: 7px !important;
    padding: 11px 14px !important;
  }

  body.portal-home .home-brand img {
    width: 78px !important;
    height: 88px !important;
  }

  body.portal-home .home-nav {
    gap: 3px !important;
  }

  body.portal-home .home-nav-item {
    min-height: 29px !important;
    font-size: 11px !important;
  }

  body.portal-home .home-help-card {
    gap: 4px !important;
    padding: 9px !important;
  }

  body.portal-home .home-help-card small {
    display: none !important;
  }

  body.portal-home .home-help-card .mini-button {
    min-height: 30px !important;
  }

  body.portal-home .home-main {
    padding-top: 6px !important;
  }

  body.portal-home .home-topbar h1 {
    font-size: clamp(37px, 3.35vw, 46px) !important;
  }

  body.portal-home .home-topbar p {
    margin-top: 4px !important;
    font-size: clamp(14px, 1vw, 16px) !important;
  }

  body.portal-home .quick-path-card {
    grid-template-columns: 54px minmax(0, 1fr) 22px !important;
    gap: 8px !important;
    padding: 7px 9px !important;
  }

  body.portal-home .quick-path-art {
    height: 54px !important;
  }

  body.portal-home .quick-path-card strong {
    font-size: 11px !important;
  }

  body.portal-home .quick-path-card small {
    font-size: 9px !important;
  }

  body.portal-home .quick-path-card b {
    width: 22px !important;
    height: 22px !important;
  }

  body.portal-home .content-panel {
    padding: 10px 12px !important;
  }

  body.portal-home .lane-head {
    min-height: 28px !important;
    margin-bottom: 6px !important;
  }

  body.portal-home .lane-head h2 {
    font-size: 16px !important;
  }

  body.portal-home .material-list,
  body.portal-home .event-list,
  body.portal-home .specialists-panel .specialist-row {
    height: calc(100% - 34px) !important;
    gap: 6px !important;
  }

  body.portal-home .material-list-item {
    grid-template-columns: 50px minmax(0, 1fr) auto !important;
    padding: 5px !important;
  }

  body.portal-home .event-card {
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    padding: 5px !important;
  }

  body.portal-home .event-card time {
    width: 36px !important;
    height: 36px !important;
  }

  body.portal-home .event-card time strong {
    font-size: 16px !important;
  }

  body.portal-home .material-list-item strong,
  body.portal-home .event-card strong,
  body.portal-home .specialists-panel .specialist-card strong {
    font-size: 11px !important;
  }

  body.portal-home .material-list-item small,
  body.portal-home .event-card small,
  body.portal-home .event-card em,
  body.portal-home .specialists-panel .specialist-card small,
  body.portal-home .specialists-panel .specialist-card em {
    font-size: 9px !important;
  }

  body.portal-home .specialists-panel .portrait {
    height: 52px !important;
  }

  body.portal-home .specialists-panel .specialist-card b {
    display: none !important;
  }

  body.portal-home .trust-strip small {
    display: none !important;
  }
}

/* Final override: no more one-screen squeeze on desktop. */
@media (min-width: 1101px) {
  body.portal-home {
    height: auto !important;
    min-height: 100vh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.portal-home .home-shell {
    --home-gap: clamp(14px, 1.35vw, 22px) !important;
    display: grid !important;
    grid-template-columns: clamp(250px, 14.2vw, 270px) minmax(0, 1fr) !important;
    align-items: start !important;
    height: auto !important;
    min-height: 100vh !important;
    padding: clamp(12px, 1.2vh, 18px) clamp(18px, 1.6vw, 30px) clamp(28px, 3vh, 44px) clamp(12px, 1vw, 18px) !important;
  }

  body.portal-home .home-shell.is-ai-rail-closed {
    grid-template-columns: clamp(250px, 14.2vw, 270px) minmax(0, 1fr) !important;
  }

  body.portal-home .home-sidebar {
    position: sticky !important;
    top: clamp(10px, 1.2vh, 18px) !important;
    height: calc(100vh - clamp(20px, 2.4vh, 36px)) !important;
  }

  body.portal-home .home-main {
    display: grid !important;
    grid-template-rows: auto auto auto auto auto !important;
    gap: var(--home-gap) !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding-top: clamp(8px, 1vh, 14px) !important;
  }

  body.portal-home .home-topbar h1 {
    font-size: clamp(50px, 4vw, 78px) !important;
  }

  body.portal-home .home-topbar p {
    font-size: clamp(18px, 1.24vw, 24px) !important;
  }

  body.portal-home .hero-console {
    height: auto !important;
  }

  body.portal-home .family-map {
    height: clamp(430px, 39vw, 640px) !important;
    min-height: 430px !important;
  }

  body.portal-home .content-lane.quick-paths {
    height: auto !important;
    min-height: 0 !important;
  }

  body.portal-home .quick-path-card {
    min-height: clamp(104px, 7.6vw, 132px) !important;
    height: auto !important;
    grid-template-columns: clamp(82px, 5.8vw, 108px) minmax(0, 1fr) clamp(28px, 1.8vw, 34px) !important;
    padding: clamp(12px, 1vw, 18px) !important;
  }

  body.portal-home .quick-path-art {
    height: clamp(74px, 5.8vw, 104px) !important;
  }

  body.portal-home .quick-path-card strong {
    font-size: clamp(15px, 0.96vw, 18px) !important;
  }

  body.portal-home .quick-path-card small {
    font-size: clamp(12px, 0.72vw, 14px) !important;
    -webkit-line-clamp: 2;
  }

  body.portal-home .bottom-grid.home-dashboard {
    height: auto !important;
    min-height: clamp(310px, 22vw, 380px) !important;
  }

  body.portal-home .content-panel {
    height: auto !important;
    min-height: clamp(310px, 22vw, 380px) !important;
    overflow: visible !important;
  }

  body.portal-home .material-list,
  body.portal-home .event-list,
  body.portal-home .specialists-panel .specialist-row {
    height: auto !important;
    min-height: 0 !important;
    gap: clamp(10px, 0.9vw, 14px) !important;
  }

  body.portal-home .material-list-item,
  body.portal-home .event-card {
    min-height: clamp(78px, 5.5vw, 96px) !important;
    padding: clamp(8px, 0.8vw, 12px) !important;
  }

  body.portal-home .material-list-item {
    grid-template-columns: clamp(72px, 5vw, 92px) minmax(0, 1fr) auto !important;
  }

  body.portal-home .material-list-item img {
    min-height: 60px !important;
  }

  body.portal-home .material-list-item strong,
  body.portal-home .event-card strong,
  body.portal-home .specialists-panel .specialist-card strong {
    font-size: clamp(14px, 0.88vw, 17px) !important;
  }

  body.portal-home .material-list-item small,
  body.portal-home .event-card small,
  body.portal-home .event-card em,
  body.portal-home .specialists-panel .specialist-card small,
  body.portal-home .specialists-panel .specialist-card em {
    font-size: clamp(12px, 0.72vw, 14px) !important;
  }

  body.portal-home .event-card {
    grid-template-columns: clamp(58px, 4vw, 70px) minmax(0, 1fr) auto !important;
  }

  body.portal-home .event-card time {
    width: clamp(52px, 3.6vw, 64px) !important;
    height: clamp(52px, 3.6vw, 64px) !important;
  }

  body.portal-home .event-card time strong {
    font-size: clamp(22px, 1.5vw, 30px) !important;
  }

  body.portal-home .specialists-panel .specialist-card {
    min-height: clamp(230px, 16vw, 280px) !important;
    height: auto !important;
  }

  body.portal-home .specialists-panel .portrait {
    height: clamp(96px, 7.8vw, 132px) !important;
  }

  body.portal-home .specialists-panel .specialist-card b {
    display: inline-flex !important;
  }

  body.portal-home .trust-strip {
    height: auto !important;
    min-height: clamp(64px, 4.8vw, 82px) !important;
    padding-block: clamp(12px, 1vw, 16px) !important;
  }

  body.portal-home .trust-strip small {
    display: block !important;
  }
}

/* Keep the AI-bot placeholder visible after freeing the page from one-screen mode. */
body.portal-home .robot-orb {
  position: fixed !important;
  right: clamp(22px, 2.4vw, 44px) !important;
  bottom: clamp(22px, 2.6vh, 38px) !important;
  z-index: 120 !important;
  display: grid !important;
  width: clamp(72px, 5.2vw, 92px) !important;
  height: clamp(72px, 5.2vw, 92px) !important;
}

body.portal-home .robot-orb img {
  width: clamp(62px, 4.4vw, 78px) !important;
  height: clamp(62px, 4.4vw, 78px) !important;
}

body.portal-home .home-shell:not(.is-ai-rail-closed) .robot-orb {
  display: none !important;
}

body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-home-panel {
  position: fixed !important;
  top: clamp(92px, 9vh, 124px) !important;
  right: clamp(20px, 2vw, 34px) !important;
  z-index: 125 !important;
  display: grid !important;
  width: min(360px, calc(100vw - 40px)) !important;
  max-height: calc(100vh - 124px) !important;
  overflow: auto !important;
  padding-top: 0 !important;
}

body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-card {
  display: block !important;
  border: 1px solid rgba(203, 218, 232, 0.82);
  box-shadow: 0 24px 70px rgba(31, 65, 110, 0.16);
}

/* One sidebar system for home and inner pages. The help card stays only on home. */
@media (min-width: 1101px) {
  body.portal-with-sidebar {
    --portal-sidebar-width: clamp(250px, 14.2vw, 270px) !important;
    padding-left: calc(var(--portal-sidebar-width) + clamp(32px, 2.7vw, 46px)) !important;
  }

  body.portal-with-sidebar .page-shell {
    width: min(1180px, calc(100% - clamp(28px, 2vw, 44px))) !important;
    padding-top: clamp(28px, 3vh, 42px) !important;
  }

  body.portal-home .home-sidebar,
  body.portal-with-sidebar .portal-shared-sidebar {
    width: clamp(250px, 14.2vw, 270px) !important;
    gap: clamp(12px, 1.55vh, 20px) !important;
    padding: clamp(18px, 2vh, 26px) clamp(18px, 1.35vw, 24px) !important;
    border: 1px solid rgba(203, 218, 232, 0.76) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    box-shadow: 0 18px 55px rgba(43, 69, 101, 0.09) !important;
  }

  body.portal-home .home-sidebar {
    position: sticky !important;
    top: clamp(10px, 1.2vh, 18px) !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar {
    position: fixed !important;
    top: clamp(10px, 1.2vh, 18px) !important;
    left: clamp(12px, 1vw, 18px) !important;
    height: calc(100vh - clamp(20px, 2.4vh, 36px)) !important;
  }

  body.portal-home .home-brand,
  body.portal-with-sidebar .home-brand {
    display: grid !important;
    justify-items: center !important;
    gap: 8px !important;
    padding: 0 0 clamp(4px, 0.7vh, 10px) !important;
    text-align: center !important;
  }

  body.portal-home .home-brand img,
  body.portal-with-sidebar .home-brand img {
    width: clamp(106px, 7vw, 132px) !important;
    height: clamp(116px, 7.8vw, 150px) !important;
    object-fit: contain !important;
  }

  body.portal-home .home-brand span,
  body.portal-with-sidebar .home-brand span {
    display: block !important;
    color: #0b8e36 !important;
    font-size: clamp(10px, 0.66vw, 12px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
  }

  body.portal-home .home-nav,
  body.portal-with-sidebar .home-nav {
    display: grid !important;
    gap: clamp(5px, 0.75vh, 9px) !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  body.portal-home .home-nav-item,
  body.portal-with-sidebar .home-nav-item {
    min-height: clamp(36px, 4.1vh, 50px) !important;
    width: 100% !important;
    justify-self: stretch !important;
    gap: clamp(12px, 1vw, 17px) !important;
    padding: 0 clamp(13px, 0.95vw, 18px) !important;
    border-radius: 13px !important;
    color: #4b5f85 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(12px, 0.76vw, 14px) !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
  }

  body.portal-home .home-nav-item span,
  body.portal-with-sidebar .home-nav-item span {
    width: clamp(22px, 1.45vw, 27px) !important;
    height: clamp(22px, 1.45vw, 27px) !important;
    color: #315c93 !important;
    font-size: clamp(16px, 1.05vw, 20px) !important;
  }

  body.portal-home .home-nav-item::before,
  body.portal-with-sidebar .home-nav-item::before {
    border-radius: 13px !important;
  }

  body.portal-home .home-nav-item.is-active,
  body.portal-with-sidebar .home-nav-item.is-active {
    color: #008d53 !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar .home-help-card {
    display: none !important;
  }
}

@media (min-width: 1101px) and (max-height: 850px) {
  body.portal-home .home-brand img,
  body.portal-with-sidebar .home-brand img {
    width: 78px !important;
    height: 88px !important;
  }

  body.portal-home .home-nav,
  body.portal-with-sidebar .home-nav {
    gap: 3px !important;
  }

  body.portal-home .home-nav-item,
  body.portal-with-sidebar .home-nav-item {
    min-height: 29px !important;
    font-size: 11px !important;
  }
}

body.portal-home .quick-path-art {
  background-size: 500% auto !important;
}

body.portal-home .material-list-item img {
  object-position: 100% 50% !important;
}

body.portal-home .quick-path-steps .quick-path-art {
  background-image: url("/assets/generated/quick-path-steps.png?v=1") !important;
}

body.portal-home .quick-path-rehab .quick-path-art {
  background-image: url("/assets/generated/quick-path-rehab.png?v=1") !important;
}

body.portal-home .quick-path-law .quick-path-art {
  background-image: url("/assets/generated/quick-path-law.png?v=1") !important;
}

body.portal-home .quick-path-specialists .quick-path-art {
  background-image: url("/assets/generated/quick-path-specialists.png?v=1") !important;
}

body.portal-home .quick-path-equipment .quick-path-art {
  background-image: url("/assets/generated/quick-path-equipment.png?v=1") !important;
}

body.portal-home .quick-path-art {
  background-position: center !important;
  background-size: cover !important;
}

body.portal-home .quick-path-steps .quick-path-art,
body.portal-home .quick-path-rehab .quick-path-art,
body.portal-home .quick-path-law .quick-path-art,
body.portal-home .quick-path-specialists .quick-path-art,
body.portal-home .quick-path-equipment .quick-path-art {
  background-position: center !important;
  background-size: cover !important;
}

/* Relaxed home layout: allow natural vertical scroll instead of forcing one viewport. */
@media (min-width: 1101px) {
  body.portal-home {
    height: auto !important;
    min-height: 100vh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.portal-home .home-shell {
    --home-gap: clamp(14px, 1.35vw, 22px) !important;
    display: grid !important;
    grid-template-columns: clamp(250px, 14.2vw, 270px) minmax(0, 1fr) !important;
    align-items: start !important;
    height: auto !important;
    min-height: 100vh !important;
    padding: clamp(12px, 1.2vh, 18px) clamp(18px, 1.6vw, 30px) clamp(28px, 3vh, 44px) clamp(12px, 1vw, 18px) !important;
  }

  body.portal-home .home-shell.is-ai-rail-closed {
    grid-template-columns: clamp(250px, 14.2vw, 270px) minmax(0, 1fr) !important;
  }

  body.portal-home .home-sidebar {
    position: sticky !important;
    top: clamp(10px, 1.2vh, 18px) !important;
    height: calc(100vh - clamp(20px, 2.4vh, 36px)) !important;
  }

  body.portal-home .home-main {
    display: grid !important;
    grid-template-rows: auto auto auto auto auto !important;
    gap: var(--home-gap) !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding-top: clamp(8px, 1vh, 14px) !important;
  }

  body.portal-home .home-topbar h1 {
    font-size: clamp(50px, 4vw, 78px) !important;
  }

  body.portal-home .home-topbar p {
    font-size: clamp(18px, 1.24vw, 24px) !important;
  }

  body.portal-home .hero-console {
    height: auto !important;
  }

  body.portal-home .family-map {
    height: clamp(430px, 39vw, 640px) !important;
    min-height: 430px !important;
  }

  body.portal-home .content-lane.quick-paths {
    height: auto !important;
    min-height: 0 !important;
  }

  body.portal-home .quick-path-card {
    min-height: clamp(104px, 7.6vw, 132px) !important;
    height: auto !important;
    grid-template-columns: clamp(82px, 5.8vw, 108px) minmax(0, 1fr) clamp(28px, 1.8vw, 34px) !important;
    padding: clamp(12px, 1vw, 18px) !important;
  }

  body.portal-home .quick-path-art {
    height: clamp(74px, 5.8vw, 104px) !important;
  }

  body.portal-home .quick-path-card strong {
    font-size: clamp(15px, 0.96vw, 18px) !important;
  }

  body.portal-home .quick-path-card small {
    font-size: clamp(12px, 0.72vw, 14px) !important;
    -webkit-line-clamp: 2;
  }

  body.portal-home .bottom-grid.home-dashboard {
    height: auto !important;
    min-height: clamp(310px, 22vw, 380px) !important;
  }

  body.portal-home .content-panel {
    height: auto !important;
    min-height: clamp(310px, 22vw, 380px) !important;
    overflow: visible !important;
  }

  body.portal-home .material-list,
  body.portal-home .event-list,
  body.portal-home .specialists-panel .specialist-row {
    height: auto !important;
    min-height: 0 !important;
    gap: clamp(10px, 0.9vw, 14px) !important;
  }

  body.portal-home .material-list-item,
  body.portal-home .event-card {
    min-height: clamp(78px, 5.5vw, 96px) !important;
    padding: clamp(8px, 0.8vw, 12px) !important;
  }

  body.portal-home .material-list-item {
    grid-template-columns: clamp(72px, 5vw, 92px) minmax(0, 1fr) auto !important;
  }

  body.portal-home .material-list-item img {
    min-height: 60px !important;
  }

  body.portal-home .material-list-item strong,
  body.portal-home .event-card strong,
  body.portal-home .specialists-panel .specialist-card strong {
    font-size: clamp(14px, 0.88vw, 17px) !important;
  }

  body.portal-home .material-list-item small,
  body.portal-home .event-card small,
  body.portal-home .event-card em,
  body.portal-home .specialists-panel .specialist-card small,
  body.portal-home .specialists-panel .specialist-card em {
    font-size: clamp(12px, 0.72vw, 14px) !important;
  }

  body.portal-home .event-card {
    grid-template-columns: clamp(58px, 4vw, 70px) minmax(0, 1fr) auto !important;
  }

  body.portal-home .event-card time {
    width: clamp(52px, 3.6vw, 64px) !important;
    height: clamp(52px, 3.6vw, 64px) !important;
  }

  body.portal-home .event-card time strong {
    font-size: clamp(22px, 1.5vw, 30px) !important;
  }

  body.portal-home .specialists-panel .specialist-card {
    min-height: clamp(230px, 16vw, 280px) !important;
    height: auto !important;
  }

  body.portal-home .specialists-panel .portrait {
    height: clamp(96px, 7.8vw, 132px) !important;
  }

  body.portal-home .specialists-panel .specialist-card b {
    display: inline-flex !important;
  }

  body.portal-home .trust-strip {
    height: auto !important;
    min-height: clamp(64px, 4.8vw, 82px) !important;
    padding-block: clamp(12px, 1vw, 16px) !important;
  }

  body.portal-home .trust-strip small {
    display: block !important;
  }
}

/* Final home composition pass: keep the last word over older sizing layers. */
body.portal-home .quick-path-art {
  background-image: url("/assets/generated/quick-path-sprite-v1.png?v=1") !important;
  background-repeat: no-repeat !important;
  background-size: 500% 100% !important;
}

body.portal-home .quick-path-art::before,
body.portal-home .quick-path-art::after {
  display: none !important;
}

body.portal-home .quick-path-steps .quick-path-art {
  background-position: 0 50% !important;
}

body.portal-home .quick-path-rehab .quick-path-art {
  background-position: 25% 50% !important;
}

body.portal-home .quick-path-law .quick-path-art {
  background-position: 50% 50% !important;
}

body.portal-home .quick-path-specialists .quick-path-art {
  background-position: 75% 50% !important;
}

body.portal-home .quick-path-equipment .quick-path-art {
  background-position: 100% 50% !important;
}

body.portal-home .quick-path-card strong,
body.portal-home .quick-path-card small,
body.portal-home .material-list-item strong,
body.portal-home .material-list-item small,
body.portal-home .event-card strong,
body.portal-home .event-card small,
body.portal-home .event-card em {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}

body.portal-home .quick-path-card strong,
body.portal-home .material-list-item strong,
body.portal-home .event-card strong {
  -webkit-line-clamp: 2;
}

body.portal-home .quick-path-card small,
body.portal-home .material-list-item small,
body.portal-home .event-card small,
body.portal-home .event-card em {
  -webkit-line-clamp: 1;
}

body.portal-home .material-list,
body.portal-home .event-list {
  grid-template-rows: repeat(3, minmax(0, 1fr));
}

body.portal-home .material-list-item,
body.portal-home .event-card,
body.portal-home .specialist-card {
  overflow: hidden;
}

@media (min-width: 1101px) {
  body.portal-home {
    height: 100vh !important;
    overflow: hidden !important;
  }

  body.portal-home .home-shell {
    --home-gap: clamp(10px, 1.1vh, 14px);
    --home-map-h: clamp(360px, 42vh, 520px);
    --home-quick-h: clamp(92px, 9.2vh, 118px);
    --home-dashboard-h: clamp(240px, 25vh, 300px);
    --home-trust-h: clamp(50px, 5.2vh, 64px);
    grid-template-columns: clamp(250px, 14.2vw, 270px) minmax(0, 1fr) !important;
    gap: clamp(20px, 1.5vw, 28px) !important;
    height: 100vh !important;
    min-height: 0 !important;
    padding: clamp(12px, 1.2vh, 16px) clamp(18px, 1.6vw, 28px) clamp(12px, 1.2vh, 16px) clamp(12px, 1vw, 18px) !important;
  }

  body.portal-home .home-shell.is-ai-rail-closed {
    grid-template-columns: clamp(250px, 14.2vw, 270px) minmax(0, 1fr) !important;
  }

  body.portal-home .home-sidebar {
    position: relative !important;
    height: auto !important;
    align-self: stretch !important;
    gap: clamp(12px, 1.55vh, 20px) !important;
    padding: clamp(18px, 2vh, 26px) clamp(18px, 1.35vw, 24px) !important;
    border: 1px solid rgba(203, 218, 232, 0.76) !important;
    border-radius: 18px !important;
  }

  body.portal-home .home-brand img {
    width: clamp(106px, 7vw, 132px) !important;
    height: clamp(116px, 7.8vw, 150px) !important;
  }

  body.portal-home .home-nav {
    gap: clamp(5px, 0.75vh, 9px) !important;
  }

  body.portal-home .home-nav-item {
    min-height: clamp(36px, 4.1vh, 50px) !important;
    border-radius: 13px !important;
    font-size: clamp(12px, 0.76vw, 14px) !important;
  }

  body.portal-home .home-main {
    display: grid !important;
    grid-template-rows: auto var(--home-map-h) var(--home-quick-h) var(--home-dashboard-h) var(--home-trust-h) !important;
    gap: var(--home-gap) !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: clamp(8px, 1vh, 14px) 0 0 !important;
  }

  body.portal-home .home-topbar {
    margin: 0 !important;
    padding-right: clamp(230px, 16vw, 320px) !important;
  }

  body.portal-home .home-topbar h1 {
    flex-wrap: nowrap !important;
    max-width: none !important;
    font-size: clamp(46px, 3.8vw, 72px) !important;
    font-weight: 900 !important;
    line-height: 0.92 !important;
  }

  body.portal-home .home-topbar h1 span {
    background: none !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    color: #0b9a43 !important;
  }

  body.portal-home .home-topbar h1 span:nth-child(2) {
    color: #2260d9 !important;
  }

  body.portal-home .home-topbar h1 span:nth-child(3) {
    color: #10214a !important;
  }

  body.portal-home .home-topbar p {
    margin-top: clamp(6px, 0.65vh, 9px) !important;
    color: #263b66 !important;
    font-size: clamp(17px, 1.16vw, 23px) !important;
  }

  body.portal-home .hero-console,
  body.portal-home .family-map {
    height: 100% !important;
    min-height: 0 !important;
  }

  body.portal-home .family-map {
    border-radius: 24px !important;
  }

  body.portal-home .content-lane.quick-paths {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: var(--home-gap) !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  body.portal-home .quick-path-card {
    grid-template-columns: clamp(66px, 5.1vw, 92px) minmax(0, 1fr) clamp(24px, 1.8vw, 30px) !important;
    gap: clamp(9px, 0.8vw, 14px) !important;
    height: 100% !important;
    padding: clamp(8px, 0.8vh, 12px) clamp(10px, 0.85vw, 16px) !important;
    border-radius: 14px !important;
  }

  body.portal-home .quick-path-art {
    width: 100% !important;
    height: clamp(58px, 5vh, 86px) !important;
    border-radius: 12px !important;
  }

  body.portal-home .quick-path-card strong {
    font-size: clamp(13px, 0.86vw, 16px) !important;
    line-height: 1.1 !important;
  }

  body.portal-home .quick-path-card small {
    margin-top: 4px !important;
    font-size: clamp(10px, 0.65vw, 12px) !important;
    line-height: 1.12 !important;
  }

  body.portal-home .quick-path-card b {
    width: clamp(24px, 1.8vw, 30px) !important;
    height: clamp(24px, 1.8vw, 30px) !important;
  }

  body.portal-home .bottom-grid.home-dashboard {
    display: grid !important;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.96fr) minmax(0, 1.36fr) !important;
    gap: var(--home-gap) !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  body.portal-home .content-panel {
    height: 100% !important;
    min-height: 0 !important;
    padding: clamp(14px, 1.25vh, 20px) clamp(14px, 1vw, 20px) !important;
    border-radius: 16px !important;
  }

  body.portal-home .lane-head {
    min-height: clamp(28px, 3vh, 38px) !important;
    margin-bottom: clamp(9px, 0.9vh, 13px) !important;
  }

  body.portal-home .lane-head h2 {
    font-size: clamp(18px, 1.18vw, 23px) !important;
    line-height: 1.08 !important;
  }

  body.portal-home .material-list,
  body.portal-home .event-list,
  body.portal-home .specialists-panel .specialist-row {
    height: calc(100% - clamp(40px, 4vh, 52px)) !important;
    gap: clamp(7px, 0.75vh, 10px) !important;
  }

  body.portal-home .material-list-item {
    grid-template-columns: clamp(62px, 4.5vw, 82px) minmax(0, 1fr) auto !important;
    gap: clamp(10px, 0.75vw, 14px) !important;
    min-height: 0 !important;
    padding: clamp(6px, 0.65vh, 9px) !important;
    border-radius: 13px !important;
  }

  body.portal-home .material-list-item img {
    border-radius: 10px !important;
  }

  body.portal-home .material-list-item strong,
  body.portal-home .event-card strong {
    font-size: clamp(12px, 0.74vw, 14px) !important;
    line-height: 1.12 !important;
  }

  body.portal-home .material-list-item small,
  body.portal-home .event-card small,
  body.portal-home .event-card em {
    font-size: clamp(10px, 0.62vw, 12px) !important;
    line-height: 1.1 !important;
  }

  body.portal-home .event-card {
    grid-template-columns: clamp(48px, 3.6vw, 62px) minmax(0, 1fr) auto !important;
    gap: clamp(9px, 0.7vw, 12px) !important;
    padding: clamp(6px, 0.65vh, 9px) !important;
    border-radius: 13px !important;
  }

  body.portal-home .event-card time {
    width: clamp(44px, 3.2vw, 56px) !important;
    height: clamp(44px, 3.2vw, 56px) !important;
  }

  body.portal-home .event-card b {
    min-width: 38px !important;
    min-height: 20px !important;
    padding: 0 7px !important;
    font-size: clamp(8px, 0.55vw, 10px) !important;
  }

  body.portal-home .specialists-panel .specialist-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.portal-home .specialists-panel .specialist-card {
    height: 100% !important;
    min-height: 0 !important;
    padding: clamp(10px, 0.8vw, 15px) !important;
  }

  body.portal-home .specialists-panel .portrait {
    height: clamp(68px, 7vh, 96px) !important;
  }

  body.portal-home .trust-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(10px, 1vw, 18px) !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 clamp(18px, 2vw, 34px) !important;
    border-radius: 18px !important;
  }
}

@media (min-width: 1101px) and (max-height: 850px) {
  body.portal-home .home-shell {
    --home-gap: 6px;
    --home-map-h: clamp(286px, 40vh, 318px);
    --home-quick-h: clamp(78px, 10vh, 88px);
    --home-dashboard-h: clamp(205px, 28vh, 230px);
    --home-trust-h: clamp(34px, 5vh, 40px);
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  body.portal-home .home-sidebar {
    gap: 7px !important;
    padding: 11px 14px !important;
  }

  body.portal-home .home-brand img {
    width: 78px !important;
    height: 88px !important;
  }

  body.portal-home .home-nav {
    gap: 3px !important;
  }

  body.portal-home .home-nav-item {
    min-height: 29px !important;
    font-size: 11px !important;
  }

  body.portal-home .home-help-card {
    gap: 4px !important;
    padding: 9px !important;
  }

  body.portal-home .home-help-card small {
    display: none !important;
  }

  body.portal-home .home-help-card .mini-button {
    min-height: 30px !important;
  }

  body.portal-home .home-main {
    padding-top: 6px !important;
  }

  body.portal-home .home-topbar h1 {
    font-size: clamp(37px, 3.35vw, 46px) !important;
  }

  body.portal-home .home-topbar p {
    margin-top: 4px !important;
    font-size: clamp(14px, 1vw, 16px) !important;
  }

  body.portal-home .quick-path-card {
    grid-template-columns: 54px minmax(0, 1fr) 22px !important;
    gap: 8px !important;
    padding: 7px 9px !important;
  }

  body.portal-home .quick-path-art {
    height: 54px !important;
  }

  body.portal-home .quick-path-card strong {
    font-size: 11px !important;
  }

  body.portal-home .quick-path-card small {
    font-size: 9px !important;
  }

  body.portal-home .quick-path-card b {
    width: 22px !important;
    height: 22px !important;
  }

  body.portal-home .content-panel {
    padding: 10px 12px !important;
  }

  body.portal-home .lane-head {
    min-height: 28px !important;
    margin-bottom: 6px !important;
  }

  body.portal-home .lane-head h2 {
    font-size: 16px !important;
  }

  body.portal-home .material-list,
  body.portal-home .event-list,
  body.portal-home .specialists-panel .specialist-row {
    height: calc(100% - 34px) !important;
    gap: 6px !important;
  }

  body.portal-home .material-list-item {
    grid-template-columns: 50px minmax(0, 1fr) auto !important;
    padding: 5px !important;
  }

  body.portal-home .event-card {
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    padding: 5px !important;
  }

  body.portal-home .event-card time {
    width: 36px !important;
    height: 36px !important;
  }

  body.portal-home .event-card time strong {
    font-size: 16px !important;
  }

  body.portal-home .material-list-item strong,
  body.portal-home .event-card strong,
  body.portal-home .specialists-panel .specialist-card strong {
    font-size: 11px !important;
  }

  body.portal-home .material-list-item small,
  body.portal-home .event-card small,
  body.portal-home .event-card em,
  body.portal-home .specialists-panel .specialist-card small,
  body.portal-home .specialists-panel .specialist-card em {
    font-size: 9px !important;
  }

  body.portal-home .specialists-panel .portrait {
    height: 52px !important;
  }

  body.portal-home .specialists-panel .specialist-card b {
    display: none !important;
  }

  body.portal-home .trust-strip small {
    display: none !important;
  }
}

@media (min-width: 1101px) {
  body.portal-home {
    height: 100vh;
    overflow: hidden;
  }

  body.portal-home .home-shell {
    --home-gap: clamp(10px, 1.2vh, 16px);
    --home-map-h: clamp(330px, 43.5vh, 530px);
    --home-quick-h: clamp(82px, 9vh, 108px);
    --home-dashboard-h: clamp(214px, 23vh, 282px);
    --home-trust-h: clamp(50px, 5.3vh, 66px);
    grid-template-columns: clamp(250px, 14.2vw, 270px) minmax(0, 1fr);
    gap: clamp(22px, 1.6vw, 28px);
    width: 100%;
    height: 100vh;
    min-height: 0;
    padding: clamp(14px, 1.4vh, 18px) clamp(18px, 1.6vw, 28px) clamp(14px, 1.4vh, 18px) clamp(14px, 1.2vw, 18px);
  }

  body.portal-home .home-shell.is-ai-rail-closed {
    grid-template-columns: clamp(250px, 14.2vw, 270px) minmax(0, 1fr);
  }

  body.portal-home .home-sidebar {
    position: relative;
    top: auto;
    align-self: stretch;
    height: auto;
    min-height: 0;
    gap: clamp(16px, 1.9vh, 22px);
    padding: clamp(20px, 2.3vh, 28px) clamp(18px, 1.35vw, 24px);
    border: 1px solid rgba(203, 218, 232, 0.76);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 18px 55px rgba(43, 69, 101, 0.09);
  }

  body.portal-home .home-brand {
    gap: 8px;
    padding-bottom: clamp(4px, 0.7vh, 10px);
  }

  body.portal-home .home-brand img {
    width: clamp(110px, 7.2vw, 136px);
    height: clamp(126px, 8.2vw, 156px);
  }

  body.portal-home .home-brand span {
    color: #0b8e36;
    font-size: clamp(10px, 0.66vw, 12px);
  }

  body.portal-home .home-nav {
    gap: clamp(5px, 0.85vh, 10px);
    overflow: visible;
  }

  body.portal-home .home-nav-item {
    min-height: clamp(38px, 4.4vh, 52px);
    padding: 0 clamp(13px, 0.95vw, 18px);
    gap: clamp(12px, 1vw, 17px);
    border-radius: 13px;
    font-size: clamp(12px, 0.78vw, 15px);
    font-weight: 800;
  }

  body.portal-home .home-nav-item::before {
    border-radius: 13px;
  }

  body.portal-home .home-nav-item span {
    width: clamp(22px, 1.45vw, 27px);
    height: clamp(22px, 1.45vw, 27px);
    color: #315c93;
    font-size: clamp(16px, 1.05vw, 20px);
  }

  body.portal-home .home-help-card {
    gap: clamp(7px, 0.9vh, 10px);
    padding: clamp(14px, 1.2vw, 18px);
    border-radius: 16px;
  }

  body.portal-home .home-help-card .mini-button {
    min-height: clamp(36px, 3.8vh, 44px);
  }

  body.portal-home .home-main {
    display: grid;
    grid-template-rows: auto var(--home-map-h) var(--home-quick-h) var(--home-dashboard-h) var(--home-trust-h);
    gap: var(--home-gap);
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding: clamp(10px, 1.2vh, 16px) 0 0;
  }

  body.portal-home .home-topbar {
    margin: 0;
    padding-right: clamp(230px, 16vw, 320px);
  }

  body.portal-home .home-topbar h1 {
    display: flex;
    flex-wrap: nowrap;
    gap: 0 0.28em;
    max-width: none;
    font-size: clamp(48px, 3.9vw, 74px);
    font-weight: 900;
    line-height: 0.92;
    text-shadow: 0 10px 30px rgba(26, 67, 122, 0.1);
  }

  body.portal-home .home-topbar h1 span {
    background: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: #0b9a43;
  }

  body.portal-home .home-topbar h1 span:nth-child(2) {
    color: #2260d9;
  }

  body.portal-home .home-topbar h1 span:nth-child(3) {
    color: #10214a;
  }

  body.portal-home .home-topbar p {
    max-width: 820px;
    margin-top: clamp(7px, 0.8vh, 10px);
    color: #263b66;
    font-size: clamp(18px, 1.22vw, 24px);
    font-weight: 700;
    line-height: 1.12;
  }

  body.portal-home .user-tools {
    top: clamp(28px, 2.8vh, 38px);
    right: clamp(28px, 2.4vw, 46px);
    gap: clamp(10px, 0.8vw, 14px);
  }

  body.portal-home .round-tool {
    width: clamp(48px, 3.1vw, 58px);
    height: clamp(48px, 3.1vw, 58px);
  }

  body.portal-home .login-link {
    min-width: clamp(104px, 7vw, 132px);
    height: clamp(48px, 3.1vw, 58px);
  }

  body.portal-home .hero-console {
    min-height: 0;
    height: 100%;
    padding: 0;
  }

  body.portal-home .family-map {
    height: 100%;
    min-height: 0;
    border: 1px solid rgba(204, 220, 235, 0.72);
    border-radius: 24px;
    box-shadow: 0 15px 38px rgba(43, 69, 101, 0.08);
  }

  body.portal-home .family-map-image {
    object-fit: fill;
    object-position: center;
  }

  body.portal-home .map-down {
    display: none;
  }

  body.portal-home .content-lane.quick-paths {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--home-gap);
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  body.portal-home .quick-path-card {
    height: 100%;
    padding: clamp(8px, 0.9vh, 12px) clamp(10px, 0.9vw, 16px);
    border-radius: 14px;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
  }

  body.portal-home .quick-path-card:hover,
  body.portal-home .quick-path-card:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(43, 69, 101, 0.12);
  }

  body.portal-home .quick-path-art {
    width: clamp(54px, 4.6vw, 82px);
    height: clamp(54px, 4.2vw, 74px);
    border-radius: 12px;
  }

  body.portal-home .quick-path-card strong {
    font-size: clamp(13px, 0.9vw, 16px);
    line-height: 1.1;
  }

  body.portal-home .quick-path-card small {
    margin-top: 4px;
    font-size: clamp(10px, 0.68vw, 13px);
    line-height: 1.18;
  }

  body.portal-home .quick-path-card b {
    width: clamp(24px, 1.7vw, 30px);
    height: clamp(24px, 1.7vw, 30px);
    font-size: clamp(13px, 0.9vw, 16px);
  }

  body.portal-home .bottom-grid.home-dashboard {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.96fr) minmax(0, 1.36fr);
    gap: var(--home-gap);
    height: 100%;
    min-height: 0;
    align-self: stretch;
    margin: 0;
  }

  body.portal-home .content-panel {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding: clamp(14px, 1.3vh, 20px) clamp(14px, 1.05vw, 20px);
    border: 1px solid rgba(203, 218, 232, 0.7);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.84);
  }

  body.portal-home .lane-head {
    min-height: 28px;
    margin-bottom: clamp(10px, 1vh, 14px);
  }

  body.portal-home .lane-head h2 {
    font-size: clamp(17px, 1.18vw, 23px);
    line-height: 1.08;
  }

  body.portal-home .lane-head a {
    min-height: 28px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #1659bd;
    font-size: clamp(11px, 0.7vw, 13px);
  }

  body.portal-home .material-list,
  body.portal-home .event-list {
    gap: clamp(7px, 0.75vh, 10px);
    height: calc(100% - 42px);
  }

  body.portal-home .material-list-item {
    grid-template-columns: clamp(58px, 4.6vw, 76px) minmax(0, 1fr) auto;
    gap: clamp(10px, 0.75vw, 14px);
    min-height: 0;
    padding: clamp(6px, 0.7vh, 9px);
    border-radius: 13px;
  }

  body.portal-home .material-list-item img {
    border-radius: 10px;
  }

  body.portal-home .material-list-item strong {
    font-size: clamp(11px, 0.76vw, 14px);
    line-height: 1.14;
  }

  body.portal-home .material-list-item small {
    margin-top: 3px;
    font-size: clamp(10px, 0.64vw, 12px);
    line-height: 1.12;
  }

  body.portal-home .event-card {
    grid-template-columns: clamp(48px, 3.8vw, 64px) minmax(0, 1fr) auto;
    gap: clamp(10px, 0.8vw, 14px);
    min-height: 0;
    padding: clamp(7px, 0.75vh, 10px);
    border-radius: 13px;
  }

  body.portal-home .event-card time {
    width: clamp(44px, 3.4vw, 58px);
    height: clamp(44px, 3.4vw, 58px);
    border-radius: 12px;
    background: #e9f9f1;
  }

  body.portal-home .event-card:nth-child(2) time {
    background: #edf4ff;
  }

  body.portal-home .event-card:nth-child(3) time {
    background: #fff6df;
  }

  body.portal-home .event-card time strong {
    font-size: clamp(19px, 1.4vw, 27px);
  }

  body.portal-home .event-card time span {
    font-size: clamp(9px, 0.58vw, 11px);
  }

  body.portal-home .event-card strong {
    font-size: clamp(11px, 0.75vw, 14px);
    line-height: 1.12;
  }

  body.portal-home .event-card small,
  body.portal-home .event-card em {
    margin-top: 3px;
    font-size: clamp(9px, 0.62vw, 12px);
    line-height: 1.1;
  }

  body.portal-home .event-card b {
    min-width: 42px;
    min-height: 20px;
    padding: 0 8px;
    font-size: clamp(9px, 0.58vw, 11px);
  }

  body.portal-home .specialists-panel .specialist-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px, 1.1vw, 20px);
    height: calc(100% - 42px);
    min-height: 0;
  }

  body.portal-home .specialists-panel .specialist-card {
    height: 100%;
    min-height: 0;
    padding: clamp(10px, 0.9vw, 16px);
    border-radius: 14px;
  }

  body.portal-home .specialists-panel .portrait {
    width: 100%;
    height: clamp(58px, 7vh, 96px);
    border-radius: 12px;
  }

  body.portal-home .specialists-panel .specialist-card small {
    margin-top: clamp(3px, 0.45vh, 7px);
    font-size: clamp(10px, 0.68vw, 12px);
    text-transform: none;
  }

  body.portal-home .specialists-panel .specialist-card strong {
    font-size: clamp(12px, 0.82vw, 15px);
  }

  body.portal-home .specialists-panel .specialist-card em {
    font-size: clamp(10px, 0.66vw, 12px);
  }

  body.portal-home .specialists-panel .specialist-card b {
    right: clamp(10px, 0.8vw, 14px);
    bottom: clamp(9px, 0.8vh, 13px);
  }

  body.portal-home .trust-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(10px, 1vw, 18px);
    height: 100%;
    min-height: 0;
    padding: 0 clamp(18px, 2vw, 34px);
    border-radius: 18px;
  }

  body.portal-home .trust-strip a {
    gap: clamp(9px, 0.8vw, 14px);
  }

  body.portal-home .trust-strip span {
    grid-row: span 2;
    width: clamp(28px, 2.3vw, 38px);
    height: clamp(28px, 2.3vw, 38px);
    font-size: clamp(13px, 1vw, 18px);
  }

  body.portal-home .trust-strip strong {
    font-size: clamp(11px, 0.76vw, 14px);
    line-height: 1.08;
  }

  body.portal-home .trust-strip small {
    margin-top: 2px;
    font-size: clamp(9px, 0.62vw, 12px);
    line-height: 1.08;
  }

  body.portal-home .robot-orb {
    display: none;
  }
}

@media (min-width: 1101px) and (max-height: 850px) {
  body.portal-home .home-shell {
    --home-gap: 8px;
    --home-map-h: clamp(286px, 41vh, 330px);
    --home-quick-h: clamp(66px, 8.7vh, 74px);
    --home-dashboard-h: clamp(160px, 21vh, 190px);
    --home-trust-h: clamp(40px, 5.5vh, 46px);
    padding-top: 10px;
    padding-bottom: 10px;
  }

  body.portal-home .home-sidebar {
    gap: 8px;
    padding: 12px 14px;
  }

  body.portal-home .home-brand {
    gap: 4px;
    padding-bottom: 3px;
  }

  body.portal-home .home-brand img {
    width: 82px;
    height: 94px;
  }

  body.portal-home .home-nav {
    gap: 4px;
  }

  body.portal-home .home-nav-item {
    min-height: 31px;
    font-size: 11px;
  }

  body.portal-home .home-help-card {
    gap: 4px;
    padding: 10px;
  }

  body.portal-home .home-help-card small {
    display: none;
  }

  body.portal-home .home-help-card .mini-button {
    min-height: 32px;
  }

  body.portal-home .home-main {
    padding-top: 7px;
  }

  body.portal-home .home-topbar h1 {
    font-size: clamp(39px, 3.5vw, 48px);
  }

  body.portal-home .home-topbar p {
    margin-top: 5px;
    font-size: clamp(15px, 1.1vw, 17px);
  }

  body.portal-home .quick-path-card {
    gap: 9px;
    padding: 7px 9px;
  }

  body.portal-home .quick-path-art {
    width: 46px;
    height: 46px;
  }

  body.portal-home .quick-path-card strong {
    font-size: 11px;
  }

  body.portal-home .quick-path-card small {
    font-size: 9px;
    line-height: 1.05;
  }

  body.portal-home .quick-path-card b {
    width: 22px;
    height: 22px;
  }

  body.portal-home .content-panel {
    padding: 10px 12px;
  }

  body.portal-home .lane-head {
    min-height: 24px;
    margin-bottom: 7px;
  }

  body.portal-home .lane-head h2 {
    font-size: 15px;
  }

  body.portal-home .material-list,
  body.portal-home .event-list,
  body.portal-home .specialists-panel .specialist-row {
    height: calc(100% - 31px);
    gap: 6px;
  }

  body.portal-home .material-list-item {
    grid-template-columns: 48px minmax(0, 1fr) auto;
    padding: 5px;
  }

  body.portal-home .material-list-item strong,
  body.portal-home .event-card strong,
  body.portal-home .specialists-panel .specialist-card strong {
    font-size: 11px;
  }

  body.portal-home .material-list-item small,
  body.portal-home .event-card small,
  body.portal-home .event-card em,
  body.portal-home .specialists-panel .specialist-card small,
  body.portal-home .specialists-panel .specialist-card em {
    font-size: 9px;
  }

  body.portal-home .event-card {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    padding: 5px;
  }

  body.portal-home .event-card time {
    width: 38px;
    height: 38px;
  }

  body.portal-home .event-card time strong {
    font-size: 17px;
  }

  body.portal-home .event-card b {
    min-width: 34px;
    min-height: 18px;
    padding: 0 6px;
    font-size: 8px;
  }

  body.portal-home .specialists-panel .portrait {
    height: 44px;
  }

  body.portal-home .specialists-panel .specialist-card {
    padding: 8px;
  }

  body.portal-home .specialists-panel .specialist-card b {
    display: none;
  }

  body.portal-home .trust-strip {
    padding: 0 14px;
  }

  body.portal-home .trust-strip span {
    width: 26px;
    height: 26px;
  }

  body.portal-home .trust-strip strong {
    font-size: 10px;
  }

  body.portal-home .trust-strip small {
    display: none;
  }
}

body.portal-home .quick-paths,
body.portal-home .home-dashboard,
body.portal-home .trust-strip {
  min-width: 0;
}

body.portal-home .quick-paths {
  display: grid;
  gap: 12px;
}

body.portal-home .quick-path-card,
body.portal-home .material-list-item,
body.portal-home .event-card,
body.portal-home .trust-strip a {
  min-width: 0;
  color: #10214a;
  text-decoration: none;
}

body.portal-home .quick-path-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(203, 218, 232, 0.84);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 14px 34px rgba(43, 69, 101, 0.08);
}

body.portal-home .quick-path-card strong,
body.portal-home .material-list-item strong,
body.portal-home .event-card strong,
body.portal-home .trust-strip strong {
  display: block;
  color: #10214a;
  font-weight: 800;
}

body.portal-home .quick-path-card small,
body.portal-home .material-list-item small,
body.portal-home .event-card small,
body.portal-home .trust-strip small {
  display: block;
  color: #50658c;
  font-weight: 600;
}

body.portal-home .quick-path-art {
  position: relative;
  display: block;
  overflow: hidden;
  background: #f3f8ff;
}

body.portal-home .quick-path-card b {
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font-weight: 900;
}

body.portal-home .quick-path-steps .quick-path-art {
  background:
    radial-gradient(ellipse at 33% 69%, #12aa64 0 20%, transparent 21%),
    radial-gradient(ellipse at 63% 60%, #19c37d 0 22%, transparent 23%),
    linear-gradient(150deg, #eafff4, #f7fbff);
}

body.portal-home .quick-path-steps .quick-path-art::before,
body.portal-home .quick-path-steps .quick-path-art::after {
  content: "";
  position: absolute;
  top: 38%;
  width: 43%;
  height: 26%;
  border-radius: 52% 58% 42% 48%;
  background:
    linear-gradient(90deg, transparent 18%, rgba(255, 255, 255, 0.95) 19% 26%, transparent 27% 39%, rgba(255, 255, 255, 0.9) 40% 47%, transparent 48%),
    linear-gradient(135deg, #19bf72, #0c8d55);
  box-shadow: 0 10px 18px rgba(18, 154, 91, 0.18);
}

body.portal-home .quick-path-steps .quick-path-art::before {
  left: 15%;
  transform: rotate(-20deg);
}

body.portal-home .quick-path-steps .quick-path-art::after {
  right: 14%;
  transform: rotate(18deg);
}

body.portal-home .quick-path-rehab .quick-path-art {
  background-image: url("/assets/generated/material-card-routine-clean.png?v=35");
  background-size: 210% auto;
  background-position: 83% 50%;
}

body.portal-home .quick-path-law .quick-path-art {
  background: linear-gradient(135deg, #eaf4ff, #ffffff);
}

body.portal-home .quick-path-law .quick-path-art::before {
  content: "";
  position: absolute;
  left: 18%;
  top: 26%;
  width: 62%;
  height: 50%;
  border-radius: 8px;
  background: linear-gradient(145deg, #2d79e8, #1b57c9);
  box-shadow: 0 12px 20px rgba(33, 95, 201, 0.2);
}

body.portal-home .quick-path-law .quick-path-art::after {
  content: "";
  position: absolute;
  left: 22%;
  top: 20%;
  width: 34%;
  height: 18%;
  border-radius: 8px 8px 0 0;
  background: #58a0ff;
}

body.portal-home .quick-path-specialists .quick-path-art {
  background-image: url("/assets/generated/specialist-portraits.png");
  background-size: 300% 100%;
  background-position: 0 50%;
}

body.portal-home .quick-path-equipment .quick-path-art {
  background-image: url("/assets/generated/map-hotspot-equipment.png?v=42");
  background-size: 134% auto;
  background-position: 38% 48%;
}

body.portal-home .quick-path-steps b {
  background: #0aa95e;
}

body.portal-home .quick-path-rehab b {
  background: #1465e8;
}

body.portal-home .quick-path-law b {
  background: #f0ad00;
}

body.portal-home .quick-path-specialists b {
  background: #704be7;
}

body.portal-home .quick-path-equipment b {
  background: #27a9bf;
}

body.portal-home .material-list,
body.portal-home .event-list {
  display: grid;
  min-height: 0;
}

body.portal-home .material-list-item,
body.portal-home .event-card {
  display: grid;
  align-items: center;
  border: 1px solid rgba(203, 218, 232, 0.78);
  background: rgba(255, 255, 255, 0.86);
}

body.portal-home .material-list-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 88% 50%;
}

body.portal-home .material-list-item b {
  color: #1f4f91;
  font-weight: 900;
}

body.portal-home .event-card time {
  display: grid;
  place-items: center;
  line-height: 1;
  text-align: center;
}

body.portal-home .event-card time strong {
  color: #12aa64;
  font-weight: 900;
}

body.portal-home .event-card time span {
  color: #12aa64;
  font-weight: 800;
  text-transform: uppercase;
}

body.portal-home .event-card em {
  display: block;
  color: #526b99;
  font-style: normal;
  font-weight: 700;
}

body.portal-home .event-card b {
  display: inline-grid;
  place-items: center;
  justify-self: end;
  border-radius: 999px;
  color: #0a9b5c;
  background: #e9f9f1;
  font-weight: 800;
}

body.portal-home .event-card:nth-child(2) time strong,
body.portal-home .event-card:nth-child(2) time span {
  color: #1f65e7;
}

body.portal-home .event-card:nth-child(2) b {
  color: #1f65e7;
  background: #edf4ff;
}

body.portal-home .event-card:nth-child(3) time strong,
body.portal-home .event-card:nth-child(3) time span {
  color: #f0a000;
}

body.portal-home .event-card:nth-child(3) b {
  color: #e08d00;
  background: #fff6df;
}

body.portal-home .trust-strip {
  display: grid;
  align-items: center;
  border: 1px solid rgba(203, 218, 232, 0.68);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 14px 34px rgba(43, 69, 101, 0.06);
  backdrop-filter: blur(16px);
}

body.portal-home .trust-strip a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

body.portal-home .trust-strip span {
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #1f65c8;
  background: #eef6ff;
}

@media (min-width: 1101px) {
  body.portal-home {
    height: 100vh;
    overflow: hidden;
  }

  body.portal-home .home-shell {
    --home-gap: clamp(10px, 1.2vh, 16px);
    --home-map-h: clamp(330px, 43.5vh, 530px);
    --home-quick-h: clamp(82px, 9vh, 108px);
    --home-dashboard-h: clamp(214px, 23vh, 282px);
    --home-trust-h: clamp(50px, 5.3vh, 66px);
    grid-template-columns: clamp(250px, 14.2vw, 270px) minmax(0, 1fr);
    gap: clamp(22px, 1.6vw, 28px);
    width: 100%;
    height: 100vh;
    min-height: 0;
    padding: clamp(14px, 1.4vh, 18px) clamp(18px, 1.6vw, 28px) clamp(14px, 1.4vh, 18px) clamp(14px, 1.2vw, 18px);
  }

  body.portal-home .home-shell.is-ai-rail-closed {
    grid-template-columns: clamp(250px, 14.2vw, 270px) minmax(0, 1fr);
  }

  body.portal-home .home-sidebar {
    position: relative;
    top: auto;
    align-self: stretch;
    height: auto;
    min-height: 0;
    gap: clamp(16px, 1.9vh, 22px);
    padding: clamp(20px, 2.3vh, 28px) clamp(18px, 1.35vw, 24px);
    border: 1px solid rgba(203, 218, 232, 0.76);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 18px 55px rgba(43, 69, 101, 0.09);
  }

  body.portal-home .home-brand {
    gap: 8px;
    padding-bottom: clamp(4px, 0.7vh, 10px);
  }

  body.portal-home .home-brand img {
    width: clamp(110px, 7.2vw, 136px);
    height: clamp(126px, 8.2vw, 156px);
  }

  body.portal-home .home-brand span {
    color: #0b8e36;
    font-size: clamp(10px, 0.66vw, 12px);
  }

  body.portal-home .home-nav {
    gap: clamp(5px, 0.85vh, 10px);
    overflow: visible;
  }

  body.portal-home .home-nav-item {
    min-height: clamp(38px, 4.4vh, 52px);
    padding: 0 clamp(13px, 0.95vw, 18px);
    gap: clamp(12px, 1vw, 17px);
    border-radius: 13px;
    font-size: clamp(12px, 0.78vw, 15px);
    font-weight: 800;
  }

  body.portal-home .home-nav-item::before {
    border-radius: 13px;
  }

  body.portal-home .home-nav-item span {
    width: clamp(22px, 1.45vw, 27px);
    height: clamp(22px, 1.45vw, 27px);
    color: #315c93;
    font-size: clamp(16px, 1.05vw, 20px);
  }

  body.portal-home .home-help-card {
    gap: clamp(7px, 0.9vh, 10px);
    padding: clamp(14px, 1.2vw, 18px);
    border-radius: 16px;
  }

  body.portal-home .home-help-card .mini-button {
    min-height: clamp(36px, 3.8vh, 44px);
  }

  body.portal-home .home-main {
    display: grid;
    grid-template-rows: auto var(--home-map-h) var(--home-quick-h) var(--home-dashboard-h) var(--home-trust-h);
    gap: var(--home-gap);
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding: clamp(10px, 1.2vh, 16px) 0 0;
  }

  body.portal-home .home-topbar {
    margin: 0;
    padding-right: clamp(230px, 16vw, 320px);
  }

  body.portal-home .home-topbar h1 {
    display: flex;
    flex-wrap: nowrap;
    gap: 0 0.28em;
    max-width: none;
    font-size: clamp(48px, 3.9vw, 74px);
    font-weight: 900;
    line-height: 0.92;
    text-shadow: 0 10px 30px rgba(26, 67, 122, 0.1);
  }

  body.portal-home .home-topbar h1 span {
    background: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    color: #0b9a43;
  }

  body.portal-home .home-topbar h1 span:nth-child(2) {
    color: #2260d9;
  }

  body.portal-home .home-topbar h1 span:nth-child(3) {
    color: #10214a;
  }

  body.portal-home .home-topbar p {
    max-width: 820px;
    margin-top: clamp(7px, 0.8vh, 10px);
    color: #263b66;
    font-size: clamp(18px, 1.22vw, 24px);
    font-weight: 700;
    line-height: 1.12;
  }

  body.portal-home .user-tools {
    top: clamp(28px, 2.8vh, 38px);
    right: clamp(28px, 2.4vw, 46px);
    gap: clamp(10px, 0.8vw, 14px);
  }

  body.portal-home .round-tool {
    width: clamp(48px, 3.1vw, 58px);
    height: clamp(48px, 3.1vw, 58px);
  }

  body.portal-home .login-link {
    min-width: clamp(104px, 7vw, 132px);
    height: clamp(48px, 3.1vw, 58px);
  }

  body.portal-home .hero-console {
    min-height: 0;
    height: 100%;
    padding: 0;
  }

  body.portal-home .family-map {
    height: 100%;
    min-height: 0;
    border: 1px solid rgba(204, 220, 235, 0.72);
    border-radius: 24px;
    box-shadow: 0 15px 38px rgba(43, 69, 101, 0.08);
  }

  body.portal-home .family-map-image {
    object-fit: fill;
    object-position: center;
  }

  body.portal-home .map-down {
    display: none;
  }

  body.portal-home .quick-paths {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  body.portal-home .quick-path-card {
    height: 100%;
    padding: clamp(8px, 0.9vh, 12px) clamp(10px, 0.9vw, 16px);
    border-radius: 14px;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
  }

  body.portal-home .quick-path-card:hover,
  body.portal-home .quick-path-card:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(43, 69, 101, 0.12);
  }

  body.portal-home .quick-path-art {
    width: clamp(54px, 4.6vw, 82px);
    height: clamp(54px, 4.2vw, 74px);
    border-radius: 12px;
  }

  body.portal-home .quick-path-card strong {
    font-size: clamp(13px, 0.9vw, 16px);
    line-height: 1.1;
  }

  body.portal-home .quick-path-card small {
    margin-top: 4px;
    font-size: clamp(10px, 0.68vw, 13px);
    line-height: 1.18;
  }

  body.portal-home .quick-path-card b {
    width: clamp(24px, 1.7vw, 30px);
    height: clamp(24px, 1.7vw, 30px);
    font-size: clamp(13px, 0.9vw, 16px);
  }

  body.portal-home .home-dashboard {
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.96fr) minmax(0, 1.36fr);
    gap: var(--home-gap);
    height: 100%;
    min-height: 0;
    align-self: stretch;
    margin: 0;
  }

  body.portal-home .content-panel {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding: clamp(14px, 1.3vh, 20px) clamp(14px, 1.05vw, 20px);
    border: 1px solid rgba(203, 218, 232, 0.7);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.84);
  }

  body.portal-home .lane-head {
    min-height: 28px;
    margin-bottom: clamp(10px, 1vh, 14px);
  }

  body.portal-home .lane-head h2 {
    font-size: clamp(17px, 1.18vw, 23px);
    line-height: 1.08;
  }

  body.portal-home .lane-head a {
    min-height: 28px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #1659bd;
    font-size: clamp(11px, 0.7vw, 13px);
  }

  body.portal-home .material-list,
  body.portal-home .event-list {
    gap: clamp(7px, 0.75vh, 10px);
    height: calc(100% - 42px);
  }

  body.portal-home .material-list-item {
    grid-template-columns: clamp(58px, 4.6vw, 76px) minmax(0, 1fr) auto;
    gap: clamp(10px, 0.75vw, 14px);
    min-height: 0;
    padding: clamp(6px, 0.7vh, 9px);
    border-radius: 13px;
  }

  body.portal-home .material-list-item img {
    border-radius: 10px;
  }

  body.portal-home .material-list-item strong {
    font-size: clamp(11px, 0.76vw, 14px);
    line-height: 1.14;
  }

  body.portal-home .material-list-item small {
    margin-top: 3px;
    font-size: clamp(10px, 0.64vw, 12px);
    line-height: 1.12;
  }

  body.portal-home .event-card {
    grid-template-columns: clamp(48px, 3.8vw, 64px) minmax(0, 1fr) auto;
    gap: clamp(10px, 0.8vw, 14px);
    min-height: 0;
    padding: clamp(7px, 0.75vh, 10px);
    border-radius: 13px;
  }

  body.portal-home .event-card time {
    width: clamp(44px, 3.4vw, 58px);
    height: clamp(44px, 3.4vw, 58px);
    border-radius: 12px;
    background: #e9f9f1;
  }

  body.portal-home .event-card:nth-child(2) time {
    background: #edf4ff;
  }

  body.portal-home .event-card:nth-child(3) time {
    background: #fff6df;
  }

  body.portal-home .event-card time strong {
    font-size: clamp(19px, 1.4vw, 27px);
  }

  body.portal-home .event-card time span {
    font-size: clamp(9px, 0.58vw, 11px);
  }

  body.portal-home .event-card strong {
    font-size: clamp(11px, 0.75vw, 14px);
    line-height: 1.12;
  }

  body.portal-home .event-card small,
  body.portal-home .event-card em {
    margin-top: 3px;
    font-size: clamp(9px, 0.62vw, 12px);
    line-height: 1.1;
  }

  body.portal-home .event-card b {
    min-width: 42px;
    min-height: 20px;
    padding: 0 8px;
    font-size: clamp(9px, 0.58vw, 11px);
  }

  body.portal-home .specialists-panel .specialist-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px, 1.1vw, 20px);
    height: calc(100% - 42px);
    min-height: 0;
  }

  body.portal-home .specialists-panel .specialist-card {
    height: 100%;
    min-height: 0;
    padding: clamp(10px, 0.9vw, 16px);
    border-radius: 14px;
  }

  body.portal-home .specialists-panel .portrait {
    width: 100%;
    height: clamp(58px, 7vh, 96px);
    border-radius: 12px;
  }

  body.portal-home .specialists-panel .specialist-card small {
    margin-top: clamp(3px, 0.45vh, 7px);
    font-size: clamp(10px, 0.68vw, 12px);
    text-transform: none;
  }

  body.portal-home .specialists-panel .specialist-card strong {
    font-size: clamp(12px, 0.82vw, 15px);
  }

  body.portal-home .specialists-panel .specialist-card em {
    font-size: clamp(10px, 0.66vw, 12px);
  }

  body.portal-home .specialists-panel .specialist-card b {
    right: clamp(10px, 0.8vw, 14px);
    bottom: clamp(9px, 0.8vh, 13px);
  }

  body.portal-home .trust-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(10px, 1vw, 18px);
    height: 100%;
    min-height: 0;
    padding: 0 clamp(18px, 2vw, 34px);
    border-radius: 18px;
  }

  body.portal-home .trust-strip a {
    gap: clamp(9px, 0.8vw, 14px);
  }

  body.portal-home .trust-strip span {
    grid-row: span 2;
    width: clamp(28px, 2.3vw, 38px);
    height: clamp(28px, 2.3vw, 38px);
    font-size: clamp(13px, 1vw, 18px);
  }

  body.portal-home .trust-strip strong {
    font-size: clamp(11px, 0.76vw, 14px);
    line-height: 1.08;
  }

  body.portal-home .trust-strip small {
    margin-top: 2px;
    font-size: clamp(9px, 0.62vw, 12px);
    line-height: 1.08;
  }

  body.portal-home .robot-orb {
    display: none;
  }
}

@media (min-width: 1101px) and (max-height: 850px) {
  body.portal-home .home-shell {
    --home-gap: 8px;
    --home-map-h: clamp(286px, 41vh, 330px);
    --home-quick-h: clamp(66px, 8.7vh, 74px);
    --home-dashboard-h: clamp(160px, 21vh, 190px);
    --home-trust-h: clamp(40px, 5.5vh, 46px);
    padding-top: 10px;
    padding-bottom: 10px;
  }

  body.portal-home .home-sidebar {
    gap: 8px;
    padding: 12px 14px;
  }

  body.portal-home .home-brand {
    gap: 4px;
    padding-bottom: 3px;
  }

  body.portal-home .home-brand img {
    width: 82px;
    height: 94px;
  }

  body.portal-home .home-nav {
    gap: 4px;
  }

  body.portal-home .home-nav-item {
    min-height: 31px;
    font-size: 11px;
  }

  body.portal-home .home-help-card {
    gap: 4px;
    padding: 10px;
  }

  body.portal-home .home-help-card small {
    display: none;
  }

  body.portal-home .home-help-card .mini-button {
    min-height: 32px;
  }

  body.portal-home .home-main {
    padding-top: 7px;
  }

  body.portal-home .home-topbar h1 {
    font-size: clamp(39px, 3.5vw, 48px);
  }

  body.portal-home .home-topbar p {
    margin-top: 5px;
    font-size: clamp(15px, 1.1vw, 17px);
  }

  body.portal-home .quick-path-card {
    gap: 9px;
    padding: 7px 9px;
  }

  body.portal-home .quick-path-art {
    width: 46px;
    height: 46px;
  }

  body.portal-home .quick-path-card strong {
    font-size: 11px;
  }

  body.portal-home .quick-path-card small {
    font-size: 9px;
    line-height: 1.05;
  }

  body.portal-home .quick-path-card b {
    width: 22px;
    height: 22px;
  }

  body.portal-home .content-panel {
    padding: 10px 12px;
  }

  body.portal-home .lane-head {
    min-height: 24px;
    margin-bottom: 7px;
  }

  body.portal-home .lane-head h2 {
    font-size: 15px;
  }

  body.portal-home .material-list,
  body.portal-home .event-list,
  body.portal-home .specialists-panel .specialist-row {
    height: calc(100% - 31px);
    gap: 6px;
  }

  body.portal-home .material-list-item {
    grid-template-columns: 48px minmax(0, 1fr) auto;
    padding: 5px;
  }

  body.portal-home .material-list-item strong,
  body.portal-home .event-card strong,
  body.portal-home .specialists-panel .specialist-card strong {
    font-size: 11px;
  }

  body.portal-home .material-list-item small,
  body.portal-home .event-card small,
  body.portal-home .event-card em,
  body.portal-home .specialists-panel .specialist-card small,
  body.portal-home .specialists-panel .specialist-card em {
    font-size: 9px;
  }

  body.portal-home .event-card {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    padding: 5px;
  }

  body.portal-home .event-card time {
    width: 38px;
    height: 38px;
  }

  body.portal-home .event-card time strong {
    font-size: 17px;
  }

  body.portal-home .event-card b {
    min-width: 34px;
    min-height: 18px;
    padding: 0 6px;
    font-size: 8px;
  }

  body.portal-home .specialists-panel .portrait {
    height: 44px;
  }

  body.portal-home .specialists-panel .specialist-card {
    padding: 8px;
  }

  body.portal-home .specialists-panel .specialist-card b {
    display: none;
  }

  body.portal-home .trust-strip {
    padding: 0 14px;
  }

  body.portal-home .trust-strip span {
    width: 26px;
    height: 26px;
  }

  body.portal-home .trust-strip strong {
    font-size: 10px;
  }

  body.portal-home .trust-strip small {
    display: none;
  }
}

@media (max-width: 1100px) {
  body.portal-home {
    overflow-x: hidden;
  }

  body.portal-home .quick-paths,
  body.portal-home .home-dashboard,
  body.portal-home .trust-strip {
    grid-template-columns: 1fr;
    margin-top: 10px;
  }

  body.portal-home .quick-paths {
    padding: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  body.portal-home .quick-path-card {
    min-height: 88px;
    padding: 12px;
    border-radius: 16px;
  }

  body.portal-home .quick-path-art {
    width: 64px;
    height: 58px;
    border-radius: 12px;
  }

  body.portal-home .quick-path-card b {
    width: 28px;
    height: 28px;
  }

  body.portal-home .home-dashboard {
    display: grid;
    gap: 10px;
  }

  body.portal-home .material-list,
  body.portal-home .event-list {
    gap: 8px;
  }

  body.portal-home .material-list-item {
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 8px;
    border-radius: 14px;
  }

  body.portal-home .material-list-item img {
    height: 56px;
    border-radius: 10px;
  }

  body.portal-home .event-card {
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 10px;
    padding: 8px;
    border-radius: 14px;
  }

  body.portal-home .event-card time {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #e9f9f1;
  }

  body.portal-home .event-card b {
    min-height: 22px;
    padding: 0 8px;
    font-size: 10px;
  }

  body.portal-home .trust-strip {
    gap: 10px;
    padding: 14px;
    border-radius: 18px;
  }

  body.portal-home .trust-strip a {
    gap: 10px;
  }

  body.portal-home .trust-strip span {
    grid-row: span 2;
    width: 34px;
    height: 34px;
  }
}

@media (min-width: 1101px) {
  body.portal-home {
    height: 100vh;
    overflow: hidden;
  }

  body.portal-home .home-shell {
    grid-template-columns: clamp(230px, 14.6vw, 278px) minmax(0, 1fr);
    gap: clamp(22px, 1.7vw, 32px);
    width: 100%;
    max-width: none;
    height: 100vh;
    min-height: 0;
    padding: 0 clamp(28px, 2.25vw, 44px) clamp(16px, 2vh, 24px) 0;
  }

  body.portal-home .home-shell.is-ai-rail-closed {
    grid-template-columns: clamp(230px, 14.6vw, 278px) minmax(0, 1fr);
  }

  body.portal-with-sidebar {
    --portal-sidebar-width: clamp(230px, 14.6vw, 278px);
  }

  .home-sidebar {
    height: 100vh;
    min-height: 0;
    gap: clamp(18px, 2vh, 26px);
    padding: clamp(24px, 3vh, 34px) clamp(22px, 1.6vw, 28px) clamp(22px, 2.6vh, 30px);
    border-radius: 0 28px 28px 0;
  }

  .home-brand {
    display: grid;
    justify-items: center;
    gap: 8px;
    padding-bottom: clamp(8px, 1.4vh, 18px);
    text-align: center;
  }

  .home-brand img {
    width: clamp(104px, 7.2vw, 136px);
    height: clamp(108px, 8vw, 150px);
  }

  .home-brand span {
    display: block;
    color: #0b8e36;
    font-size: clamp(10px, 0.7vw, 12px);
    font-weight: 800;
    line-height: 1.15;
  }

  .home-nav {
    gap: clamp(8px, 1.15vh, 14px);
    overflow: visible;
  }

  .home-nav-item {
    min-height: clamp(44px, 5.2vh, 58px);
    padding: 0 clamp(14px, 1vw, 18px);
    gap: clamp(12px, 1.05vw, 18px);
    border-radius: 16px;
    font-size: clamp(13px, 0.85vw, 15px);
    font-weight: 800;
  }

  .home-nav-item::before {
    border-radius: 16px;
    background: linear-gradient(90deg, rgba(9, 173, 111, 0.18), rgba(9, 173, 111, 0.08) 78%, rgba(255, 255, 255, 0));
  }

  .home-nav-item::after {
    top: 12px;
    bottom: 12px;
    width: 5px;
  }

  .home-nav-item span {
    width: 26px;
    height: 26px;
    font-size: clamp(18px, 1.2vw, 22px);
  }

  .home-help-card {
    display: grid;
    gap: 8px;
    margin-top: auto;
    padding: clamp(16px, 1.4vw, 22px);
    border: 1px solid rgba(203, 218, 232, 0.86);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.74);
  }

  .home-help-card .help-card-icon {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #4970a8;
    background: #eef6ff;
    font-size: 16px;
  }

  .home-help-card p {
    margin: 0;
    color: #10214a;
    font-size: clamp(13px, 0.82vw, 15px);
    font-weight: 800;
  }

  .home-help-card small {
    color: #5f7194;
    font-size: clamp(11px, 0.72vw, 13px);
    line-height: 1.35;
  }

  .home-help-card .mini-button {
    min-height: 42px;
    margin-top: 6px;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, #10b86d, #2f7fe1);
    box-shadow: 0 12px 26px rgba(28, 142, 181, 0.2);
    font-size: 13px;
    font-weight: 800;
  }

  body.portal-home .home-main {
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr);
    gap: clamp(14px, 2vh, 24px);
    height: 100vh;
    min-height: 0;
    overflow: hidden;
    padding: clamp(26px, 3.8vh, 52px) 0 0;
  }

  body.portal-home .home-topbar {
    min-height: 0;
    margin: 0;
    padding-right: clamp(230px, 16vw, 320px);
  }

  body.portal-home .home-topbar h1 {
    max-width: none;
    font-size: clamp(44px, 3.8vw, 72px);
    line-height: 0.95;
  }

  body.portal-home .home-topbar p {
    max-width: 760px;
    margin-top: clamp(8px, 1vh, 12px);
    font-size: clamp(18px, 1.35vw, 27px);
    line-height: 1.15;
  }

  body.portal-home .user-tools {
    top: clamp(34px, 4.2vh, 52px);
    right: clamp(32px, 3.2vw, 58px);
    gap: 14px;
  }

  body.portal-home .round-tool {
    width: clamp(48px, 3.3vw, 58px);
    height: clamp(48px, 3.3vw, 58px);
    box-shadow: 0 12px 28px rgba(43, 69, 101, 0.08);
  }

  body.portal-home .login-link {
    gap: 10px;
    min-width: clamp(104px, 7vw, 128px);
    height: clamp(48px, 3.3vw, 58px);
    border-radius: 999px;
  }

  body.portal-home .login-link span {
    font-size: 16px;
  }

  body.portal-home .hero-console {
    display: grid;
    grid-template-rows: auto;
    gap: 0;
    min-height: 0;
    padding: 0;
  }

  body.portal-home .hero-search {
    width: min(830px, 58vw);
    min-height: clamp(54px, 5.3vh, 68px);
    margin: 0 auto;
    padding: 8px 12px 8px 24px;
    border-radius: 22px;
  }

  body.portal-home .hero-search input {
    font-size: clamp(16px, 1vw, 20px);
  }

  body.portal-home .hero-search button {
    min-height: clamp(42px, 4.1vh, 54px);
    padding: 0 clamp(18px, 1.6vw, 30px);
    border-radius: 20px;
    font-weight: 800;
  }

  body.portal-home .family-map {
    height: clamp(430px, 52vh, 650px);
    min-height: 0;
    border: 1px solid rgba(204, 220, 235, 0.74);
    border-radius: 30px;
    box-shadow: 0 16px 45px rgba(43, 69, 101, 0.09);
  }

  body.portal-home .family-map-image {
    object-fit: fill;
    object-position: center;
  }

  body.portal-home .map-down {
    display: none;
  }

  body.portal-home .map-label {
    display: none;
  }

  body.portal-home .content-lane {
    height: clamp(92px, 10vh, 126px);
    min-height: 0;
    margin: 0;
    padding: clamp(12px, 1.3vh, 18px) clamp(18px, 1.6vw, 26px);
    border-radius: 22px;
  }

  body.portal-home .lane-head {
    min-height: 30px;
    margin-bottom: clamp(8px, 1vh, 12px);
  }

  body.portal-home .lane-head h2 {
    font-size: clamp(18px, 1.35vw, 26px);
    line-height: 1.1;
  }

  body.portal-home .lane-head a {
    gap: 8px;
    min-height: 32px;
    padding: 0 14px;
    border-radius: 999px;
    color: #275fae;
    font-size: clamp(12px, 0.75vw, 14px);
    white-space: nowrap;
  }

  body.portal-home .material-carousel {
    grid-template-columns: 38px repeat(4, minmax(0, 1fr)) 38px;
    gap: clamp(18px, 2vw, 36px);
    height: calc(100% - 42px);
    min-height: 0;
  }

  body.portal-home .carousel-button {
    width: 38px;
    height: 38px;
  }

  body.portal-home .material-card {
    align-self: stretch;
    height: 100%;
    min-height: 0;
    max-height: 148px;
    aspect-ratio: auto;
    border-radius: 16px;
  }

  body.portal-home .bottom-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: clamp(16px, 1.6vw, 24px);
    min-height: 0;
    height: clamp(150px, 16vh, 195px);
    align-self: end;
    margin: 0;
  }

  body.portal-home .content-panel {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding: clamp(14px, 1.45vh, 20px) clamp(16px, 1.45vw, 22px);
    border-radius: 22px;
  }

  body.portal-home .bottom-grid .lane-head {
    margin-bottom: clamp(10px, 1.1vh, 14px);
  }

  body.portal-home .mini-card-grid,
  body.portal-home .specialist-row {
    height: calc(100% - 44px);
    min-height: 0;
    gap: clamp(14px, 1.25vw, 20px);
  }

  body.portal-home .webinar-card,
  body.portal-home .specialist-card {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding: clamp(12px, 1.1vw, 18px);
    border-radius: 16px;
  }

  body.portal-home .webinar-card {
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  }

  body.portal-home .webinar-card .avatar.small {
    width: clamp(34px, 2.6vw, 46px);
    height: clamp(34px, 2.6vw, 46px);
  }

  body.portal-home .webinar-card small,
  body.portal-home .specialist-card small {
    font-size: clamp(10px, 0.68vw, 12px);
  }

  body.portal-home .webinar-card strong,
  body.portal-home .specialist-card strong {
    font-size: clamp(12px, 0.84vw, 15px);
  }

  body.portal-home .webinar-card p {
    font-size: clamp(10px, 0.72vw, 13px);
  }

  body.portal-home .webinar-card time {
    align-self: end;
    color: #5f7194;
    font-size: clamp(10px, 0.68vw, 12px);
    font-weight: 700;
  }

  body.portal-home .specialists-panel .portrait {
    height: clamp(58px, 7.3vh, 88px);
    border-radius: 14px;
  }

  body.portal-home .specialists-panel .specialist-card {
    position: relative;
    gap: 5px;
  }

  body.portal-home .specialists-panel .specialist-card em {
    color: #5f7194;
    font-size: clamp(10px, 0.68vw, 12px);
    font-style: normal;
    font-weight: 700;
  }

  body.portal-home .specialists-panel .specialist-card b {
    position: absolute;
    right: 12px;
    bottom: 10px;
    display: inline-flex;
    gap: 8px;
    color: #0aa870;
  }

  body.portal-home .specialists-panel .specialist-card b span {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #eefbf7;
    font-size: 10px;
  }

  body.portal-home .robot-orb {
    right: clamp(28px, 2.6vw, 52px);
    bottom: clamp(28px, 3vh, 42px);
    width: clamp(66px, 4.6vw, 82px);
    height: clamp(66px, 4.6vw, 82px);
  }

  body.portal-home .robot-orb img {
    width: clamp(56px, 3.9vw, 70px);
    height: clamp(56px, 3.9vw, 70px);
  }
}

@media (min-width: 1101px) and (max-height: 1050px) {
  body.portal-home .home-shell {
    padding-bottom: 14px;
  }

  .home-sidebar {
    gap: 12px;
    padding-top: 20px;
    padding-bottom: 18px;
  }

  .home-brand {
    gap: 5px;
    padding-bottom: 6px;
  }

  .home-brand img {
    width: 96px;
    height: 112px;
  }

  .home-nav {
    gap: 7px;
  }

  .home-nav-item {
    min-height: 42px;
  }

  .home-help-card {
    gap: 6px;
    padding: 14px;
  }

  .home-help-card .mini-button {
    min-height: 38px;
  }

  body.portal-home .home-main {
    gap: 12px;
    padding-top: 22px;
  }

  body.portal-home .home-topbar h1 {
    font-size: clamp(38px, 3.5vw, 60px);
  }

  body.portal-home .home-topbar p {
    margin-top: 7px;
    font-size: clamp(17px, 1.2vw, 22px);
  }

  body.portal-home .hero-console {
    gap: 0;
  }

  body.portal-home .hero-search {
    min-height: 52px;
  }

  body.portal-home .family-map {
    height: clamp(430px, 52vh, 520px);
  }

  body.portal-home .content-lane {
    height: clamp(86px, 9.5vh, 106px);
    padding-top: 10px;
    padding-bottom: 10px;
  }

  body.portal-home .bottom-grid {
    height: clamp(150px, 17vh, 180px);
  }

  body.portal-home .content-panel {
    padding-top: 12px;
    padding-bottom: 12px;
  }
}

@media (min-width: 1101px) and (min-height: 851px) and (max-height: 1050px) {
  body.portal-home .bottom-grid {
    align-self: end;
    height: clamp(160px, 17vh, 185px);
  }
}

@media (min-width: 1101px) and (max-height: 850px) {
  .home-sidebar {
    gap: 9px;
    padding-top: 16px;
    padding-bottom: 14px;
  }

  .home-brand img {
    width: 82px;
    height: 96px;
  }

  .home-brand span {
    font-size: 10px;
  }

  .home-nav {
    gap: 5px;
  }

  .home-nav-item {
    min-height: 38px;
    font-size: 12px;
  }

  .home-help-card {
    padding: 12px;
  }

  .home-help-card small {
    font-size: 10px;
  }

  body.portal-home .home-main {
    gap: 10px;
    padding-top: 18px;
  }

  body.portal-home .hero-search {
    min-height: 50px;
  }

  body.portal-home .family-map {
    height: clamp(360px, 50vh, 400px);
  }

  body.portal-home .content-lane {
    height: clamp(68px, 9vh, 82px);
    padding-top: 8px;
    padding-bottom: 8px;
  }

  body.portal-home .content-lane .lane-head {
    margin-bottom: 5px;
  }

  body.portal-home .content-lane .lane-head h2 {
    font-size: 17px;
  }

  body.portal-home .material-carousel {
    height: calc(100% - 31px);
  }

  body.portal-home .bottom-grid {
    height: clamp(132px, 18vh, 148px);
  }

  body.portal-home .bottom-grid .lane-head h2 {
    font-size: 17px;
  }

  body.portal-home .webinar-card,
  body.portal-home .specialist-card {
    padding: 10px;
  }

  body.portal-home .specialists-panel .portrait {
    height: 48px;
  }
}

body.portal-home .map-island::before,
body.portal-home .map-island::after {
  display: none !important;
  opacity: 0 !important;
  animation: none !important;
}

body.portal-home .map-island:hover,
body.portal-home .map-island:focus-visible,
body.portal-home .map-island.is-click-pulsing {
  z-index: 9;
  transform: none !important;
}

body.portal-home .map-island .map-hotspot-art {
  display: block;
  opacity: 0;
  transform: translateZ(0) scale(1);
  transform-origin: center;
  filter: drop-shadow(0 12px 22px rgba(43, 69, 101, 0));
  transition:
    opacity 0.16s ease,
    transform 0.24s cubic-bezier(0.2, 0.8, 0.2, 1),
    filter 0.24s ease;
}

body.portal-home .map-island:hover .map-hotspot-art,
body.portal-home .map-island:focus-visible .map-hotspot-art,
body.portal-home .map-island.is-click-pulsing .map-hotspot-art {
  opacity: 1;
  transform: translateZ(0) scale(1.045);
  filter: drop-shadow(0 18px 28px rgba(43, 69, 101, 0.18));
  animation: map-hotspot-doctor-style 1.45s cubic-bezier(0.34, 1.56, 0.64, 1) infinite;
}

body.portal-home .map-island:active .map-hotspot-art,
body.portal-home .map-island.is-click-pulsing .map-hotspot-art {
  opacity: 1;
  animation: map-hotspot-press 0.52s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

body.portal-home .island-library {
  left: 16.575%;
  top: 8.872%;
  width: 25.615%;
  height: 26.616%;
}

body.portal-home .island-rehab {
  left: 0;
  top: 27.883%;
  width: 26.871%;
  height: 34.221%;
}

body.portal-home .island-law {
  left: 18.081%;
  top: 56.401%;
  width: 28.126%;
  height: 38.023%;
}

body.portal-home .island-doctors {
  left: 57.157%;
  top: 0;
  width: 22.099%;
  height: 38.657%;
}

body.portal-home .island-equipment {
  left: 74.586%;
  top: 24.715%;
  width: 24.862%;
  height: 38.023%;
}

body.portal-home .island-education {
  left: 58.513%;
  top: 54.499%;
  width: 23.104%;
  height: 36.755%;
}

@keyframes map-hotspot-doctor-style {
  0%,
  100% {
    transform: translateZ(0) scale(1.032);
  }

  42% {
    transform: translateZ(0) scale(1.058);
  }

  72% {
    transform: translateZ(0) scale(1.026);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-home .map-island:hover .map-hotspot-art,
  body.portal-home .map-island:focus-visible .map-hotspot-art,
  body.portal-home .map-island:active .map-hotspot-art,
  body.portal-home .map-island.is-click-pulsing .map-hotspot-art {
    animation: none;
  }
}

/* Actual final home polish layer: after all legacy home overrides. */
body.portal-home .quick-path-art {
  background-image: url("/assets/generated/quick-path-sprite-v1.png?v=1") !important;
  background-repeat: no-repeat !important;
  background-size: 500% 100% !important;
}

body.portal-home .quick-path-art::before,
body.portal-home .quick-path-art::after {
  display: none !important;
}

body.portal-home .quick-path-steps .quick-path-art { background-position: 0 50% !important; }
body.portal-home .quick-path-rehab .quick-path-art { background-position: 25% 50% !important; }
body.portal-home .quick-path-law .quick-path-art { background-position: 50% 50% !important; }
body.portal-home .quick-path-specialists .quick-path-art { background-position: 75% 50% !important; }
body.portal-home .quick-path-equipment .quick-path-art { background-position: 100% 50% !important; }

body.portal-home .quick-path-card strong,
body.portal-home .quick-path-card small,
body.portal-home .material-list-item strong,
body.portal-home .material-list-item small,
body.portal-home .event-card strong,
body.portal-home .event-card small,
body.portal-home .event-card em {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical;
}

body.portal-home .quick-path-card strong,
body.portal-home .material-list-item strong,
body.portal-home .event-card strong {
  -webkit-line-clamp: 2;
}

body.portal-home .quick-path-card small,
body.portal-home .material-list-item small,
body.portal-home .event-card small,
body.portal-home .event-card em {
  -webkit-line-clamp: 1;
}

body.portal-home .material-list,
body.portal-home .event-list {
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
}

body.portal-home .material-list-item,
body.portal-home .event-card,
body.portal-home .specialist-card {
  overflow: hidden !important;
}

@media (min-width: 1101px) {
  body.portal-home {
    height: auto !important;
    min-height: 100vh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.portal-home .home-shell {
    --home-gap: clamp(14px, 1.35vw, 22px) !important;
    grid-template-columns: clamp(250px, 14.2vw, 270px) minmax(0, 1fr) !important;
    gap: clamp(20px, 1.5vw, 28px) !important;
    align-items: start !important;
    height: auto !important;
    min-height: 100vh !important;
    padding: clamp(12px, 1.2vh, 18px) clamp(18px, 1.6vw, 30px) clamp(28px, 3vh, 44px) clamp(12px, 1vw, 18px) !important;
  }

  body.portal-home .home-shell.is-ai-rail-closed {
    grid-template-columns: clamp(250px, 14.2vw, 270px) minmax(0, 1fr) !important;
  }

  body.portal-home .home-sidebar {
    position: sticky !important;
    top: clamp(10px, 1.2vh, 18px) !important;
    height: calc(100vh - clamp(20px, 2.4vh, 36px)) !important;
    gap: clamp(12px, 1.55vh, 20px) !important;
    padding: clamp(18px, 2vh, 26px) clamp(18px, 1.35vw, 24px) !important;
    border: 1px solid rgba(203, 218, 232, 0.76) !important;
    border-radius: 18px !important;
  }

  body.portal-home .home-brand img {
    width: clamp(106px, 7vw, 132px) !important;
    height: clamp(116px, 7.8vw, 150px) !important;
  }

  body.portal-home .home-nav {
    gap: clamp(5px, 0.75vh, 9px) !important;
  }

  body.portal-home .home-nav-item {
    min-height: clamp(36px, 4.1vh, 50px) !important;
    border-radius: 13px !important;
    font-size: clamp(12px, 0.76vw, 14px) !important;
  }

  body.portal-home .home-main {
    display: grid !important;
    grid-template-rows: auto auto auto auto auto !important;
    gap: var(--home-gap) !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: clamp(8px, 1vh, 14px) 0 0 !important;
  }

  body.portal-home .home-topbar {
    margin: 0 !important;
    padding-right: clamp(230px, 16vw, 320px) !important;
  }

  body.portal-home .home-topbar h1 {
    flex-wrap: nowrap !important;
    max-width: none !important;
    font-size: clamp(46px, 3.8vw, 72px) !important;
    font-weight: 900 !important;
    line-height: 0.92 !important;
  }

  body.portal-home .home-topbar h1 span {
    background: none !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    color: #0b9a43 !important;
  }

  body.portal-home .home-topbar h1 span:nth-child(2) { color: #2260d9 !important; }
  body.portal-home .home-topbar h1 span:nth-child(3) { color: #10214a !important; }

  body.portal-home .home-topbar p {
    margin-top: clamp(6px, 0.65vh, 9px) !important;
    color: #263b66 !important;
    font-size: clamp(17px, 1.16vw, 23px) !important;
  }

  body.portal-home .hero-console,
  body.portal-home .family-map {
    height: auto !important;
    min-height: 0 !important;
  }

  body.portal-home .family-map {
    height: clamp(430px, 39vw, 640px) !important;
    min-height: 430px !important;
  }

  body.portal-home .content-lane.quick-paths {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: var(--home-gap) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  body.portal-home .quick-path-card {
    grid-template-columns: clamp(82px, 5.8vw, 108px) minmax(0, 1fr) clamp(28px, 1.8vw, 34px) !important;
    gap: clamp(9px, 0.8vw, 14px) !important;
    height: auto !important;
    min-height: clamp(104px, 7.6vw, 132px) !important;
    padding: clamp(12px, 1vw, 18px) !important;
    border-radius: 14px !important;
  }

  body.portal-home .quick-path-art {
    width: 100% !important;
    height: clamp(74px, 5.8vw, 104px) !important;
    border-radius: 12px !important;
  }

  body.portal-home .quick-path-card strong {
    font-size: clamp(15px, 0.96vw, 18px) !important;
    line-height: 1.1 !important;
  }

  body.portal-home .quick-path-card small {
    margin-top: 4px !important;
    font-size: clamp(12px, 0.72vw, 14px) !important;
    line-height: 1.12 !important;
  }

  body.portal-home .quick-path-card b {
    width: clamp(24px, 1.8vw, 30px) !important;
    height: clamp(24px, 1.8vw, 30px) !important;
  }

  body.portal-home .bottom-grid.home-dashboard {
    display: grid !important;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.96fr) minmax(0, 1.36fr) !important;
    gap: var(--home-gap) !important;
    height: auto !important;
    min-height: clamp(310px, 22vw, 380px) !important;
    margin: 0 !important;
  }

  body.portal-home .content-panel {
    height: auto !important;
    min-height: clamp(310px, 22vw, 380px) !important;
    overflow: visible !important;
    padding: clamp(14px, 1.25vh, 20px) clamp(14px, 1vw, 20px) !important;
    border-radius: 16px !important;
  }

  body.portal-home .lane-head {
    min-height: clamp(28px, 3vh, 38px) !important;
    margin-bottom: clamp(9px, 0.9vh, 13px) !important;
  }

  body.portal-home .lane-head h2 {
    font-size: clamp(18px, 1.18vw, 23px) !important;
    line-height: 1.08 !important;
  }

  body.portal-home .material-list,
  body.portal-home .event-list,
  body.portal-home .specialists-panel .specialist-row {
    height: auto !important;
    min-height: 0 !important;
    gap: clamp(10px, 0.9vw, 14px) !important;
  }

  body.portal-home .material-list-item {
    grid-template-columns: clamp(72px, 5vw, 92px) minmax(0, 1fr) auto !important;
    gap: clamp(10px, 0.75vw, 14px) !important;
    min-height: 0 !important;
    padding: clamp(6px, 0.65vh, 9px) !important;
    border-radius: 13px !important;
  }

  body.portal-home .material-list-item img {
    border-radius: 10px !important;
    min-height: 60px !important;
  }

  body.portal-home .material-list-item strong,
  body.portal-home .event-card strong {
    font-size: clamp(14px, 0.88vw, 17px) !important;
    line-height: 1.12 !important;
  }

  body.portal-home .material-list-item small,
  body.portal-home .event-card small,
  body.portal-home .event-card em {
    font-size: clamp(12px, 0.72vw, 14px) !important;
    line-height: 1.1 !important;
  }

  body.portal-home .event-card {
    grid-template-columns: clamp(58px, 4vw, 70px) minmax(0, 1fr) auto !important;
    gap: clamp(9px, 0.7vw, 12px) !important;
    padding: clamp(6px, 0.65vh, 9px) !important;
    border-radius: 13px !important;
  }

  body.portal-home .event-card time {
    width: clamp(52px, 3.6vw, 64px) !important;
    height: clamp(52px, 3.6vw, 64px) !important;
  }

  body.portal-home .event-card b {
    min-width: 38px !important;
    min-height: 20px !important;
    padding: 0 7px !important;
    font-size: clamp(8px, 0.55vw, 10px) !important;
  }

  body.portal-home .specialists-panel .specialist-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.portal-home .specialists-panel .specialist-card {
    height: auto !important;
    min-height: clamp(230px, 16vw, 280px) !important;
    padding: clamp(10px, 0.8vw, 15px) !important;
  }

  body.portal-home .specialists-panel .portrait {
    height: clamp(96px, 7.8vw, 132px) !important;
  }

  body.portal-home .trust-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(10px, 1vw, 18px) !important;
    height: auto !important;
    min-height: clamp(64px, 4.8vw, 82px) !important;
    padding: clamp(12px, 1vw, 16px) clamp(18px, 2vw, 34px) !important;
    border-radius: 18px !important;
  }
}

@media (min-width: 1101px) and (max-height: 850px) {
  body.portal-home .home-shell {
    --home-gap: clamp(12px, 1.1vw, 18px) !important;
    padding-top: 8px !important;
    padding-bottom: 28px !important;
  }

  body.portal-home .home-sidebar {
    gap: 7px !important;
    padding: 11px 14px !important;
  }

  body.portal-home .home-brand img {
    width: 78px !important;
    height: 88px !important;
  }

  body.portal-home .home-nav {
    gap: 3px !important;
  }

  body.portal-home .home-nav-item {
    min-height: 29px !important;
    font-size: 11px !important;
  }

  body.portal-home .home-help-card {
    gap: 4px !important;
    padding: 9px !important;
  }

  body.portal-home .home-help-card small {
    display: none !important;
  }

  body.portal-home .home-help-card .mini-button {
    min-height: 30px !important;
  }

  body.portal-home .home-main {
    padding-top: 8px !important;
  }

  body.portal-home .home-topbar h1 {
    font-size: clamp(37px, 3.35vw, 46px) !important;
  }

  body.portal-home .home-topbar p {
    margin-top: 4px !important;
    font-size: clamp(14px, 1vw, 16px) !important;
  }

  body.portal-home .quick-path-card {
    grid-template-columns: 82px minmax(0, 1fr) 28px !important;
    gap: 12px !important;
    min-height: 112px !important;
    padding: 12px !important;
  }

  body.portal-home .quick-path-art {
    height: 82px !important;
  }

  body.portal-home .quick-path-card strong {
    font-size: 15px !important;
  }

  body.portal-home .quick-path-card small {
    font-size: 12px !important;
  }

  body.portal-home .quick-path-card b {
    width: 28px !important;
    height: 28px !important;
  }

  body.portal-home .content-panel {
    padding: 16px !important;
    min-height: 330px !important;
  }

  body.portal-home .lane-head {
    min-height: 36px !important;
    margin-bottom: 12px !important;
  }

  body.portal-home .lane-head h2 {
    font-size: 22px !important;
  }

  body.portal-home .material-list,
  body.portal-home .event-list,
  body.portal-home .specialists-panel .specialist-row {
    height: auto !important;
    gap: 12px !important;
  }

  body.portal-home .material-list-item {
    grid-template-columns: 82px minmax(0, 1fr) auto !important;
    min-height: 84px !important;
    padding: 8px !important;
  }

  body.portal-home .event-card {
    grid-template-columns: 58px minmax(0, 1fr) auto !important;
    min-height: 84px !important;
    padding: 8px !important;
  }

  body.portal-home .event-card time {
    width: 54px !important;
    height: 54px !important;
  }

  body.portal-home .event-card time strong {
    font-size: 24px !important;
  }

  body.portal-home .material-list-item strong,
  body.portal-home .event-card strong,
  body.portal-home .specialists-panel .specialist-card strong {
    font-size: 14px !important;
  }

  body.portal-home .material-list-item small,
  body.portal-home .event-card small,
  body.portal-home .event-card em,
  body.portal-home .specialists-panel .specialist-card small,
  body.portal-home .specialists-panel .specialist-card em {
    font-size: 12px !important;
  }

  body.portal-home .specialists-panel .portrait {
    height: 110px !important;
  }

  body.portal-home .specialists-panel .specialist-card b {
    display: inline-flex !important;
  }

  body.portal-home .trust-strip small {
    display: block !important;
  }
}

/* Final sidebar parity: home and every inner page must keep one visual rhythm. */
.portal-shared-sidebar .home-help-card {
  display: none !important;
}

@media (min-width: 1101px) {
  body.portal-with-sidebar {
    --portal-sidebar-width: clamp(250px, 14.2vw, 270px) !important;
    padding-left: calc(var(--portal-sidebar-width) + clamp(32px, 2.7vw, 46px)) !important;
  }

  body.portal-with-sidebar #site-header {
    display: none !important;
  }

  body.portal-with-sidebar .page-shell {
    width: min(1180px, calc(100% - clamp(28px, 2vw, 44px))) !important;
    padding-top: clamp(28px, 3vh, 42px) !important;
  }

  body.portal-home .home-sidebar,
  body.portal-with-sidebar .portal-shared-sidebar {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    width: clamp(250px, 14.2vw, 270px) !important;
    height: calc(100vh - clamp(20px, 2.4vh, 36px)) !important;
    gap: clamp(12px, 1.55vh, 20px) !important;
    padding: clamp(18px, 2vh, 26px) clamp(18px, 1.35vw, 24px) !important;
    border: 1px solid rgba(203, 218, 232, 0.76) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    box-shadow: 0 18px 55px rgba(43, 69, 101, 0.09) !important;
    backdrop-filter: blur(20px) !important;
  }

  body.portal-home .home-sidebar {
    position: sticky !important;
    top: clamp(10px, 1.2vh, 18px) !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar {
    position: fixed !important;
    top: clamp(10px, 1.2vh, 18px) !important;
    left: clamp(12px, 1vw, 18px) !important;
    z-index: 70 !important;
  }

  body.portal-home .home-brand,
  body.portal-with-sidebar .home-brand {
    display: grid !important;
    justify-items: center !important;
    gap: 8px !important;
    padding: 0 0 clamp(4px, 0.7vh, 10px) !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  body.portal-home .home-brand img,
  body.portal-with-sidebar .home-brand img {
    display: block !important;
    width: clamp(106px, 7vw, 132px) !important;
    height: clamp(116px, 7.8vw, 150px) !important;
    object-fit: contain !important;
  }

  body.portal-home .home-brand span,
  body.portal-with-sidebar .home-brand span {
    display: block !important;
    color: #0b8e36 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(10px, 0.66vw, 12px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
  }

  body.portal-home .home-nav,
  body.portal-with-sidebar .home-nav {
    display: grid !important;
    gap: clamp(5px, 0.75vh, 9px) !important;
    width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.portal-home .home-nav-item,
  body.portal-with-sidebar .home-nav-item {
    min-height: clamp(36px, 4.1vh, 50px) !important;
    width: 100% !important;
    justify-self: stretch !important;
    justify-content: flex-start !important;
    gap: clamp(12px, 1vw, 17px) !important;
    padding: 0 clamp(13px, 0.95vw, 18px) !important;
    border-radius: 13px !important;
    color: #4b5f85 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: clamp(12px, 0.76vw, 14px) !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
  }

  body.portal-home .home-nav-item span,
  body.portal-with-sidebar .home-nav-item span {
    flex: 0 0 auto !important;
    display: grid !important;
    place-items: center !important;
    width: clamp(22px, 1.45vw, 27px) !important;
    height: clamp(22px, 1.45vw, 27px) !important;
    margin: 0 !important;
    color: #315c93 !important;
    font-size: clamp(16px, 1.05vw, 20px) !important;
  }

  body.portal-home .home-nav-item::before,
  body.portal-with-sidebar .home-nav-item::before {
    border-radius: 13px !important;
  }

  body.portal-home .home-nav-item.is-active,
  body.portal-with-sidebar .home-nav-item.is-active {
    color: #008d53 !important;
  }

  body.portal-with-sidebar .home-nav-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  body.portal-home .home-help-card {
    margin-top: auto !important;
  }
}

@media (min-width: 1101px) and (max-height: 850px) {
  body.portal-home .home-sidebar,
  body.portal-with-sidebar .portal-shared-sidebar {
    gap: 7px !important;
    padding: 11px 14px !important;
  }

  body.portal-home .home-brand img,
  body.portal-with-sidebar .home-brand img {
    width: 78px !important;
    height: 88px !important;
  }

  body.portal-home .home-brand span,
  body.portal-with-sidebar .home-brand span {
    font-size: 9px !important;
  }

  body.portal-home .home-nav,
  body.portal-with-sidebar .home-nav {
    gap: 3px !important;
  }

  body.portal-home .home-nav-item,
  body.portal-with-sidebar .home-nav-item {
    min-height: 29px !important;
    font-size: 11px !important;
  }
}

/* Home AI rail: opening the bot reserves a real right column instead of covering the route map. */
@media (min-width: 1101px) {
  body.portal-home .home-shell:not(.is-ai-rail-closed) {
    grid-template-columns:
      clamp(250px, 14.2vw, 270px)
      minmax(0, 1fr)
      clamp(320px, 24vw, 390px) !important;
    align-items: start !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .home-main {
    min-width: 0 !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .hero-console,
  body.portal-home .home-shell:not(.is-ai-rail-closed) .family-map,
  body.portal-home .home-shell:not(.is-ai-rail-closed) .quick-path-grid,
  body.portal-home .home-shell:not(.is-ai-rail-closed) .home-dashboard,
  body.portal-home .home-shell:not(.is-ai-rail-closed) .trust-strip {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-home-panel {
    position: sticky !important;
    top: clamp(10px, 1.2vh, 18px) !important;
    right: auto !important;
    z-index: 20 !important;
    grid-column: 3 !important;
    display: grid !important;
    align-self: start !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    padding-top: 0 !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-card {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(12px, 1.3vh, 16px) !important;
    max-height: calc(100vh - clamp(20px, 2.4vh, 36px)) !important;
    padding: clamp(18px, 1.55vw, 24px) !important;
    border: 1px solid rgba(203, 218, 232, 0.82) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 24px 70px rgba(31, 65, 110, 0.16) !important;
    overflow: hidden !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-card.is-hidden {
    display: none !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-head {
    flex: 0 0 auto !important;
    margin-bottom: 0 !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-head h2 {
    font-size: clamp(20px, 1.55vw, 28px) !important;
    line-height: 1.08 !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-chat-intro {
    display: grid !important;
    gap: 6px !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-chat-intro p {
    margin: 0 !important;
    color: #10214a !important;
    font-size: clamp(17px, 1.1vw, 21px) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-chat-intro small {
    color: #61708a !important;
    font-size: clamp(13px, 0.86vw, 15px) !important;
    line-height: 1.35 !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-messages {
    flex: 1 1 auto !important;
    min-height: clamp(220px, 34vh, 390px) !important;
    max-height: none !important;
    padding: clamp(12px, 1vw, 16px) !important;
    border: 1px solid rgba(203, 218, 232, 0.86) !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(248, 252, 255, 0.95), rgba(255, 255, 255, 0.96)) !important;
    overflow: auto !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-messages .message {
    border-radius: 16px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-chat-form {
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-chat-form textarea {
    width: 100% !important;
    min-height: 96px !important;
    resize: vertical !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(203, 218, 232, 0.9) !important;
    border-radius: 18px !important;
    color: #10214a !important;
    background: #ffffff !important;
    font: inherit !important;
    line-height: 1.35 !important;
    outline: none !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-chat-form textarea:focus {
    border-color: rgba(18, 176, 117, 0.72) !important;
    box-shadow: 0 0 0 4px rgba(18, 176, 117, 0.12) !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-chat-form button {
    min-height: 52px !important;
    border: 0 !important;
    border-radius: 18px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #17be77, #16a9d8) !important;
    box-shadow: 0 16px 34px rgba(18, 148, 140, 0.22) !important;
    font-weight: 900 !important;
    cursor: pointer !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-chat-form button:disabled {
    cursor: progress !important;
    opacity: 0.72 !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-foot {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-clear-button,
  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-page-link {
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid rgba(203, 218, 232, 0.86) !important;
    border-radius: 16px !important;
    background: #f5f9ff !important;
    color: #1c5fcf !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-clear-button {
    cursor: pointer !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-page-link {
    display: flex !important;
    justify-content: center !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .quick-actions {
    display: none !important;
  }

  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-card.is-collapsed .ai-chat-intro,
  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-card.is-collapsed .ai-panel-messages,
  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-card.is-collapsed .ai-panel-chat-form,
  body.portal-home .home-shell:not(.is-ai-rail-closed) .ai-panel-card.is-collapsed .ai-panel-foot {
    display: none !important;
  }
}

/* Map hotspot contour masks: keep the current animation, but clip it to each island. */
body.portal-home .map-island {
  -webkit-clip-path: var(--island-clip, inset(0));
  clip-path: var(--island-clip, inset(0));
}

body.portal-home .map-island .map-hotspot-art {
  -webkit-clip-path: var(--island-clip, inset(0));
  clip-path: var(--island-clip, inset(0));
  transform-origin: var(--island-origin, center) !important;
}

body.portal-home .island-library {
  --island-origin: 53% 62%;
  --island-clip: polygon(
    0% 62%,
    2% 52%,
    7% 43%,
    15% 35%,
    25% 29%,
    34% 21%,
    42% 8%,
    55% 3%,
    70% 7%,
    83% 18%,
    93% 32%,
    100% 50%,
    99% 65%,
    94% 78%,
    84% 90%,
    68% 97%,
    49% 100%,
    30% 99%,
    15% 93%,
    5% 82%,
    0% 70%
  );
}

body.portal-home .island-rehab {
  --island-origin: 52% 62%;
  --island-clip: polygon(
    0% 61%,
    4% 43%,
    13% 29%,
    24% 20%,
    34% 7%,
    51% 0%,
    68% 7%,
    79% 20%,
    91% 37%,
    100% 62%,
    97% 82%,
    84% 96%,
    59% 100%,
    17% 97%,
    4% 86%,
    0% 72%
  );
}

body.portal-home .island-law {
  --island-origin: 51% 62%;
  --island-clip: polygon(
    0% 62%,
    5% 41%,
    18% 25%,
    32% 18%,
    42% 3%,
    61% 3%,
    71% 17%,
    84% 27%,
    95% 43%,
    100% 65%,
    92% 85%,
    75% 96%,
    49% 100%,
    17% 95%,
    4% 83%,
    0% 70%
  );
}

body.portal-home .island-doctors {
  --island-origin: 51% 62%;
  --island-clip: polygon(
    0% 59%,
    5% 40%,
    15% 28%,
    27% 22%,
    36% 5%,
    65% 4%,
    76% 18%,
    91% 32%,
    100% 58%,
    96% 82%,
    80% 97%,
    52% 100%,
    17% 95%,
    3% 82%,
    0% 70%
  );
}

body.portal-home .island-equipment {
  --island-origin: 52% 62%;
  --island-clip: polygon(
    0% 59%,
    2% 49%,
    8% 40%,
    17% 35%,
    28% 31%,
    36% 9%,
    48% 3%,
    67% 4%,
    78% 19%,
    87% 34%,
    97% 52%,
    100% 69%,
    96% 85%,
    84% 96%,
    66% 100%,
    41% 99%,
    20% 96%,
    7% 87%,
    1% 75%
  );
}

body.portal-home .island-education {
  --island-origin: 52% 61%;
  --island-clip: polygon(
    0% 66%,
    3% 55%,
    8% 45%,
    16% 35%,
    26% 29%,
    36% 22%,
    43% 4%,
    52% 0%,
    61% 4%,
    70% 20%,
    82% 28%,
    93% 42%,
    100% 61%,
    97% 77%,
    87% 91%,
    74% 99%,
    52% 100%,
    31% 97%,
    14% 88%,
    4% 77%,
    0% 68%
  );
}

.search-icon-img {
  display: block;
  width: 22px;
  height: 22px;
  object-fit: contain;
  pointer-events: none;
}

.round-tool .search-icon-img {
  width: clamp(22px, 1.5vw, 26px);
  height: clamp(22px, 1.5vw, 26px);
}

.icon-button .search-icon-img {
  width: 21px;
  height: 21px;
}

/* Quick path cards: keep Russian copy readable across desktop widths. */
body.portal-home .content-lane.quick-paths {
  align-items: stretch !important;
}

body.portal-home .quick-path-card {
  position: relative !important;
  grid-template-columns: clamp(76px, 5.2vw, 104px) minmax(0, 1fr) clamp(30px, 2vw, 36px) !important;
  gap: clamp(10px, 0.9vw, 16px) !important;
  min-width: 0 !important;
  min-height: clamp(116px, 8vw, 144px) !important;
  padding: clamp(12px, 1vw, 18px) !important;
  border: 1px solid rgba(191, 211, 230, 0.9) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 255, 0.94)) !important;
  box-shadow:
    0 16px 38px rgba(43, 69, 101, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
  overflow: hidden !important;
}

body.portal-home .quick-path-card:hover,
body.portal-home .quick-path-card:focus-visible {
  border-color: rgba(118, 169, 210, 0.95) !important;
  box-shadow:
    0 20px 44px rgba(43, 69, 101, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.92) !important;
  transform: translateY(-2px) !important;
}

body.portal-home .quick-path-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body.portal-home .quick-path-card strong,
body.portal-home .quick-path-card small {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
  text-overflow: clip !important;
}

body.portal-home .quick-path-card strong {
  color: #10214a !important;
  font-size: clamp(16px, 1vw, 20px) !important;
  line-height: 1.08 !important;
  -webkit-line-clamp: 2 !important;
}

body.portal-home .quick-path-card small {
  margin-top: 5px !important;
  color: #53678d !important;
  font-size: clamp(12px, 0.78vw, 14px) !important;
  line-height: 1.18 !important;
  -webkit-line-clamp: 3 !important;
}

body.portal-home .quick-path-art {
  width: 100% !important;
  height: clamp(76px, 5.6vw, 106px) !important;
  border-radius: 14px !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.68),
    0 12px 24px rgba(51, 88, 125, 0.1) !important;
}

body.portal-home .quick-path-card b {
  width: clamp(30px, 2vw, 36px) !important;
  height: clamp(30px, 2vw, 36px) !important;
  align-self: center !important;
  font-size: clamp(17px, 1.2vw, 21px) !important;
  line-height: 1 !important;
  box-shadow: 0 12px 22px rgba(22, 77, 126, 0.16) !important;
}

@media (min-width: 1101px) {
  body.portal-home .content-lane.quick-paths {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
  }
}

@media (min-width: 1500px) {
  body.portal-home .home-shell.is-ai-rail-closed .content-lane.quick-paths {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  body.portal-home .home-shell.is-ai-rail-closed .quick-path-card {
    grid-template-columns: clamp(64px, 4.2vw, 88px) minmax(0, 1fr) clamp(28px, 1.55vw, 32px) !important;
    gap: clamp(8px, 0.62vw, 12px) !important;
    min-height: clamp(108px, 6.5vw, 132px) !important;
    padding: clamp(10px, 0.72vw, 14px) !important;
  }

  body.portal-home .home-shell.is-ai-rail-closed .quick-path-art {
    height: clamp(64px, 4.2vw, 88px) !important;
  }

  body.portal-home .home-shell.is-ai-rail-closed .quick-path-card strong {
    font-size: clamp(15px, 0.86vw, 17px) !important;
    line-height: 1.08 !important;
  }

  body.portal-home .home-shell.is-ai-rail-closed .quick-path-card small {
    font-size: clamp(12px, 0.66vw, 13px) !important;
    line-height: 1.16 !important;
    -webkit-line-clamp: 3 !important;
  }
}

@media (min-width: 1101px) and (max-height: 850px) {
  body.portal-home .quick-path-card {
    grid-template-columns: 74px minmax(0, 1fr) 30px !important;
    min-height: 104px !important;
    padding: 11px !important;
  }

  body.portal-home .quick-path-art {
    height: 74px !important;
  }

  body.portal-home .quick-path-card strong {
    font-size: 15px !important;
  }

  body.portal-home .quick-path-card small {
    font-size: 12px !important;
    line-height: 1.15 !important;
  }
}

@media (max-width: 720px) {
  body.portal-home .quick-path-card {
    grid-template-columns: clamp(68px, 23vw, 92px) minmax(0, 1fr) 32px !important;
    min-height: 104px !important;
    padding: 12px !important;
  }

  body.portal-home .quick-path-art {
    height: clamp(68px, 23vw, 92px) !important;
  }
}

/* Quick path cutouts: no image tiles, no arrow column. */
body.portal-home .quick-path-card {
  grid-template-columns: clamp(82px, 5.4vw, 108px) minmax(0, 1fr) !important;
}

body.portal-home .quick-path-card b {
  display: none !important;
}

body.portal-home .quick-path-art {
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: 50% 50% !important;
  background-size: contain !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.portal-home .quick-path-steps .quick-path-art {
  background-image: url("/assets/generated/quick-path-steps-cutout.png?v=1") !important;
  background-position: 50% 50% !important;
  background-size: contain !important;
}

body.portal-home .quick-path-rehab .quick-path-art {
  background-image: url("/assets/generated/quick-path-rehab-cutout.png?v=1") !important;
  background-position: 50% 50% !important;
  background-size: contain !important;
}

body.portal-home .quick-path-law .quick-path-art {
  background-image: url("/assets/generated/quick-path-law-cutout.png?v=1") !important;
  background-position: 50% 50% !important;
  background-size: contain !important;
}

body.portal-home .quick-path-specialists .quick-path-art {
  background-image: url("/assets/generated/quick-path-specialists-cutout.png?v=1") !important;
  background-position: 50% 50% !important;
  background-size: contain !important;
}

body.portal-home .quick-path-equipment .quick-path-art {
  background-image: url("/assets/generated/quick-path-equipment-cutout.png?v=1") !important;
  background-position: 50% 50% !important;
  background-size: contain !important;
}

@media (min-width: 1500px) {
  body.portal-home .home-shell.is-ai-rail-closed .quick-path-card {
    grid-template-columns: clamp(70px, 4.4vw, 94px) minmax(0, 1fr) !important;
  }
}

@media (min-width: 1101px) and (max-height: 850px) {
  body.portal-home .quick-path-card {
    grid-template-columns: 78px minmax(0, 1fr) !important;
  }
}

@media (max-width: 720px) {
  body.portal-home .quick-path-card {
    grid-template-columns: clamp(74px, 24vw, 96px) minmax(0, 1fr) !important;
  }
}

/* AI assistant launcher: larger bot plus a soft promo peek from screen edges. */
.assistant-ai-badge {
  display: none !important;
}

.assistant-launcher,
body.portal-home .robot-orb {
  overflow: visible !important;
  isolation: isolate;
}

.assistant-launcher {
  width: 72px;
  height: 72px;
  padding: 6px;
}

.assistant-launcher::before {
  inset: -8px;
}

.assistant-launcher img {
  width: 60px;
  height: 60px;
}

body.portal-home .robot-orb {
  right: 22px !important;
  bottom: 22px !important;
  width: 76px !important;
  height: 76px !important;
  padding: 6px !important;
  border: 1px solid rgba(203, 218, 232, 0.86) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 18px 45px rgba(10, 36, 62, 0.2) !important;
  backdrop-filter: blur(16px) !important;
}

body.portal-home .robot-orb::before {
  inset: -8px !important;
  border-width: 1px !important;
  border-color: rgba(0, 177, 194, 0.28) !important;
}

body.portal-home .robot-orb::after {
  display: none !important;
}

body.portal-home .robot-orb img {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

.assistant-launcher .assistant-teaser-bubble,
.robot-orb .assistant-teaser-bubble {
  position: absolute;
  right: calc(100% + 14px);
  bottom: 50%;
  z-index: 5;
  width: max-content;
  max-width: min(292px, calc(100vw - 112px));
  padding: 12px 14px;
  border: 1px solid rgba(184, 217, 230, 0.92);
  border-radius: 16px 16px 6px 16px;
  color: #10214a;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 16px 40px rgba(10, 36, 62, 0.18);
  font-size: 14px;
  font-weight: 850;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: left;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(8px, 50%, 0) scale(0.96);
  transition: opacity 0.22s ease, transform 0.22s ease;
}

.assistant-teaser-bubble::after {
  content: "";
  position: absolute;
  right: -6px;
  bottom: 18px;
  width: 12px;
  height: 12px;
  border-top: 1px solid rgba(184, 217, 230, 0.92);
  border-right: 1px solid rgba(184, 217, 230, 0.92);
  background: inherit;
  transform: rotate(45deg);
}

.assistant-launcher.is-teasing .assistant-teaser-bubble,
body.portal-home .robot-orb.is-teasing .assistant-teaser-bubble {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 50%, 0) scale(1);
}

.assistant-peek-left .assistant-teaser-bubble {
  right: auto;
  left: calc(100% + 14px);
  border-radius: 16px 16px 16px 6px;
  transform: translate3d(-8px, 50%, 0) scale(0.96);
}

.assistant-peek-left .assistant-teaser-bubble::after {
  right: auto;
  left: -6px;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid rgba(184, 217, 230, 0.92);
  border-left: 1px solid rgba(184, 217, 230, 0.92);
}

.assistant-peek-left.is-teasing .assistant-teaser-bubble,
body.portal-home .robot-orb.assistant-peek-left.is-teasing .assistant-teaser-bubble {
  transform: translate3d(0, 50%, 0) scale(1);
}

.assistant-peek-bottom .assistant-teaser-bubble {
  right: 50%;
  bottom: calc(100% + 14px);
  border-radius: 16px 16px 16px 6px;
  text-align: center;
  transform: translate3d(50%, 8px, 0) scale(0.96);
}

.assistant-peek-bottom .assistant-teaser-bubble::after {
  right: auto;
  bottom: -6px;
  left: 50%;
  border-top: 0;
  border-left: 0;
  border-right: 1px solid rgba(184, 217, 230, 0.92);
  border-bottom: 1px solid rgba(184, 217, 230, 0.92);
  transform: translateX(-50%) rotate(45deg);
}

.assistant-peek-bottom.is-teasing .assistant-teaser-bubble,
body.portal-home .robot-orb.assistant-peek-bottom.is-teasing .assistant-teaser-bubble {
  transform: translate3d(50%, 0, 0) scale(1);
}

.assistant-launcher.assistant-peek-right {
  right: -18px;
  bottom: clamp(112px, 34vh, 330px);
  left: auto;
}

.assistant-launcher.assistant-peek-left {
  right: auto;
  bottom: clamp(124px, 42vh, 390px);
  left: -18px;
}

.assistant-launcher.assistant-peek-bottom {
  right: clamp(92px, 18vw, 340px);
  bottom: -18px;
  left: auto;
}

body.portal-home .robot-orb.assistant-peek-right {
  right: -18px !important;
  bottom: clamp(112px, 34vh, 330px) !important;
  left: auto !important;
}

body.portal-home .robot-orb.assistant-peek-left {
  right: auto !important;
  bottom: clamp(124px, 42vh, 390px) !important;
  left: -18px !important;
}

body.portal-home .robot-orb.assistant-peek-bottom {
  right: clamp(92px, 18vw, 340px) !important;
  bottom: -18px !important;
  left: auto !important;
}

.assistant-launcher.assistant-peek-right,
body.portal-home .robot-orb.assistant-peek-right {
  --assistant-peek-x: 44px;
  --assistant-peek-y: 0;
}

.assistant-launcher.assistant-peek-left,
body.portal-home .robot-orb.assistant-peek-left {
  --assistant-peek-x: -44px;
  --assistant-peek-y: 0;
}

.assistant-launcher.assistant-peek-bottom,
body.portal-home .robot-orb.assistant-peek-bottom {
  --assistant-peek-x: 0;
  --assistant-peek-y: 44px;
}

.assistant-launcher.is-teasing,
body.portal-home .robot-orb.is-teasing {
  animation: assistant-peek-pop 0.62s cubic-bezier(0.2, 0.9, 0.2, 1.15) both;
}

@keyframes assistant-peek-pop {
  0% {
    opacity: 0.78;
    transform: translate3d(var(--assistant-peek-x, 0), var(--assistant-peek-y, 0), 0) scale(0.88);
  }

  58% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1.04);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@media (max-width: 720px) {
  .assistant-launcher {
    right: 14px;
    bottom: 14px;
    width: 66px;
    height: 66px;
    padding: 5px;
  }

  .assistant-launcher img {
    width: 56px;
    height: 56px;
  }

  body.portal-home .robot-orb {
    right: 14px !important;
    bottom: 14px !important;
    width: 66px !important;
    height: 66px !important;
    padding: 5px !important;
  }

  body.portal-home .robot-orb img {
    width: 56px !important;
    height: 56px !important;
  }

  .assistant-launcher .assistant-teaser-bubble,
  .robot-orb .assistant-teaser-bubble {
    max-width: min(248px, calc(100vw - 92px));
    padding: 10px 12px;
    font-size: 13px;
  }

  .assistant-launcher.assistant-peek-right,
  body.portal-home .robot-orb.assistant-peek-right {
    right: -16px !important;
    bottom: clamp(96px, 30vh, 240px) !important;
    left: auto !important;
  }

  .assistant-launcher.assistant-peek-left,
  body.portal-home .robot-orb.assistant-peek-left {
    right: auto !important;
    bottom: clamp(100px, 40vh, 280px) !important;
    left: -16px !important;
  }

  .assistant-launcher.assistant-peek-bottom,
  body.portal-home .robot-orb.assistant-peek-bottom {
    right: clamp(72px, 18vw, 180px) !important;
    bottom: -16px !important;
    left: auto !important;
  }
}

.imported-content {
  display: grid;
  gap: 26px;
}

.imported-head {
  margin-bottom: 0;
}

.imported-head .lead {
  max-width: 880px;
}

.imported-source-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 16px;
  color: #55708c;
  font-size: 14px;
  font-weight: 700;
}

.imported-source-row a,
.document-links a {
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid rgba(36, 95, 159, 0.18);
  border-radius: 8px;
  color: var(--blue);
  background: #f5f9ff;
}

.content-stat-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
}

.content-stat-strip span {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-height: 58px;
  padding: 14px 16px;
  border: 1px solid rgba(221, 230, 232, 0.88);
  border-radius: 8px;
  color: #52677f;
  background: #fff;
  box-shadow: var(--shadow);
}

.content-stat-strip strong {
  color: #10214a;
  font-size: 26px;
  line-height: 1;
}

.imported-block {
  display: grid;
  gap: 16px;
}

.imported-block h2,
.details-card h2 {
  margin: 0;
  color: #10214a;
  font-size: clamp(22px, 2vw, 32px);
  letter-spacing: 0;
}

.imported-category-grid,
.imported-card-grid,
.doctor-grid,
.education-group-grid,
.directory-grid,
.details-grid,
.payment-layout {
  display: grid;
  gap: 16px;
}

.imported-category-grid {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.imported-category {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 76px;
  padding: 16px;
  border: 1px solid rgba(221, 230, 232, 0.92);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
}

.imported-category span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  color: #0a6b43;
  background: #eaf7ef;
  font-weight: 800;
}

.imported-category:nth-child(3n + 2) span {
  color: #174d91;
  background: #e9f1fb;
}

.imported-category:nth-child(3n) span {
  color: #8b521e;
  background: #fff2df;
}

.imported-card-grid,
.doctor-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.imported-card,
.doctor-card,
.education-group-card,
.directory-card,
.details-card {
  border: 1px solid rgba(221, 230, 232, 0.92);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
}

.imported-card,
.doctor-card,
.education-group-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.imported-card:hover,
.doctor-card:hover,
.education-group-card:hover,
.imported-category:hover {
  transform: translateY(-2px);
  border-color: rgba(36, 95, 159, 0.26);
  box-shadow: 0 18px 42px rgba(20, 35, 45, 0.12);
}

.imported-card-media,
.doctor-card-photo,
.directory-logo {
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 8px;
  background: linear-gradient(135deg, #f7fbff, #eef7f1);
}

.imported-card-media {
  aspect-ratio: 16 / 10;
  margin: -4px -4px 2px;
}

.imported-card-media img,
.doctor-card-photo img,
.directory-logo img {
  width: 100%;
  height: 100%;
}

.imported-card-media img,
.doctor-card-photo img {
  object-fit: cover;
}

.directory-logo img {
  object-fit: contain;
  padding: 6px;
}

.imported-card-fallback {
  color: #245f9f;
  font-size: 34px;
  font-weight: 850;
}

.imported-card-meta,
.doctor-card span,
.education-group-card span,
.directory-rating {
  color: #60748c;
  font-size: 13px;
  font-weight: 800;
}

.imported-card h3,
.doctor-card h3,
.education-group-card h3,
.directory-card h3 {
  margin: 0;
  color: #10214a;
  font-size: 20px;
  line-height: 1.18;
  letter-spacing: 0;
}

.imported-card p,
.doctor-card p,
.education-group-card li,
.details-card p,
.institution-address,
.details-list {
  margin: 0;
  color: #52677f;
  font-weight: 650;
  line-height: 1.42;
}

.doctor-card-photo {
  aspect-ratio: 4 / 3;
}

.directory-grid {
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
}

.directory-card {
  display: grid;
  gap: 13px;
  padding: 16px;
}

.directory-card-top {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.directory-logo {
  width: 72px;
  height: 72px;
}

.institution-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.institution-meta a {
  padding: 6px 9px;
  border-radius: 8px;
  color: #174d91;
  background: #f1f6fd;
  font-size: 13px;
  font-weight: 800;
}

.education-group-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.education-group-card ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 18px;
}

.details-grid,
.payment-layout {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.details-card {
  display: grid;
  gap: 14px;
  padding: 20px;
}

.details-list {
  display: grid;
  gap: 12px;
}

.details-list div {
  display: grid;
  gap: 4px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(221, 230, 232, 0.76);
}

.details-list div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.details-list dt {
  color: #60748c;
  font-size: 13px;
  font-weight: 800;
}

.details-list dd {
  margin: 0;
  color: #10214a;
}

.payment-steps {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 22px;
  color: #52677f;
  font-weight: 650;
}

.document-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 720px) {
  .content-stat-strip,
  .imported-category-grid,
  .imported-card-grid,
  .doctor-grid,
  .education-group-grid,
  .directory-grid,
  .details-grid,
  .payment-layout {
    grid-template-columns: 1fr;
  }

  .directory-card-top {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .directory-logo {
    width: 58px;
    height: 58px;
  }
}

body.portal-home {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.portal-home .home-shell {
  height: auto !important;
  min-height: 100vh !important;
}

body.portal-home .home-main {
  overflow: visible !important;
}

body.portal-home .support-island {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  min-height: clamp(300px, 22vw, 380px);
  overflow: hidden;
  border: 1px solid rgba(184, 217, 230, 0.72);
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 18%, rgba(255, 255, 255, 0.96) 0 22px, transparent 24px),
    radial-gradient(circle at 96% 88%, rgba(255, 255, 255, 0.9) 0 24px, transparent 26px),
    radial-gradient(circle at 68% 88%, rgba(255, 255, 255, 0.6), transparent 78px),
    linear-gradient(180deg, #f8fcff 0%, #eaf6ff 42%, #b7def3 100%);
  box-shadow: 0 22px 70px rgba(31, 101, 200, 0.12);
}

body.portal-home .support-island::before,
body.portal-home .support-island::after {
  content: "";
  position: absolute;
  inset: auto -5% -14% -5%;
  z-index: 0;
  height: 48%;
  pointer-events: none;
}

body.portal-home .support-island::before {
  background:
    radial-gradient(70% 52% at 20% 22%, rgba(255, 255, 255, 0.36), transparent 70%),
    radial-gradient(56% 46% at 74% 18%, rgba(255, 255, 255, 0.28), transparent 70%),
    repeating-radial-gradient(ellipse at 48% 8%, rgba(255, 255, 255, 0.42) 0 2px, transparent 3px 18px);
  opacity: 0.7;
  transform: rotate(-2deg);
}

body.portal-home .support-island::after {
  height: 36%;
  background: linear-gradient(180deg, rgba(91, 181, 229, 0), rgba(85, 177, 225, 0.28));
}

body.portal-home .support-island-badge {
  position: absolute;
  top: 18px;
  left: 22px;
  z-index: 4;
  padding: 9px 18px;
  border-radius: 999px;
  color: #10214a;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 34px rgba(43, 69, 101, 0.08);
  font-size: 15px;
  font-weight: 850;
  line-height: 1;
  letter-spacing: 0;
}

body.portal-home .support-island-land {
  position: absolute;
  inset: 30% 4.5% 13% 4.5%;
  z-index: 1;
  border-radius: 42% 54% 46% 48% / 36% 38% 58% 54%;
  background:
    radial-gradient(circle at 38% 10%, rgba(255, 255, 255, 0.96), transparent 22%),
    radial-gradient(circle at 78% 24%, rgba(240, 247, 253, 0.82), transparent 26%),
    linear-gradient(180deg, #ffffff 0%, #f8fbfd 70%, #edf5fa 100%);
  box-shadow:
    inset 0 -12px 26px rgba(175, 202, 223, 0.3),
    inset 0 12px 28px rgba(255, 255, 255, 0.96),
    0 28px 42px rgba(68, 147, 199, 0.2);
  transform: rotate(1deg);
}

body.portal-home .support-island-land::before,
body.portal-home .support-island-land::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

body.portal-home .support-island-land::before {
  inset: 9% 3% 15% 4%;
  border: 1px solid rgba(218, 232, 241, 0.76);
  box-shadow: inset 0 10px 24px rgba(255, 255, 255, 0.82);
}

body.portal-home .support-island-land::after {
  right: 1.5%;
  bottom: 6%;
  width: clamp(170px, 14vw, 250px);
  height: clamp(118px, 9vw, 162px);
  background: linear-gradient(180deg, #ffffff, #eef6fb);
  box-shadow: inset 0 -10px 18px rgba(177, 207, 226, 0.24);
}

body.portal-home .support-island-content {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(4, minmax(112px, 1fr)) minmax(178px, 0.8fr);
  gap: clamp(12px, 1.6vw, 32px);
  align-items: end;
  padding: clamp(82px, 6vw, 112px) clamp(28px, 3.6vw, 64px) clamp(42px, 3vw, 62px);
}

body.portal-home .support-island-point {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 9px;
  min-width: 0;
  color: #10214a;
  text-align: center;
  text-decoration: none;
  transform: translateY(var(--support-point-y, 0));
  transition: transform 0.2s ease, filter 0.2s ease;
}

body.portal-home .support-island-point:nth-child(2) {
  --support-point-y: -12px;
}

body.portal-home .support-island-point:nth-child(3) {
  --support-point-y: 4px;
}

body.portal-home .support-island-point:nth-child(4) {
  --support-point-y: -8px;
}

body.portal-home .support-island-point:hover,
body.portal-home .support-island-point:focus-visible {
  transform: translateY(calc(var(--support-point-y, 0) - 4px));
  filter: drop-shadow(0 12px 18px rgba(63, 111, 171, 0.12));
}

body.portal-home .support-island-icon {
  display: grid;
  place-items: center;
  width: clamp(58px, 4.8vw, 78px);
  height: clamp(58px, 4.8vw, 78px);
  border: 1px solid rgba(218, 232, 241, 0.96);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  box-shadow:
    inset 0 -8px 14px rgba(224, 236, 244, 0.58),
    0 14px 28px rgba(69, 102, 139, 0.14);
}

body.portal-home .support-island-icon svg {
  width: 48%;
  height: 48%;
  fill: none;
  stroke: #3c7ed0;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.4;
}

body.portal-home .support-island-point strong {
  display: block;
  max-width: 180px;
  color: #10214a;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: 0;
  text-wrap: balance;
}

body.portal-home .support-island-point small {
  display: block;
  max-width: 180px;
  color: #50658c;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.28;
  letter-spacing: 0;
  text-wrap: balance;
}

body.portal-home .support-island-bot {
  position: relative;
  align-self: stretch;
  min-width: 0;
  min-height: 198px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

body.portal-home .support-bot-pool {
  position: absolute;
  right: 2px;
  bottom: -8px;
  display: grid;
  place-items: center;
  width: clamp(154px, 13vw, 218px);
  height: clamp(112px, 9.2vw, 152px);
  border: 12px solid rgba(255, 255, 255, 0.92);
  border-radius: 50%;
  background:
    radial-gradient(circle at 58% 42%, rgba(255, 255, 255, 0.94) 0 9%, transparent 10%),
    radial-gradient(circle at 43% 45%, #dbf6ff 0 20%, #82cdef 46%, #52addd 100%);
  box-shadow:
    inset 0 10px 20px rgba(255, 255, 255, 0.58),
    0 18px 34px rgba(62, 141, 194, 0.22);
}

body.portal-home .support-bot-pool img {
  position: absolute;
  bottom: 24px;
  left: 50%;
  width: clamp(118px, 9vw, 158px);
  height: clamp(118px, 9vw, 158px);
  border-radius: 50%;
  object-fit: cover;
  transform: translateX(-50%);
  filter: drop-shadow(0 16px 20px rgba(18, 72, 112, 0.16));
  transition: transform 0.2s ease;
}

body.portal-home .support-island-bot:hover .support-bot-pool img,
body.portal-home .support-island-bot:focus-visible .support-bot-pool img {
  transform: translateX(-50%) translateY(-5px) scale(1.03);
}

body.portal-home .support-island-speech {
  position: absolute;
  right: -4px;
  top: 0;
  z-index: 2;
  width: min(258px, 100%);
  padding: 14px 16px;
  border: 1px solid rgba(219, 232, 241, 0.94);
  border-radius: 20px 20px 20px 10px;
  color: #31466f;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 34px rgba(43, 69, 101, 0.1);
  font-size: 15px;
  font-weight: 850;
  line-height: 1.34;
  letter-spacing: 0;
  text-align: left;
}

body.portal-home .support-island-speech::after {
  content: "";
  position: absolute;
  right: 72px;
  bottom: -10px;
  width: 20px;
  height: 20px;
  border-right: 1px solid rgba(219, 232, 241, 0.94);
  border-bottom: 1px solid rgba(219, 232, 241, 0.94);
  background: inherit;
  transform: rotate(45deg);
}

body.portal-home .support-island-tree,
body.portal-home .support-wave-rock {
  position: absolute;
  z-index: 2;
  pointer-events: none;
}

body.portal-home .support-island-tree {
  width: 42px;
  height: 76px;
  background:
    linear-gradient(90deg, transparent 42%, #9d7a55 43% 58%, transparent 59%) 50% 84% / 100% 24% no-repeat,
    radial-gradient(circle at 50% 22%, #79bd54 0 22%, transparent 23%),
    radial-gradient(circle at 38% 42%, #70b84d 0 27%, transparent 28%),
    radial-gradient(circle at 62% 42%, #87ca62 0 27%, transparent 28%),
    radial-gradient(circle at 50% 58%, #6aad47 0 29%, transparent 30%);
  filter: drop-shadow(0 10px 10px rgba(83, 118, 74, 0.18));
}

body.portal-home .support-island-tree-left {
  left: 4.5%;
  bottom: 31%;
}

body.portal-home .support-island-tree-right {
  right: 16.5%;
  top: 24%;
  transform: scale(0.82);
}

body.portal-home .support-wave-rock {
  width: 58px;
  height: 38px;
  border-radius: 50% 50% 44% 46%;
  background:
    radial-gradient(circle at 62% 64%, rgba(209, 223, 235, 0.58), transparent 31%),
    linear-gradient(145deg, #ffffff, #dceaf4);
  box-shadow: 0 14px 18px rgba(81, 148, 190, 0.16);
}

body.portal-home .support-wave-rock-left {
  left: 4%;
  top: 27%;
  transform: rotate(-6deg) scale(0.82);
}

body.portal-home .support-wave-rock-bottom {
  left: 55%;
  bottom: 7%;
  transform: rotate(5deg) scale(0.62);
}

@media (min-width: 1101px) {
  body.portal-home {
    height: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.portal-home .home-shell {
    height: auto !important;
    min-height: 100vh !important;
  }

  body.portal-home .home-main {
    grid-template-rows: auto var(--home-map-h) var(--home-quick-h) var(--home-dashboard-h) auto !important;
    overflow: visible !important;
  }

  body.portal-home .support-island {
    margin-bottom: clamp(16px, 2vh, 28px);
  }
}

@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) {
  body.portal-home .support-island {
    min-height: 0;
    border-radius: 22px;
  }

  body.portal-home .support-island-land {
    inset: 20px;
    border-radius: 26px;
    transform: none;
  }

  body.portal-home .support-island-content {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 82px 22px 28px;
  }

  body.portal-home .support-island-point {
    grid-template-columns: 58px minmax(0, 1fr);
    justify-items: start;
    text-align: left;
  }

  body.portal-home .support-island-icon {
    grid-row: span 2;
    width: 54px;
    height: 54px;
  }

  body.portal-home .support-island-point strong,
  body.portal-home .support-island-point small {
    max-width: none;
  }

  body.portal-home .support-island-bot {
    min-height: 230px;
  }

  body.portal-home .support-island-speech {
    right: auto;
    left: 0;
    width: min(280px, 100%);
  }

  body.portal-home .support-bot-pool {
    right: clamp(8px, 9vw, 80px);
  }

  body.portal-home .support-island-tree-right {
    right: 8%;
  }
}

@media (max-width: 560px) {
  body.portal-home .support-island-badge {
    left: 16px;
    top: 16px;
    font-size: 13px;
  }

  body.portal-home .support-island-content {
    padding: 76px 16px 22px;
  }

  body.portal-home .support-island-point strong {
    font-size: 18px;
  }

  body.portal-home .support-island-point small,
  body.portal-home .support-island-speech {
    font-size: 13px;
  }

  body.portal-home .support-island-tree-left,
  body.portal-home .support-island-tree-right,
  body.portal-home .support-wave-rock-left {
    display: none;
  }
}

body.portal-home .support-island-generated {
  display: block;
  min-height: 0;
  aspect-ratio: 1894 / 620;
  overflow: hidden;
  border-radius: 26px;
  background: #eaf7ff;
  box-shadow: 0 24px 76px rgba(39, 121, 185, 0.13);
}

body.portal-home .support-island-generated::before,
body.portal-home .support-island-generated::after {
  display: none;
}

body.portal-home .support-island-art {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  user-select: none;
  pointer-events: none;
}

body.portal-home .support-island-generated .support-island-badge {
  top: 4.4%;
  left: 1.7%;
  z-index: 3;
  padding: clamp(8px, 0.75vw, 14px) clamp(16px, 1.45vw, 28px);
  font-size: clamp(14px, 1.1vw, 22px);
  background: rgba(255, 255, 255, 0.93);
  box-shadow: 0 14px 32px rgba(48, 84, 122, 0.09);
}

body.portal-home .support-island-generated .support-island-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  padding: 0;
}

body.portal-home .support-island-generated .support-island-point {
  position: absolute;
  display: block;
  width: 17.4%;
  color: #10214a;
  text-align: center;
  text-decoration: none;
  transform: none;
  filter: none;
  transition: transform 0.2s ease, text-shadow 0.2s ease;
}

body.portal-home .support-island-generated .support-island-point:hover,
body.portal-home .support-island-generated .support-island-point:focus-visible {
  transform: translateY(-4px);
  filter: none;
  text-shadow: 0 10px 22px rgba(62, 111, 171, 0.16);
}

body.portal-home .support-island-generated .support-island-point:focus-visible,
body.portal-home .support-island-generated .support-island-bot:focus-visible {
  outline: 3px solid rgba(49, 126, 208, 0.46);
  outline-offset: 6px;
  border-radius: 18px;
}

body.portal-home .support-island-generated .support-point-experts {
  left: 12.2%;
  top: 57.4%;
}

body.portal-home .support-island-generated .support-point-trust {
  left: 29.7%;
  top: 58.5%;
}

body.portal-home .support-island-generated .support-point-tools {
  left: 46.4%;
  top: 58.5%;
}

body.portal-home .support-island-generated .support-point-community {
  left: 61.2%;
  top: 58.5%;
}

body.portal-home .support-island-generated .support-island-point strong {
  display: block;
  max-width: none;
  color: #10214a;
  font-size: clamp(18px, 1.5vw, 30px);
  font-weight: 950;
  line-height: 1.05;
  letter-spacing: 0;
  text-wrap: balance;
}

body.portal-home .support-island-generated .support-island-point small {
  display: block;
  max-width: min(100%, 250px);
  margin: clamp(7px, 0.6vw, 11px) auto 0;
  color: #50658c;
  font-size: clamp(12px, 0.95vw, 18px);
  font-weight: 800;
  line-height: 1.24;
  letter-spacing: 0;
  text-wrap: balance;
}

body.portal-home .support-island-generated .support-island-bot {
  position: absolute;
  right: 1.5%;
  top: 3%;
  z-index: 4;
  width: 21.2%;
  height: 71%;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

body.portal-home .support-island-generated .support-island-speech {
  position: absolute;
  top: 3.5%;
  right: 4%;
  width: 78%;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #31466f;
  background: transparent;
  box-shadow: none;
  font-size: clamp(12px, 0.92vw, 19px);
  font-weight: 880;
  line-height: 1.34;
  letter-spacing: 0;
  text-align: left;
  transition: transform 0.2s ease;
}

body.portal-home .support-island-generated .support-island-speech::after {
  display: none;
}

body.portal-home .support-island-generated .support-island-bot:hover .support-island-speech,
body.portal-home .support-island-generated .support-island-bot:focus-visible .support-island-speech {
  transform: translateY(-3px);
}

@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) {
  body.portal-home .support-island-generated {
    min-height: 620px;
    aspect-ratio: auto;
  }

  body.portal-home .support-island-generated .support-island-art {
    object-position: 60% 50%;
  }

  body.portal-home .support-island-generated .support-island-content {
    inset: 78px 16px 18px;
    display: grid;
    grid-template-columns: 1fr;
    align-content: end;
    gap: 10px;
  }

  body.portal-home .support-island-generated .support-island-point {
    position: relative;
    inset: auto;
    width: auto;
    padding: 12px 14px;
    border: 1px solid rgba(207, 229, 241, 0.78);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 12px 28px rgba(43, 93, 132, 0.1);
    text-align: left;
    backdrop-filter: blur(10px);
  }

  body.portal-home .support-island-generated .support-island-point strong,
  body.portal-home .support-island-generated .support-island-point small {
    max-width: none;
    margin-left: 0;
  }

  body.portal-home .support-island-generated .support-island-bot {
    right: 10px;
    top: 10px;
    width: min(320px, calc(100% - 20px));
    height: 210px;
  }

  body.portal-home .support-island-generated .support-island-speech {
    top: 10px;
    right: 14px;
    width: min(240px, 72%);
    padding: 12px 14px;
    border: 1px solid rgba(219, 232, 241, 0.94);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 14px 30px rgba(43, 69, 101, 0.1);
  }
}

@media (max-width: 560px) {
  body.portal-home .support-island-generated {
    min-height: 700px;
    border-radius: 22px;
  }

  body.portal-home .support-island-generated .support-island-badge {
    top: 14px;
    left: 14px;
  }

  body.portal-home .support-island-generated .support-island-content {
    inset: 104px 12px 14px;
  }

  body.portal-home .support-island-generated .support-island-point strong {
    font-size: 18px;
  }

  body.portal-home .support-island-generated .support-island-point small,
  body.portal-home .support-island-generated .support-island-speech {
    font-size: 13px;
  }
}

body.portal-home .bottom-grid.home-dashboard {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr) !important;
}

body.portal-home .home-dashboard .materials-panel .material-list-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  background: #eef7fb;
}

body.portal-home .home-dashboard .materials-panel .material-list-item strong {
  -webkit-line-clamp: 2;
}

body.portal-home .home-dashboard .materials-panel .material-list-item small {
  color: #607196;
  font-weight: 800;
}

body.portal-home .specialists-panel img.portrait {
  display: block;
  width: 100%;
  height: clamp(72px, 8.4vh, 112px);
  border: 1px solid rgba(213, 229, 240, 0.92);
  border-radius: 14px;
  background: #f4fbff;
  object-fit: cover;
  object-position: 50% 40%;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.58);
}

body.portal-home .specialists-panel .specialist-card:nth-child(2) img.portrait {
  object-position: 42% 42%;
}

body.portal-home .specialists-panel .specialist-card:nth-child(3) img.portrait {
  object-position: 50% 34%;
}

body.portal-home .specialists-panel .specialist-card small,
body.portal-home .specialists-panel .specialist-card strong,
body.portal-home .specialists-panel .specialist-card em {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}

body.portal-home .specialists-panel .specialist-card small,
body.portal-home .specialists-panel .specialist-card em {
  -webkit-line-clamp: 1;
}

body.portal-home .specialists-panel .specialist-card strong {
  -webkit-line-clamp: 2;
}

body.portal-home .specialists-panel .specialist-card b {
  position: absolute;
  right: clamp(10px, 0.8vw, 14px);
  bottom: clamp(9px, 0.8vh, 13px);
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  color: #07865d;
  background: #eefbf7;
  font-size: clamp(10px, 0.64vw, 12px);
  font-weight: 850;
  line-height: 1;
}

@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) {
  body.portal-home .bottom-grid.home-dashboard {
    grid-template-columns: 1fr !important;
  }

  body.portal-home .specialists-panel img.portrait {
    height: 120px;
  }
}

/* Approved home variant 1: clean vertical dashboard, no forced one-screen packing. */
body.portal-home {
  height: auto !important;
  min-height: 100vh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.portal-home .home-shell,
body.portal-home .home-shell.is-ai-rail-closed {
  display: grid !important;
  grid-template-columns: clamp(232px, 14vw, 272px) minmax(0, 1fr) !important;
  align-items: start !important;
  gap: clamp(22px, 2vw, 36px) !important;
  width: min(100%, 1920px) !important;
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
  padding: clamp(16px, 1.4vw, 28px) clamp(18px, 1.8vw, 34px) 56px 0 !important;
}

body.portal-home .home-sidebar {
  top: clamp(12px, 1.1vw, 20px) !important;
  height: calc(100vh - clamp(24px, 2.2vw, 40px)) !important;
  max-height: 980px !important;
  overflow: auto !important;
  border-radius: 0 24px 24px 0 !important;
}

body.portal-home .home-main {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(18px, 1.8vw, 28px) !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
}

body.portal-home .home-topbar {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: clamp(18px, 2vw, 34px) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.portal-home .home-topbar h1 {
  max-width: 780px !important;
  font-size: clamp(38px, 3.2vw, 62px) !important;
  line-height: 0.98 !important;
}

body.portal-home .home-topbar p {
  max-width: 620px !important;
  margin-top: 10px !important;
  font-size: clamp(17px, 1.25vw, 24px) !important;
}

body.portal-home .user-tools {
  position: static !important;
  z-index: 2 !important;
  flex: 0 0 auto !important;
}

body.portal-home .hero-console {
  padding: 0 !important;
}

body.portal-home .family-map {
  width: 100% !important;
  height: clamp(420px, 35vw, 650px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  box-shadow: 0 24px 70px rgba(42, 108, 156, 0.14) !important;
}

body.portal-home .family-map-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.portal-home .content-lane.quick-paths {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(14px, 1.25vw, 22px) !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}

body.portal-home .quick-path-card {
  min-height: 128px !important;
  height: auto !important;
  overflow: hidden !important;
}

body.portal-home .bottom-grid.home-dashboard,
body.portal-home .home-dashboard {
  display: grid !important;
  grid-template-columns: minmax(320px, 0.92fr) minmax(520px, 1.28fr) !important;
  gap: clamp(18px, 1.6vw, 28px) !important;
  height: auto !important;
  min-height: 0 !important;
  align-items: stretch !important;
  margin: 0 !important;
  overflow: visible !important;
}

body.portal-home .content-panel {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: clamp(20px, 1.6vw, 30px) !important;
  border: 1px solid rgba(199, 219, 235, 0.86) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 22px 58px rgba(43, 69, 101, 0.1) !important;
}

body.portal-home .lane-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  min-height: 0 !important;
  margin-bottom: clamp(18px, 1.4vw, 24px) !important;
}

body.portal-home .lane-head h2 {
  font-size: clamp(24px, 1.7vw, 34px) !important;
  line-height: 1.05 !important;
}

body.portal-home .lane-head a {
  flex: 0 0 auto !important;
  min-height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #1f64bd !important;
  font-size: clamp(14px, 0.95vw, 18px) !important;
  white-space: nowrap !important;
}

body.portal-home .material-list {
  display: grid !important;
  gap: 14px !important;
  height: auto !important;
  grid-template-rows: none !important;
}

body.portal-home .material-list-item {
  grid-template-columns: clamp(94px, 7.6vw, 132px) minmax(0, 1fr) 28px !important;
  gap: clamp(14px, 1vw, 20px) !important;
  min-height: 108px !important;
  padding: 12px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

body.portal-home .material-list-item img {
  height: 84px !important;
  border-radius: 14px !important;
}

body.portal-home .material-list-item strong {
  color: #10214a !important;
  font-size: clamp(16px, 1.05vw, 21px) !important;
  line-height: 1.12 !important;
  -webkit-line-clamp: 2 !important;
}

body.portal-home .material-list-item small {
  margin-top: 6px !important;
  font-size: clamp(13px, 0.85vw, 16px) !important;
}

body.portal-home .specialists-panel .specialist-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(16px, 1.3vw, 24px) !important;
  height: auto !important;
  min-height: 0 !important;
}

body.portal-home .specialists-panel .specialist-card {
  position: relative !important;
  display: grid !important;
  grid-template-rows: auto auto auto auto 1fr !important;
  gap: 8px !important;
  min-height: clamp(310px, 22vw, 390px) !important;
  height: auto !important;
  padding: clamp(14px, 1.05vw, 20px) !important;
  padding-bottom: 54px !important;
  overflow: hidden !important;
  border-radius: 20px !important;
}

body.portal-home .specialists-panel img.portrait {
  height: clamp(138px, 11vw, 190px) !important;
  border-radius: 16px !important;
}

body.portal-home .specialists-panel .specialist-card small {
  margin-top: 6px !important;
  color: #647ca5 !important;
  font-size: clamp(13px, 0.86vw, 16px) !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

body.portal-home .specialists-panel .specialist-card strong {
  color: #10214a !important;
  font-size: clamp(18px, 1.15vw, 24px) !important;
  line-height: 1.08 !important;
}

body.portal-home .specialists-panel .specialist-card em {
  color: #607196 !important;
  font-size: clamp(13px, 0.82vw, 16px) !important;
  line-height: 1.2 !important;
}

body.portal-home .support-island-generated {
  margin-top: clamp(6px, 0.8vw, 14px) !important;
  aspect-ratio: 1894 / 620 !important;
  min-height: 360px !important;
  max-height: 620px !important;
  border-radius: 26px !important;
}

body.portal-home .support-island-generated .support-island-point strong {
  font-size: clamp(20px, 1.55vw, 32px) !important;
}

body.portal-home .support-island-generated .support-island-point small {
  font-size: clamp(13px, 0.9vw, 18px) !important;
}

@media (max-width: 1280px) {
  body.portal-home .home-shell,
  body.portal-home .home-shell.is-ai-rail-closed {
    grid-template-columns: 1fr !important;
    padding: 12px clamp(12px, 2vw, 24px) 40px !important;
  }

  body.portal-home .home-sidebar {
    position: static !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    height: auto !important;
    max-height: none !important;
    padding: 10px 12px !important;
    border-left: 1px solid rgba(192, 211, 226, 0.72) !important;
    border-radius: 22px !important;
  }

  body.portal-home .home-brand {
    padding: 0 !important;
  }

  body.portal-home .home-brand img {
    width: 62px !important;
    height: 70px !important;
  }

  body.portal-home .home-nav {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
  }

  body.portal-home .home-nav-item {
    flex: 0 0 auto !important;
    width: auto !important;
    white-space: nowrap !important;
  }

  body.portal-home .home-help-card {
    display: none !important;
  }
}

@media (max-width: 1100px) {
  body.portal-home .home-topbar {
    flex-direction: column !important;
  }

  body.portal-home .user-tools {
    align-self: stretch !important;
    justify-content: flex-start !important;
  }

  body.portal-home .family-map {
    height: clamp(320px, 52vw, 560px) !important;
  }

  body.portal-home .content-lane.quick-paths {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.portal-home .bottom-grid.home-dashboard,
  body.portal-home .home-dashboard {
    grid-template-columns: 1fr !important;
  }

  body.portal-home .support-island-generated {
    min-height: 620px !important;
    aspect-ratio: auto !important;
  }
}

@media (max-width: 700px) {
  body.portal-home .content-lane.quick-paths,
  body.portal-home .specialists-panel .specialist-row {
    grid-template-columns: 1fr !important;
  }

  body.portal-home .material-list-item {
    grid-template-columns: 92px minmax(0, 1fr) 22px !important;
  }

  body.portal-home .specialists-panel .specialist-card {
    min-height: 0 !important;
  }

  body.portal-home .specialists-panel img.portrait {
    height: 190px !important;
  }
}

/* Portal OS home concept. This replaces the old route/map homepage visually. */
body.portal-home-os {
  height: auto !important;
  min-height: 100vh !important;
  overflow: hidden !important;
  color: #10214a;
  background:
    radial-gradient(circle at 25% 16%, rgba(120, 215, 255, 0.32), transparent 32%),
    radial-gradient(circle at 78% 20%, rgba(171, 233, 216, 0.24), transparent 30%),
    linear-gradient(135deg, #f7fbff 0%, #edf7ff 48%, #f8fcff 100%) !important;
}

body.portal-home-os .portal-os-shell,
body.portal-home-os .portal-os-shell.is-ai-rail-closed {
  display: grid !important;
  grid-template-columns: clamp(220px, 13.2vw, 260px) minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100vh !important;
  min-height: 760px !important;
  margin: 0 !important;
  padding: clamp(10px, 0.8vw, 16px) !important;
  overflow: hidden !important;
}

body.portal-home-os .portal-os-sidebar {
  position: relative !important;
  inset: auto !important;
  z-index: 5 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  gap: clamp(14px, 1.2vh, 18px) !important;
  overflow: hidden !important;
  padding: clamp(16px, 1.25vw, 24px) clamp(12px, 1vw, 18px) !important;
  border: 1px solid rgba(207, 224, 239, 0.85) !important;
  border-right: 0 !important;
  border-radius: 18px 0 0 18px !important;
  background: rgba(255, 255, 255, 0.86) !important;
  box-shadow: 20px 0 48px rgba(43, 80, 124, 0.08) !important;
  backdrop-filter: blur(22px) !important;
}

body.portal-home-os .portal-os-brand {
  justify-content: flex-start !important;
  gap: 12px !important;
  padding: 0 4px clamp(10px, 1.1vh, 16px) !important;
  text-decoration: none !important;
}

body.portal-home-os .portal-os-brand img {
  flex: 0 0 auto !important;
  width: 38px !important;
  height: 38px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 18px rgba(63, 126, 208, 0.18)) !important;
}

body.portal-home-os .portal-os-brand span {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
  color: #10214a !important;
}

body.portal-home-os .portal-os-brand strong {
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
}

body.portal-home-os .portal-os-brand small {
  color: #5a6d91 !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  line-height: 1.05 !important;
}

body.portal-home-os .portal-os-nav {
  display: grid !important;
  gap: clamp(4px, 0.65vh, 8px) !important;
  overflow: visible !important;
  padding: 0 !important;
}

body.portal-home-os .portal-os-nav .home-nav-item {
  gap: 10px !important;
  min-height: clamp(34px, 4.4vh, 43px) !important;
  width: 100% !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
  color: #50658c !important;
  font-size: clamp(11px, 0.72vw, 13px) !important;
  font-weight: 780 !important;
  line-height: 1.08 !important;
  text-decoration: none !important;
}

body.portal-home-os .portal-os-nav .home-nav-item::before {
  border-radius: 12px !important;
  background: linear-gradient(135deg, rgba(69, 132, 224, 0.15), rgba(238, 247, 255, 0.96)) !important;
}

body.portal-home-os .portal-os-nav .home-nav-item::after {
  display: none !important;
}

body.portal-home-os .portal-os-nav .home-nav-item span {
  width: 22px !important;
  height: 22px !important;
  color: #397bd0 !important;
  font-size: 15px !important;
}

body.portal-home-os .portal-os-nav .home-nav-item:hover,
body.portal-home-os .portal-os-nav .home-nav-item:focus-visible,
body.portal-home-os .portal-os-nav .home-nav-item.is-active {
  color: #1f62bd !important;
}

body.portal-home-os .portal-os-ai-chip {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: auto !important;
  padding: 10px !important;
  border: 1px solid rgba(206, 225, 240, 0.9) !important;
  border-radius: 14px !important;
  color: #10214a !important;
  background: rgba(255, 255, 255, 0.72) !important;
  text-decoration: none !important;
  box-shadow: 0 16px 30px rgba(43, 80, 124, 0.08) !important;
}

body.portal-home-os .portal-os-ai-chip img {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

body.portal-home-os .portal-os-ai-chip strong,
body.portal-home-os .portal-os-ai-chip small {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.portal-home-os .portal-os-ai-chip strong {
  font-size: 13px !important;
  font-weight: 900 !important;
}

body.portal-home-os .portal-os-ai-chip small {
  margin-top: 3px !important;
  color: #4f6b91 !important;
  font-size: 11px !important;
  font-weight: 750 !important;
}

body.portal-home-os .portal-os-ai-chip i {
  display: inline-block !important;
  width: 7px !important;
  height: 7px !important;
  margin-right: 5px !important;
  border-radius: 50% !important;
  background: #17c77c !important;
  box-shadow: 0 0 0 4px rgba(23, 199, 124, 0.13) !important;
  vertical-align: middle !important;
}

body.portal-home-os .portal-os-main {
  display: block !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

body.portal-home-os .portal-os-stage {
  --spot-x: 50%;
  --spot-y: 50%;
  position: relative !important;
  isolation: isolate !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(196, 218, 236, 0.95) !important;
  border-radius: 0 18px 18px 0 !important;
  background:
    radial-gradient(circle at var(--spot-x) var(--spot-y), rgba(255, 255, 255, 0.88), transparent 22%),
    radial-gradient(circle at 50% 48%, rgba(91, 199, 240, 0.26), transparent 30%),
    radial-gradient(circle at 26% 22%, rgba(128, 236, 207, 0.22), transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(114, 157, 241, 0.19), transparent 26%),
    linear-gradient(180deg, rgba(250, 253, 255, 0.98), rgba(227, 244, 255, 0.94) 64%, rgba(217, 239, 253, 0.98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.92),
    0 26px 90px rgba(39, 95, 153, 0.14) !important;
}

body.portal-home-os .portal-os-stage::before {
  content: "" !important;
  position: absolute !important;
  inset: 7% 10% 9% !important;
  z-index: -1 !important;
  border-radius: 50% !important;
  background:
    repeating-radial-gradient(circle, rgba(255, 255, 255, 0.34) 0 1px, transparent 2px 34px),
    radial-gradient(circle, rgba(77, 184, 235, 0.14), transparent 62%) !important;
  filter: blur(1px) !important;
  opacity: 0.72 !important;
}

body.portal-home-os .portal-os-stage::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 11% 4% 11% !important;
  z-index: -1 !important;
  height: 28% !important;
  border-radius: 50% !important;
  background: radial-gradient(ellipse, rgba(106, 198, 234, 0.2), transparent 68%) !important;
  filter: blur(8px) !important;
}

body.portal-home-os .portal-os-aurora,
body.portal-home-os .portal-os-ring,
body.portal-home-os .portal-os-particle {
  position: absolute !important;
  pointer-events: none !important;
}

body.portal-home-os .portal-os-aurora {
  z-index: 0 !important;
  border-radius: 50% !important;
  filter: blur(18px) !important;
  opacity: 0.58 !important;
  animation: portal-os-drift 11s ease-in-out infinite !important;
}

body.portal-home-os .portal-os-aurora-a {
  left: 22% !important;
  top: 16% !important;
  width: 180px !important;
  height: 180px !important;
  background: rgba(83, 224, 192, 0.28) !important;
}

body.portal-home-os .portal-os-aurora-b {
  right: 16% !important;
  top: 20% !important;
  width: 210px !important;
  height: 210px !important;
  background: rgba(87, 155, 235, 0.2) !important;
  animation-delay: -4s !important;
}

body.portal-home-os .portal-os-aurora-c {
  left: 42% !important;
  bottom: 9% !important;
  width: 280px !important;
  height: 140px !important;
  background: rgba(255, 255, 255, 0.75) !important;
  animation-delay: -7s !important;
}

body.portal-home-os .portal-os-ring {
  left: 50% !important;
  top: 50% !important;
  z-index: 0 !important;
  border: 1px solid rgba(133, 196, 231, 0.46) !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
  animation: portal-os-ring 9s linear infinite !important;
}

body.portal-home-os .portal-os-ring-a {
  width: min(66vw, 920px) !important;
  height: min(33vw, 460px) !important;
}

body.portal-home-os .portal-os-ring-b {
  width: min(48vw, 680px) !important;
  height: min(24vw, 340px) !important;
  animation-duration: 12s !important;
  animation-direction: reverse !important;
}

body.portal-home-os .portal-os-ring-c {
  width: min(30vw, 430px) !important;
  height: min(30vw, 430px) !important;
  border-color: rgba(80, 213, 201, 0.3) !important;
  animation-duration: 16s !important;
}

body.portal-home-os .portal-os-particle {
  z-index: 1 !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 0 18px rgba(84, 194, 232, 0.86) !important;
  animation: portal-os-particle 5.8s ease-in-out infinite !important;
}

body.portal-home-os .portal-os-particle-a { left: 24%; top: 18%; }
body.portal-home-os .portal-os-particle-b { left: 74%; top: 25%; animation-delay: -1.6s !important; }
body.portal-home-os .portal-os-particle-c { left: 34%; bottom: 20%; animation-delay: -3.1s !important; }
body.portal-home-os .portal-os-particle-d { right: 22%; bottom: 27%; animation-delay: -4.4s !important; }

body.portal-home-os .portal-os-core {
  position: absolute !important;
  left: 50% !important;
  top: 49% !important;
  z-index: 4 !important;
  display: grid !important;
  justify-items: center !important;
  align-content: center !important;
  width: clamp(310px, 26vw, 430px) !important;
  aspect-ratio: 1 !important;
  padding: clamp(34px, 3vw, 54px) !important;
  border: 1px solid rgba(178, 219, 238, 0.76) !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(255, 255, 255, 0.98), rgba(235, 249, 255, 0.76) 54%, rgba(194, 232, 250, 0.42) 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    inset 0 -16px 42px rgba(110, 188, 225, 0.16),
    0 0 0 11px rgba(255, 255, 255, 0.44),
    0 0 0 18px rgba(130, 209, 238, 0.13),
    0 34px 70px rgba(39, 105, 157, 0.14) !important;
  transform: translate(-50%, -50%) !important;
  animation: portal-os-core-breathe 5.8s ease-in-out infinite !important;
}

body.portal-home-os .portal-os-core::before,
body.portal-home-os .portal-os-core::after {
  content: "" !important;
  position: absolute !important;
  inset: -18px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(96, 203, 224, 0.34) !important;
  animation: portal-os-core-ring 5s ease-in-out infinite !important;
}

body.portal-home-os .portal-os-core::after {
  inset: -34px !important;
  opacity: 0.48 !important;
  animation-delay: -2.5s !important;
}

body.portal-home-os .portal-os-bot {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  place-items: center !important;
  width: clamp(86px, 7vw, 120px) !important;
  height: clamp(86px, 7vw, 120px) !important;
  margin-bottom: clamp(12px, 1.2vw, 18px) !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  filter: drop-shadow(0 18px 28px rgba(45, 119, 171, 0.18)) !important;
  transition: transform 0.25s ease, filter 0.25s ease !important;
}

body.portal-home-os .portal-os-bot:hover,
body.portal-home-os .portal-os-bot:focus-visible {
  transform: translateY(-5px) scale(1.04) !important;
  filter: drop-shadow(0 22px 34px rgba(45, 119, 171, 0.22)) !important;
}

body.portal-home-os .portal-os-bot img {
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

body.portal-home-os .portal-os-core h1 {
  position: relative !important;
  z-index: 2 !important;
  max-width: 240px !important;
  margin: 0 !important;
  color: #10214a !important;
  font-size: clamp(24px, 1.9vw, 34px) !important;
  font-weight: 950 !important;
  line-height: 1.04 !important;
  text-align: center !important;
  letter-spacing: 0 !important;
}

body.portal-home-os .portal-os-core p {
  position: relative !important;
  z-index: 2 !important;
  max-width: 250px !important;
  margin: 10px 0 16px !important;
  color: #53678d !important;
  font-size: clamp(12px, 0.88vw, 15px) !important;
  font-weight: 760 !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

body.portal-home-os .portal-os-search {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 42px !important;
  align-items: center !important;
  width: min(100%, 270px) !important;
  min-height: 48px !important;
  padding: 5px !important;
  border: 1px solid rgba(204, 224, 238, 0.92) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.86) !important;
  box-shadow:
    0 16px 30px rgba(56, 107, 151, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

body.portal-home-os .portal-os-search input {
  min-width: 0 !important;
  height: 38px !important;
  padding: 0 10px 0 16px !important;
  border: 0 !important;
  outline: 0 !important;
  color: #10214a !important;
  background: transparent !important;
  font-size: 13px !important;
  font-weight: 760 !important;
}

body.portal-home-os .portal-os-search button {
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #f9fdff, #e7f4ff) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  cursor: pointer !important;
}

body.portal-home-os .portal-os-search button img {
  width: 19px !important;
  height: 19px !important;
  object-fit: contain !important;
}

body.portal-home-os .portal-os-card {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  --rotate: 0deg;
  position: absolute !important;
  z-index: 3 !important;
  display: grid !important;
  grid-template-columns: clamp(54px, 4vw, 72px) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 13px !important;
  width: clamp(198px, 15vw, 260px) !important;
  min-height: clamp(78px, 5.4vw, 96px) !important;
  padding: 12px 16px !important;
  border: 1px solid rgba(202, 222, 238, 0.84) !important;
  border-radius: 16px !important;
  color: #10214a !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(250, 253, 255, 0.76)) !important;
  box-shadow:
    0 20px 44px rgba(54, 94, 134, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
  text-decoration: none !important;
  backdrop-filter: blur(18px) !important;
  transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) rotate(var(--rotate)) !important;
  transform-style: preserve-3d !important;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    scale 0.2s ease,
    transform 0.14s ease !important;
  animation: portal-os-card-float 6.5s ease-in-out infinite !important;
}

body.portal-home-os .portal-os-card:hover,
body.portal-home-os .portal-os-card:focus-visible {
  z-index: 6 !important;
  scale: 1.045 !important;
  border-color: rgba(101, 190, 224, 0.72) !important;
  box-shadow:
    0 24px 56px rgba(54, 94, 134, 0.18),
    0 0 0 5px rgba(93, 218, 198, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

body.portal-home-os .portal-os-card-icon {
  display: grid !important;
  place-items: center !important;
  width: clamp(54px, 4vw, 72px) !important;
  height: clamp(54px, 4vw, 72px) !important;
  border-radius: 14px !important;
  background:
    radial-gradient(circle at 34% 22%, rgba(255, 255, 255, 0.94), transparent 40%),
    linear-gradient(135deg, #eef8ff, #ffffff) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    0 12px 22px rgba(57, 111, 153, 0.1) !important;
  transform: translateZ(18px) !important;
}

body.portal-home-os .portal-os-card-icon img {
  max-width: 88% !important;
  max-height: 88% !important;
  object-fit: contain !important;
}

body.portal-home-os .portal-os-card-glyph {
  color: #357bd4 !important;
  font-size: clamp(28px, 2vw, 38px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.portal-home-os .portal-os-card strong {
  display: block !important;
  min-width: 0 !important;
  color: #10214a !important;
  font-size: clamp(13px, 0.92vw, 16px) !important;
  font-weight: 900 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere !important;
  transform: translateZ(12px) !important;
}

body.portal-home-os .portal-os-card-library {
  left: 21% !important;
  top: 7% !important;
  --rotate: -3deg;
  animation-delay: -1.2s !important;
}

body.portal-home-os .portal-os-card-equipment {
  right: 9.5% !important;
  top: 6.5% !important;
  --rotate: -4deg;
  animation-delay: -2.2s !important;
}

body.portal-home-os .portal-os-card-rehab {
  left: 15.5% !important;
  top: 27% !important;
  --rotate: 2deg;
  animation-delay: -3.3s !important;
}

body.portal-home-os .portal-os-card-specialists {
  right: 8.2% !important;
  top: 25.8% !important;
  --rotate: -1deg;
  animation-delay: -4.1s !important;
}

body.portal-home-os .portal-os-card-methods {
  left: 17.5% !important;
  top: 46% !important;
  --rotate: -2deg;
  animation-delay: -0.8s !important;
}

body.portal-home-os .portal-os-card-education {
  right: 8.7% !important;
  top: 44.5% !important;
  --rotate: 1deg;
  animation-delay: -5.2s !important;
}

body.portal-home-os .portal-os-card-institutions {
  left: 23.2% !important;
  bottom: 19.5% !important;
  --rotate: -2deg;
  animation-delay: -2.8s !important;
}

body.portal-home-os .portal-os-card-psychology {
  right: 10.5% !important;
  bottom: 20.6% !important;
  --rotate: -2deg;
  animation-delay: -1.7s !important;
}

body.portal-home-os .portal-os-card-legal {
  left: 39% !important;
  bottom: 9.2% !important;
  --rotate: -1deg;
  animation-delay: -4.7s !important;
}

body.portal-home-os .portal-os-card-podcasts {
  right: 27.4% !important;
  bottom: 8.1% !important;
  --rotate: 2deg;
  animation-delay: -3.8s !important;
}

body.portal-home-os .portal-os-down {
  position: absolute !important;
  left: 50% !important;
  bottom: 5.8% !important;
  z-index: 5 !important;
  display: grid !important;
  place-items: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  color: #56bfa8 !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 18px 34px rgba(43, 80, 124, 0.12) !important;
  text-decoration: none !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  transform: translateX(-50%) !important;
  animation: portal-os-down 2.8s ease-in-out infinite !important;
}

@keyframes portal-os-drift {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  50% {
    transform: translate3d(18px, -14px, 0) scale(1.08);
  }
}

@keyframes portal-os-ring {
  0% {
    rotate: 0deg;
    opacity: 0.44;
  }

  50% {
    opacity: 0.74;
  }

  100% {
    rotate: 360deg;
    opacity: 0.44;
  }
}

@keyframes portal-os-particle {
  0%,
  100% {
    translate: 0 0;
    opacity: 0.2;
  }

  45% {
    translate: 0 -18px;
    opacity: 0.95;
  }
}

@keyframes portal-os-core-breathe {
  0%,
  100% {
    scale: 1;
  }

  50% {
    scale: 1.018;
  }
}

@keyframes portal-os-core-ring {
  0%,
  100% {
    scale: 0.985;
    opacity: 0.44;
  }

  50% {
    scale: 1.04;
    opacity: 0.82;
  }
}

@keyframes portal-os-card-float {
  0%,
  100% {
    translate: 0 0;
  }

  50% {
    translate: 0 -8px;
  }
}

@keyframes portal-os-down {
  0%,
  100% {
    translate: 0 0;
  }

  50% {
    translate: 0 8px;
  }
}

@media (max-width: 1240px) {
  body.portal-home-os {
    overflow: auto !important;
  }

  body.portal-home-os .portal-os-shell,
  body.portal-home-os .portal-os-shell.is-ai-rail-closed {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: 100vh !important;
    overflow: visible !important;
  }

  body.portal-home-os .portal-os-sidebar {
    position: relative !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    height: auto !important;
    gap: 12px !important;
    overflow: visible !important;
    border-right: 1px solid rgba(207, 224, 239, 0.85) !important;
    border-radius: 18px 18px 0 0 !important;
  }

  body.portal-home-os .portal-os-nav {
    display: flex !important;
    overflow-x: auto !important;
  }

  body.portal-home-os .portal-os-nav .home-nav-item {
    flex: 0 0 auto !important;
    width: auto !important;
    white-space: nowrap !important;
  }

  body.portal-home-os .portal-os-ai-chip {
    margin: 0 !important;
    width: 190px !important;
  }

  body.portal-home-os .portal-os-stage {
    height: 820px !important;
    border-radius: 0 0 18px 18px !important;
  }
}

@media (max-width: 860px) {
  body.portal-home-os .portal-os-sidebar {
    grid-template-columns: 1fr !important;
  }

  body.portal-home-os .portal-os-ai-chip {
    display: none !important;
  }

  body.portal-home-os .portal-os-stage {
    display: grid !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 14px !important;
    padding: 24px !important;
    overflow: visible !important;
  }

  body.portal-home-os .portal-os-core,
  body.portal-home-os .portal-os-card,
  body.portal-home-os .portal-os-down {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
  }

  body.portal-home-os .portal-os-core {
    justify-self: center !important;
    width: min(100%, 360px) !important;
    margin: 18px 0 8px !important;
  }

  body.portal-home-os .portal-os-card {
    grid-template-columns: 62px minmax(0, 1fr) !important;
    width: 100% !important;
    min-height: 84px !important;
  }

  body.portal-home-os .portal-os-down {
    justify-self: center !important;
    margin-top: 6px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-home-os .portal-os-aurora,
  body.portal-home-os .portal-os-ring,
  body.portal-home-os .portal-os-particle,
  body.portal-home-os .portal-os-core,
  body.portal-home-os .portal-os-core::before,
  body.portal-home-os .portal-os-core::after,
  body.portal-home-os .portal-os-card,
  body.portal-home-os .portal-os-down {
    animation: none !important;
  }
}

/* Portal OS hard lock: old home AI-rail/grid rules have higher specificity, so the final screen needs its own lock. */
body.portal-home.portal-home-os .portal-os-shell,
body.portal-home.portal-home-os .portal-os-shell:not(.is-ai-rail-closed),
body.portal-home.portal-home-os .portal-os-shell.is-ai-rail-closed {
  grid-template-columns: clamp(280px, 15.625vw, 320px) minmax(0, 1fr) !important;
  grid-template-areas: none !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

body.portal-home.portal-home-os .portal-os-main,
body.portal-home.portal-home-os .portal-os-shell:not(.is-ai-rail-closed) .portal-os-main {
  grid-column: auto !important;
  min-width: 0 !important;
  width: auto !important;
  height: 100% !important;
  overflow: hidden !important;
  padding: 0 !important;
}

body.portal-home.portal-home-os .portal-os-sidebar {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  overflow: hidden !important;
  padding: clamp(24px, 2vw, 36px) 18px !important;
  border-left: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
}

body.portal-home.portal-home-os .portal-os-stage {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 0 18px 18px 0 !important;
  background:
    radial-gradient(circle at var(--spot-x) var(--spot-y), rgba(255, 255, 255, 0.78), transparent 22%),
    radial-gradient(circle at 30% 18%, rgba(117, 238, 211, 0.28), transparent 25%),
    radial-gradient(circle at 79% 16%, rgba(115, 156, 236, 0.26), transparent 27%),
    radial-gradient(circle at 50% 52%, rgba(76, 190, 235, 0.32), transparent 32%),
    linear-gradient(180deg, rgba(251, 254, 255, 0.98), rgba(226, 245, 255, 0.95) 58%, rgba(207, 235, 252, 0.98)) !important;
}

body.portal-home.portal-home-os .ai-home-panel,
body.portal-home.portal-home-os .ai-panel-card,
body.portal-home.portal-home-os .robot-orb,
body.portal-home.portal-home-os .home-topbar,
body.portal-home.portal-home-os .hero-console,
body.portal-home.portal-home-os .family-map,
body.portal-home.portal-home-os .quick-paths,
body.portal-home.portal-home-os .home-dashboard,
body.portal-home.portal-home-os .trust-strip,
body.portal-home.portal-home-os .support-island,
body.portal-home.portal-home-os .support-island-generated {
  display: none !important;
}

@media (max-width: 1240px) {
  body.portal-home.portal-home-os .portal-os-shell,
  body.portal-home.portal-home-os .portal-os-shell:not(.is-ai-rail-closed),
  body.portal-home.portal-home-os .portal-os-shell.is-ai-rail-closed {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
  }
}

body.portal-home.portal-home-os .portal-os-brand {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

body.portal-home.portal-home-os .portal-os-brand::before {
  content: "" !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #4c8df7, #2765dc) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    0 12px 24px rgba(53, 111, 218, 0.24) !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  rotate: 45deg !important;
}

body.portal-home.portal-home-os .portal-os-brand::after {
  content: "+" !important;
  position: absolute !important;
  left: 4px !important;
  top: 0 !important;
  z-index: 1 !important;
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  color: #ffffff !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.portal-home.portal-home-os .portal-os-brand img {
  display: none !important;
}

body.portal-home.portal-home-os .portal-os-card {
  grid-template-columns: clamp(58px, 3.75vw, 76px) minmax(0, 1fr) !important;
  gap: clamp(13px, 1.05vw, 20px) !important;
  width: clamp(232px, 16.2vw, 330px) !important;
  min-height: clamp(86px, 5.45vw, 118px) !important;
  padding: clamp(12px, 0.82vw, 16px) clamp(16px, 1.2vw, 24px) !important;
  border-radius: clamp(16px, 1.15vw, 22px) !important;
  box-shadow:
    0 26px 58px rgba(54, 94, 134, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

body.portal-home.portal-home-os .portal-os-card-icon {
  width: clamp(58px, 3.75vw, 76px) !important;
  height: clamp(58px, 3.75vw, 76px) !important;
  border-radius: clamp(14px, 1vw, 20px) !important;
}

body.portal-home.portal-home-os .portal-os-card strong {
  font-size: clamp(14px, 0.98vw, 20px) !important;
  line-height: 1.12 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body.portal-home.portal-home-os .portal-os-card-legal {
  left: 24% !important;
  bottom: 5% !important;
}

body.portal-home.portal-home-os .portal-os-card-podcasts {
  right: 12% !important;
  bottom: 5.1% !important;
}

body.portal-home.portal-home-os .portal-os-down {
  bottom: 1.7% !important;
}

@media (min-width: 1500px) {
  body.portal-home.portal-home-os .portal-os-card-library {
    left: 19.3% !important;
    top: 7.8% !important;
  }

  body.portal-home.portal-home-os .portal-os-card-equipment {
    right: 10.5% !important;
    top: 7.2% !important;
  }

  body.portal-home.portal-home-os .portal-os-card-rehab {
    left: 13.4% !important;
    top: 26.2% !important;
  }

  body.portal-home.portal-home-os .portal-os-card-specialists {
    right: 9.2% !important;
    top: 25.1% !important;
  }

  body.portal-home.portal-home-os .portal-os-card-methods {
    left: 15.6% !important;
    top: 46% !important;
  }

  body.portal-home.portal-home-os .portal-os-card-education {
    right: 9.7% !important;
    top: 44.8% !important;
  }

  body.portal-home.portal-home-os .portal-os-card-institutions {
    left: 21.3% !important;
    bottom: 18.4% !important;
  }

  body.portal-home.portal-home-os .portal-os-card-psychology {
    right: 11.7% !important;
    bottom: 19.1% !important;
  }

  body.portal-home.portal-home-os .portal-os-card-legal {
    left: 22.2% !important;
    bottom: 4.9% !important;
  }

  body.portal-home.portal-home-os .portal-os-card-podcasts {
    right: 13.2% !important;
    bottom: 4.9% !important;
  }

  body.portal-home.portal-home-os .portal-os-core h1 {
    max-width: 310px !important;
    font-size: clamp(34px, 2.05vw, 42px) !important;
    line-height: 1.03 !important;
  }

  body.portal-home.portal-home-os .portal-os-core p {
    max-width: 330px !important;
    font-size: clamp(15px, 1vw, 20px) !important;
  }
}

/* Reference A lock: exact single-screen composition from the supplied mockup. */
body.portal-home.portal-home-os {
  display: grid !important;
  place-items: center !important;
  min-height: 100dvh !important;
  padding: 0 !important;
  overflow: auto !important;
  background: #ffffff !important;
}

body.portal-home.portal-home-os .portal-os-shell,
body.portal-home.portal-home-os .portal-os-shell:not(.is-ai-rail-closed),
body.portal-home.portal-home-os .portal-os-shell.is-ai-rail-closed {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.portal-home.portal-home-os .portal-os-sidebar {
  display: none !important;
}

body.portal-home.portal-home-os .portal-os-main,
body.portal-home.portal-home-os .portal-os-shell:not(.is-ai-rail-closed) .portal-os-main {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body.portal-home.portal-home-os .portal-os-stage {
  --spot-x: 50%;
  --spot-y: 47%;
  container-type: size;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  border: 1px solid rgba(185, 209, 232, 0.94) !important;
  border-radius: 1.65cqw !important;
  background:
    radial-gradient(circle at 49% 41%, rgba(255, 255, 255, 0.9), rgba(217, 243, 255, 0.56) 20%, transparent 36%),
    radial-gradient(circle at 28% 14%, rgba(180, 248, 228, 0.44), transparent 26%),
    radial-gradient(circle at 82% 12%, rgba(184, 207, 249, 0.42), transparent 29%),
    radial-gradient(circle at 50% 55%, rgba(122, 211, 242, 0.25), transparent 40%),
    linear-gradient(180deg, #f7fbff 0%, #dff4ff 58%, #d6efff 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94) !important;
}

body.portal-home.portal-home-os .portal-os-reference-plane {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 1 !important;
  width: min(100cqw, calc(100cqh * 1.3221)) !important;
  height: min(100cqh, calc(100cqw / 1.3221)) !important;
  overflow: visible !important;
  container-type: size;
  transform: translate(-50%, -50%) !important;
}

body.portal-home.portal-home-os .portal-os-stage::before {
  inset: 7% 9% 6% !important;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.96) 0 0.22cqw, transparent 0.24cqw) 12% 18% / 13cqw 11cqw,
    repeating-radial-gradient(ellipse at 50% 51%, transparent 0 12cqw, rgba(255, 255, 255, 0.28) 12.25cqw 12.42cqw, transparent 12.7cqw 15.5cqw),
    radial-gradient(ellipse at 50% 50%, rgba(72, 185, 232, 0.16), transparent 58%) !important;
  filter: blur(0.06cqw) !important;
  opacity: 0.92 !important;
}

body.portal-home.portal-home-os .portal-os-stage::after {
  inset: auto 18% 5% 18% !important;
  height: 19% !important;
  background: radial-gradient(ellipse, rgba(113, 196, 231, 0.22), transparent 66%) !important;
  filter: blur(0.75cqw) !important;
}

body.portal-home.portal-home-os .portal-os-aurora {
  filter: blur(2cqw) !important;
  opacity: 0.36 !important;
}

body.portal-home.portal-home-os .portal-os-aurora-a {
  left: 22% !important;
  top: 11% !important;
  width: 18cqw !important;
  height: 18cqw !important;
}

body.portal-home.portal-home-os .portal-os-aurora-b {
  right: 14% !important;
  top: 12% !important;
  width: 20cqw !important;
  height: 20cqw !important;
}

body.portal-home.portal-home-os .portal-os-aurora-c {
  left: 38% !important;
  bottom: 5% !important;
  width: 30cqw !important;
  height: 12cqw !important;
}

body.portal-home.portal-home-os .portal-os-ring {
  top: 45.5% !important;
  border-color: rgba(112, 196, 228, 0.28) !important;
  opacity: 0.62 !important;
}

body.portal-home.portal-home-os .portal-os-ring-a {
  width: 70cqw !important;
  height: 35cqw !important;
}

body.portal-home.portal-home-os .portal-os-ring-b {
  width: 50cqw !important;
  height: 25cqw !important;
}

body.portal-home.portal-home-os .portal-os-ring-c {
  width: 29cqw !important;
  height: 29cqw !important;
}

body.portal-home.portal-home-os .portal-os-particle {
  width: 0.48cqw !important;
  height: 0.48cqw !important;
  box-shadow: 0 0 1.6cqw rgba(84, 194, 232, 0.9) !important;
}

body.portal-home.portal-home-os .portal-os-core {
  position: absolute !important;
  left: 50% !important;
  top: 35.6% !important;
  width: 29.8cqw !important;
  height: 29.8cqw !important;
  padding: 3.35cqw !important;
  border-color: rgba(159, 215, 238, 0.74) !important;
  background: radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.88), rgba(224, 247, 255, 0.58) 55%, rgba(177, 226, 247, 0.28) 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    inset 0 -1.6cqw 4.3cqw rgba(95, 184, 224, 0.12),
    0 0 0 0.9cqw rgba(255, 255, 255, 0.42),
    0 0 0 1.55cqw rgba(130, 209, 238, 0.13),
    0 2.6cqw 5.6cqw rgba(39, 105, 157, 0.1) !important;
  transform: translate(-50%, -50%) !important;
  animation: none !important;
}

body.portal-home.portal-home-os .portal-os-core::before {
  inset: -1.7cqw !important;
}

body.portal-home.portal-home-os .portal-os-core::after {
  inset: -3cqw !important;
}

body.portal-home.portal-home-os .portal-os-bot {
  width: 8.8cqw !important;
  height: 8.8cqw !important;
  margin-bottom: 1.15cqw !important;
  filter: drop-shadow(0 1.4cqw 2.1cqw rgba(45, 119, 171, 0.18)) !important;
}

body.portal-home.portal-home-os .portal-os-core h1 {
  max-width: 21cqw !important;
  font-size: 2.45cqw !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
}

body.portal-home.portal-home-os .portal-os-core p {
  max-width: 19cqw !important;
  margin: 0.72cqw 0 1.15cqw !important;
  font-size: 1.08cqw !important;
  line-height: 1.18 !important;
  font-weight: 760 !important;
}

body.portal-home.portal-home-os .portal-os-search {
  grid-template-columns: minmax(0, 1fr) 3.55cqw !important;
  width: 21.8cqw !important;
  min-height: 4.55cqw !important;
  padding: 0.38cqw !important;
  box-shadow: 0 1.15cqw 2.2cqw rgba(56, 107, 151, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

body.portal-home.portal-home-os .portal-os-search input {
  height: 3.75cqw !important;
  padding: 0 0.7cqw 0 1.35cqw !important;
  font-size: 0.95cqw !important;
}

body.portal-home.portal-home-os .portal-os-search button {
  width: 3.7cqw !important;
  height: 3.7cqw !important;
}

body.portal-home.portal-home-os .portal-os-search button img {
  width: 1.62cqw !important;
  height: 1.62cqw !important;
}

body.portal-home.portal-home-os .portal-os-card {
  position: absolute !important;
  grid-template-columns: 5.7cqw minmax(0, 1fr) !important;
  gap: 1.05cqw !important;
  min-height: 7.75cqw !important;
  padding: 1.05cqw 1.45cqw !important;
  border-radius: 1.35cqw !important;
  border-color: rgba(213, 226, 239, 0.88) !important;
  background: linear-gradient(138deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.72)) !important;
  box-shadow:
    0 1.65cqw 3.6cqw rgba(50, 92, 132, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
  transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) rotate(var(--rotate)) !important;
  animation: none !important;
}

body.portal-home.portal-home-os .portal-os-card:hover,
body.portal-home.portal-home-os .portal-os-card:focus-visible {
  scale: 1.025 !important;
}

body.portal-home.portal-home-os .portal-os-card-icon {
  width: 5.7cqw !important;
  height: 5.7cqw !important;
  border-radius: 1cqw !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.portal-home.portal-home-os .portal-os-card-icon img {
  max-width: 115% !important;
  max-height: 115% !important;
  filter: drop-shadow(0 0.45cqw 0.7cqw rgba(55, 105, 154, 0.12)) !important;
}

body.portal-home.portal-home-os .portal-os-card strong {
  font-size: 1.28cqw !important;
  line-height: 1.13 !important;
  font-weight: 850 !important;
}

body.portal-home.portal-home-os .portal-os-line-icon {
  position: relative !important;
  background:
    radial-gradient(circle at 32% 22%, rgba(255, 255, 255, 0.98), transparent 38%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(243, 250, 255, 0.82)) !important;
  box-shadow: 0 0.55cqw 1.2cqw rgba(72, 119, 165, 0.08) !important;
}

body.portal-home.portal-home-os .portal-os-line-icon::before {
  content: "" !important;
  position: absolute !important;
  inset: 0.9cqw !important;
  background: linear-gradient(145deg, #5bb7ff, #2770d4) !important;
  filter: drop-shadow(0 0.4cqw 0.42cqw rgba(44, 107, 190, 0.18)) !important;
  -webkit-mask: var(--portal-icon) center / contain no-repeat !important;
  mask: var(--portal-icon) center / contain no-repeat !important;
}

body.portal-home.portal-home-os .portal-os-line-brain {
  --portal-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9.1 3.2A4 4 0 0 0 5.2 7 4.4 4.4 0 0 0 4 15.5 4.1 4.1 0 0 0 8.2 20H11V3.2H9.1Zm5.8 0H13V20h2.8a4.1 4.1 0 0 0 4.2-4.5A4.4 4.4 0 0 0 18.8 7a4 4 0 0 0-3.9-3.8ZM8.4 8.2h2V10h-2a1.9 1.9 0 0 0 0 3.8h2v1.8h-2A3.7 3.7 0 0 1 6.3 8.8c.6-.4 1.3-.6 2.1-.6Zm7.2 0a3.7 3.7 0 0 1 2.1 6.8c-.6.4-1.3.6-2.1.6h-2v-1.8h2a1.9 1.9 0 0 0 0-3.8h-2V8.2h2Z'/%3E%3C/svg%3E") !important;
}

body.portal-home.portal-home-os .portal-os-line-hospital {
  --portal-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4 21V7h5V3h6v4h5v14h-6v-5h-4v5H4Zm7-15v3H8v3h3v3h2v-3h3V9h-3V6h-2ZM6.5 9.5V19H8v-3h8v3h1.5V9.5H16V14H8V9.5H6.5Z'/%3E%3C/svg%3E") !important;
}

body.portal-home.portal-home-os .portal-os-line-heart {
  --portal-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 21.2 10.8 20C5.8 15.6 2.5 12.6 2.5 8.8A5.3 5.3 0 0 1 7.8 3.5c1.7 0 3.2.8 4.2 2.1a5.2 5.2 0 0 1 4.2-2.1 5.3 5.3 0 0 1 5.3 5.3c0 3.8-3.3 6.8-8.3 11.2L12 21.2Zm0-3.3.3-.3c4.3-3.8 6.8-6.1 6.8-8.8A2.8 2.8 0 0 0 16.2 6c-1.5 0-2.5.9-3.1 2.1h-2.2C10.3 6.9 9.3 6 7.8 6A2.8 2.8 0 0 0 5 8.8c0 2.7 2.5 5 6.8 8.8l.2.3Z'/%3E%3C/svg%3E") !important;
}

body.portal-home.portal-home-os .portal-os-line-mic {
  --portal-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 15a4 4 0 0 0 4-4V6a4 4 0 0 0-8 0v5a4 4 0 0 0 4 4Zm-2-9a2 2 0 1 1 4 0v5a2 2 0 1 1-4 0V6Zm9 5a7 7 0 0 1-6 6.9V21h3v2H8v-2h3v-3.1A7 7 0 0 1 5 11h2a5 5 0 0 0 10 0h2Z'/%3E%3C/svg%3E") !important;
}

body.portal-home.portal-home-os .portal-os-card-library {
  left: 15.4% !important;
  top: 8.5% !important;
  width: 20.8cqw !important;
  --rotate: 3.5deg;
}

body.portal-home.portal-home-os .portal-os-card-equipment {
  right: 14.2% !important;
  top: 7.1% !important;
  width: 21.2cqw !important;
  --rotate: -3.2deg;
}

body.portal-home.portal-home-os .portal-os-card-rehab {
  left: 9.8% !important;
  top: 24.5% !important;
  width: 19.2cqw !important;
  --rotate: 1.6deg;
}

body.portal-home.portal-home-os .portal-os-card-specialists {
  right: 8.6% !important;
  top: 24.1% !important;
  width: 19.6cqw !important;
  --rotate: -1.4deg;
}

body.portal-home.portal-home-os .portal-os-card-methods {
  left: 8.9% !important;
  top: 42.1% !important;
  width: 17.6cqw !important;
  --rotate: -2.4deg;
}

body.portal-home.portal-home-os .portal-os-card-education {
  right: 8.2% !important;
  top: 40.8% !important;
  width: 20.1cqw !important;
  --rotate: 0.9deg;
}

body.portal-home.portal-home-os .portal-os-card-institutions {
  left: 13% !important;
  bottom: 29.8% !important;
  width: 20.7cqw !important;
  --rotate: -2.1deg;
}

body.portal-home.portal-home-os .portal-os-card-psychology {
  right: 11.1% !important;
  bottom: 31.8% !important;
  width: 21.7cqw !important;
  --rotate: -1.8deg;
}

body.portal-home.portal-home-os .portal-os-card-legal {
  left: 33.3% !important;
  bottom: 18.4% !important;
  width: 17.8cqw !important;
  --rotate: -1.6deg;
}

body.portal-home.portal-home-os .portal-os-card-podcasts {
  right: 30% !important;
  bottom: 18.5% !important;
  width: 16.1cqw !important;
  --rotate: 1.6deg;
}

body.portal-home.portal-home-os .portal-os-down {
  position: absolute !important;
  left: 50% !important;
  bottom: 6.4% !important;
  width: 5.1cqw !important;
  height: 5.1cqw !important;
  color: #6ad6bd !important;
  font-size: 2.35cqw !important;
  box-shadow: 0 1.4cqw 2.9cqw rgba(43, 80, 124, 0.12) !important;
  transform: translateX(-50%) !important;
  animation: none !important;
}

@media (max-width: 860px) {
  body.portal-home.portal-home-os .portal-os-shell,
  body.portal-home.portal-home-os .portal-os-shell:not(.is-ai-rail-closed),
  body.portal-home.portal-home-os .portal-os-shell.is-ai-rail-closed {
    width: 100vw !important;
    height: 100dvh !important;
  }

  body.portal-home.portal-home-os .portal-os-stage {
    display: block !important;
    padding: 0 !important;
  }

  body.portal-home.portal-home-os .portal-os-core,
  body.portal-home.portal-home-os .portal-os-card,
  body.portal-home.portal-home-os .portal-os-down {
    position: absolute !important;
  }
}

/* Variant A full-page lock: sidebar + Portal OS scene from the first mockup. */
body.portal-home.portal-home-os {
  display: block !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 28% 14%, rgba(184, 245, 229, 0.24), transparent 28%),
    radial-gradient(circle at 80% 16%, rgba(182, 207, 248, 0.24), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, #edf7ff 100%) !important;
}

body.portal-home.portal-home-os .portal-os-shell,
body.portal-home.portal-home-os .portal-os-shell:not(.is-ai-rail-closed),
body.portal-home.portal-home-os .portal-os-shell.is-ai-rail-closed {
  display: grid !important;
  grid-template-columns: clamp(204px, 14vw, 238px) minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.portal-home.portal-home-os .portal-os-sidebar {
  position: relative !important;
  z-index: 7 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  gap: clamp(11px, 1.25vh, 18px) !important;
  overflow: hidden !important;
  padding: clamp(14px, 1.55vw, 24px) clamp(10px, 1vw, 16px) !important;
  border: 1px solid rgba(203, 221, 239, 0.9) !important;
  border-left: 0 !important;
  border-radius: 0 0 0 0 !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 1.1vw 0 2.8vw rgba(39, 83, 128, 0.08) !important;
  backdrop-filter: blur(20px) !important;
}

body.portal-home.portal-home-os .portal-os-main,
body.portal-home.portal-home-os .portal-os-shell:not(.is-ai-rail-closed) .portal-os-main {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

body.portal-home.portal-home-os .portal-os-stage {
  --spot-x: 50%;
  --spot-y: 47%;
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(185, 209, 232, 0.94) !important;
  border-left: 0 !important;
  border-radius: 0 16px 16px 0 !important;
  background:
    radial-gradient(circle at 49% 41%, rgba(255, 255, 255, 0.9), rgba(217, 243, 255, 0.56) 20%, transparent 36%),
    radial-gradient(circle at 28% 14%, rgba(180, 248, 228, 0.44), transparent 26%),
    radial-gradient(circle at 82% 12%, rgba(184, 207, 249, 0.42), transparent 29%),
    radial-gradient(circle at 50% 55%, rgba(122, 211, 242, 0.25), transparent 40%),
    linear-gradient(180deg, #f7fbff 0%, #dff4ff 58%, #d6efff 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94) !important;
}

body.portal-home.portal-home-os .portal-os-reference-plane {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 1 !important;
  width: min(100cqw, calc(100cqh * 1.3221)) !important;
  height: min(100cqh, calc(100cqw / 1.3221)) !important;
  container-type: size;
  overflow: visible !important;
  transform: translate(-50%, -50%) !important;
}

body.portal-home.portal-home-os .portal-os-brand {
  min-height: 40px !important;
  padding: 0 4px clamp(8px, 1vh, 12px) !important;
}

body.portal-home.portal-home-os .portal-os-brand strong {
  font-size: clamp(11px, 0.78vw, 13px) !important;
}

body.portal-home.portal-home-os .portal-os-brand small {
  font-size: clamp(10px, 0.68vw, 11px) !important;
}

body.portal-home.portal-home-os .portal-os-nav {
  display: grid !important;
  gap: clamp(4px, 0.7vh, 8px) !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body.portal-home.portal-home-os .portal-os-nav .home-nav-item {
  display: grid !important;
  grid-template-columns: clamp(18px, 1.45vw, 22px) minmax(0, 1fr) !important;
  min-height: clamp(31px, 4.3vh, 42px) !important;
  padding: 0 clamp(8px, 0.85vw, 12px) !important;
  border-radius: 10px !important;
  font-size: clamp(10px, 0.72vw, 12px) !important;
  white-space: normal !important;
}

body.portal-home.portal-home-os .portal-os-nav .home-nav-item span {
  width: clamp(18px, 1.45vw, 22px) !important;
  height: clamp(18px, 1.45vw, 22px) !important;
  font-size: clamp(13px, 1vw, 15px) !important;
}

body.portal-home.portal-home-os .portal-os-ai-chip {
  display: grid !important;
  grid-template-columns: clamp(34px, 2.6vw, 42px) minmax(0, 1fr) !important;
  margin-top: auto !important;
  padding: clamp(8px, 0.8vw, 10px) !important;
  border-radius: 12px !important;
}

body.portal-home.portal-home-os .portal-os-ai-chip img {
  width: clamp(34px, 2.6vw, 42px) !important;
  height: clamp(34px, 2.6vw, 42px) !important;
}

body.portal-home.portal-home-os .portal-os-ai-chip strong {
  font-size: clamp(11px, 0.78vw, 13px) !important;
}

body.portal-home.portal-home-os .portal-os-ai-chip small {
  font-size: clamp(10px, 0.68vw, 11px) !important;
}

body.portal-home.portal-home-os .portal-os-card {
  animation: none !important;
}

@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) {
  body.portal-home.portal-home-os {
    overflow: auto !important;
  }

  body.portal-home.portal-home-os .portal-os-shell,
  body.portal-home.portal-home-os .portal-os-shell:not(.is-ai-rail-closed),
  body.portal-home.portal-home-os .portal-os-shell.is-ai-rail-closed {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(560px, 72vh) !important;
    height: auto !important;
    min-height: 100dvh !important;
    overflow: visible !important;
  }

  body.portal-home.portal-home-os .portal-os-sidebar {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    height: auto !important;
    padding: 12px !important;
    border-right: 1px solid rgba(203, 221, 239, 0.9) !important;
  }

  body.portal-home.portal-home-os .portal-os-nav {
    display: flex !important;
    overflow-x: auto !important;
  }

  body.portal-home.portal-home-os .portal-os-nav .home-nav-item {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  body.portal-home.portal-home-os .portal-os-ai-chip {
    display: none !important;
  }

  body.portal-home.portal-home-os .portal-os-stage {
    border-left: 1px solid rgba(185, 209, 232, 0.94) !important;
    border-radius: 0 0 16px 16px !important;
  }
}

/* Brand palette pass: the page now follows the real DCP emblem. */
body.portal-home.portal-home-os {
  color: #102348 !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(30, 218, 77, 0.16), transparent 28%),
    radial-gradient(circle at 82% 10%, rgba(122, 60, 193, 0.13), transparent 30%),
    radial-gradient(circle at 50% 80%, rgba(40, 145, 226, 0.13), transparent 32%),
    linear-gradient(180deg, #fbfdff 0%, #edf8ff 100%) !important;
}

body.portal-home.portal-home-os .portal-os-stage {
  background:
    radial-gradient(circle at 50% 39%, rgba(255, 255, 255, 0.92), rgba(219, 249, 239, 0.48) 17%, transparent 36%),
    radial-gradient(circle at 27% 14%, rgba(21, 219, 65, 0.2), transparent 27%),
    radial-gradient(circle at 81% 12%, rgba(129, 74, 205, 0.2), transparent 30%),
    radial-gradient(circle at 50% 56%, rgba(40, 157, 225, 0.24), transparent 43%),
    linear-gradient(180deg, #f9fdff 0%, #e8f8ff 52%, #d9f3ff 100%) !important;
}

body.portal-home.portal-home-os .portal-os-stage::before {
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.98) 0 0.22cqw, transparent 0.24cqw) 12% 18% / 13cqw 11cqw,
    repeating-radial-gradient(ellipse at 50% 51%, transparent 0 12cqw, rgba(33, 192, 88, 0.13) 12.25cqw 12.42cqw, transparent 12.7cqw 15.5cqw),
    radial-gradient(ellipse at 50% 50%, rgba(34, 148, 223, 0.15), transparent 58%) !important;
}

body.portal-home.portal-home-os .portal-os-brand {
  display: grid !important;
  grid-template-columns: clamp(54px, 4.8vw, 74px) minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  min-height: clamp(70px, 7.6vw, 94px) !important;
  padding: 0 2px clamp(10px, 1vh, 14px) !important;
}

body.portal-home.portal-home-os .portal-os-brand::before,
body.portal-home.portal-home-os .portal-os-brand::after {
  display: none !important;
}

body.portal-home.portal-home-os .portal-os-brand img {
  display: block !important;
  width: clamp(50px, 4.3vw, 66px) !important;
  height: clamp(68px, 6.2vw, 88px) !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 18px rgba(13, 141, 52, 0.16)) !important;
}

body.portal-home.portal-home-os .portal-os-brand strong {
  color: #12305e !important;
  font-size: clamp(12px, 0.84vw, 15px) !important;
  line-height: 1.02 !important;
}

body.portal-home.portal-home-os .portal-os-brand small {
  color: #23763f !important;
  font-size: clamp(10px, 0.72vw, 12px) !important;
  font-weight: 800 !important;
}

body.portal-home.portal-home-os .portal-os-nav .home-nav-item {
  color: #4c5f86 !important;
}

body.portal-home.portal-home-os .portal-os-nav .home-nav-item span {
  color: #22793e !important;
}

body.portal-home.portal-home-os .portal-os-nav .home-nav-item::before {
  background: linear-gradient(135deg, rgba(23, 196, 74, 0.14), rgba(46, 131, 222, 0.11) 78%, rgba(255, 255, 255, 0.78)) !important;
}

body.portal-home.portal-home-os .portal-os-nav .home-nav-item:hover,
body.portal-home.portal-home-os .portal-os-nav .home-nav-item:focus-visible,
body.portal-home.portal-home-os .portal-os-nav .home-nav-item.is-active {
  color: #126a34 !important;
}

body.portal-home.portal-home-os .portal-os-nav .home-nav-item:hover span,
body.portal-home.portal-home-os .portal-os-nav .home-nav-item:focus-visible span,
body.portal-home.portal-home-os .portal-os-nav .home-nav-item.is-active span {
  color: #2b70d8 !important;
}

body.portal-home.portal-home-os .portal-os-ai-chip {
  border-color: rgba(55, 151, 80, 0.24) !important;
  background:
    radial-gradient(circle at 18% 25%, rgba(23, 207, 72, 0.13), transparent 38%),
    rgba(255, 255, 255, 0.84) !important;
}

body.portal-home.portal-home-os .portal-os-ai-chip small {
  color: #25713d !important;
}

body.portal-home.portal-home-os .portal-os-core {
  background:
    radial-gradient(circle at 50% 37%, rgba(255, 255, 255, 0.96), rgba(222, 250, 239, 0.74) 47%, rgba(187, 232, 252, 0.4) 100%) !important;
  border-color: rgba(60, 196, 101, 0.22) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.98),
    inset 0 -1.7cqw 4.6cqw rgba(30, 178, 89, 0.11),
    0 0 0 0.9cqw rgba(255, 255, 255, 0.42),
    0 0 0 1.55cqw rgba(44, 158, 225, 0.12),
    0 2.7cqw 5.9cqw rgba(16, 98, 163, 0.12) !important;
}

body.portal-home.portal-home-os .portal-os-core::before {
  border-color: rgba(32, 192, 86, 0.34) !important;
}

body.portal-home.portal-home-os .portal-os-core::after {
  border-color: rgba(125, 74, 201, 0.22) !important;
}

body.portal-home.portal-home-os .portal-os-bot {
  width: 11.2cqw !important;
  height: 11.2cqw !important;
  margin-bottom: 0.25cqw !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(34, 218, 104, 0.2), transparent 58%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.72), rgba(222, 247, 255, 0.28)) !important;
  box-shadow:
    0 0 0 0.62cqw rgba(255, 255, 255, 0.56),
    0 0 0 1.05cqw rgba(36, 145, 222, 0.08),
    0 1.2cqw 2.8cqw rgba(32, 117, 170, 0.16),
    0 0 3.2cqw rgba(26, 205, 86, 0.16) !important;
  filter: none !important;
}

body.portal-home.portal-home-os .portal-os-bot::before,
body.portal-home.portal-home-os .portal-os-bot::after {
  content: "" !important;
  position: absolute !important;
  inset: -0.8cqw !important;
  z-index: -1 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(34, 192, 92, 0.28) !important;
}

body.portal-home.portal-home-os .portal-os-bot::after {
  inset: -1.45cqw !important;
  border-color: rgba(120, 75, 199, 0.18) !important;
}

body.portal-home.portal-home-os .portal-os-bot img {
  width: 116% !important;
  height: 116% !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: saturate(1.08) contrast(1.03) drop-shadow(0 0.45cqw 0.75cqw rgba(15, 79, 136, 0.18)) !important;
}

body.portal-home.portal-home-os .portal-os-core h1 {
  color: #102348 !important;
  text-shadow: 0 0.25cqw 1.4cqw rgba(20, 124, 72, 0.1) !important;
}

body.portal-home.portal-home-os .portal-os-core p {
  color: #4a648d !important;
}

body.portal-home.portal-home-os .portal-os-search {
  border-color: rgba(45, 151, 91, 0.18) !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow:
    0 1.15cqw 2.2cqw rgba(29, 113, 157, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

body.portal-home.portal-home-os .portal-os-search button {
  background: radial-gradient(circle at 32% 24%, #ffffff, #e7f8ee 56%, #dfefff) !important;
}

body.portal-home.portal-home-os .portal-os-card {
  border-color: rgba(198, 226, 214, 0.78) !important;
}

body.portal-home.portal-home-os .portal-os-card:hover,
body.portal-home.portal-home-os .portal-os-card:focus-visible {
  border-color: rgba(42, 190, 87, 0.45) !important;
  box-shadow:
    0 1.85cqw 3.8cqw rgba(48, 100, 139, 0.16),
    0 0 0 0.36cqw rgba(38, 204, 94, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

body.portal-home.portal-home-os .portal-os-card strong {
  color: #132754 !important;
}

body.portal-home.portal-home-os .portal-os-line-icon::before {
  background: linear-gradient(145deg, #19c84f, #2674d8 72%, #7f43c8) !important;
}

body.portal-home.portal-home-os .portal-os-down {
  color: #20bd62 !important;
  box-shadow:
    0 1.4cqw 2.9cqw rgba(31, 112, 145, 0.12),
    0 0 0 0.55cqw rgba(30, 205, 86, 0.08) !important;
}

/* Neo portal redesign. */
:root {
  --neo-ink: #131a2d;
  --neo-muted: #5f687a;
  --neo-line: rgba(31, 44, 69, 0.11);
  --neo-panel: rgba(255, 255, 255, 0.78);
  --neo-panel-strong: rgba(255, 255, 255, 0.92);
  --neo-green: #16a34a;
  --neo-blue: #2276d2;
  --neo-violet: #7457c8;
  --neo-red: #dc2f35;
  --neo-shadow: 0 20px 55px rgba(28, 45, 76, 0.12);
}

body.neo-home,
body:not(.portal-home):not(.neo-home) {
  color: var(--neo-ink);
  background:
    radial-gradient(circle at 12% 8%, rgba(22, 163, 74, 0.12), transparent 28%),
    radial-gradient(circle at 86% 10%, rgba(116, 87, 200, 0.12), transparent 30%),
    radial-gradient(circle at 70% 82%, rgba(34, 118, 210, 0.12), transparent 34%),
    #f6f8f3;
}

.neo-home-shell {
  width: min(1480px, calc(100% - 40px));
  margin: 0 auto;
  padding: 28px 0 40px;
}

.neo-topbar,
.neo-site-header .header-inner {
  display: grid;
  grid-template-columns: auto auto minmax(280px, 1fr) auto;
  align-items: center;
  gap: 22px;
}

.neo-site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid rgba(28, 45, 76, 0.08);
  background: rgba(247, 249, 244, 0.84);
  backdrop-filter: blur(22px);
}

.neo-site-header .header-inner {
  width: min(1480px, calc(100% - 40px));
  min-height: 84px;
}

.neo-brand {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-width: 170px;
}

.neo-brand img {
  width: 58px;
  height: 76px;
  object-fit: contain;
  filter: drop-shadow(0 12px 18px rgba(14, 116, 46, 0.12));
}

.neo-brand span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.neo-brand strong {
  color: #12224a;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.04;
}

.neo-brand small {
  color: #23653a;
  font-size: 12px;
  font-weight: 800;
}

.neo-nav,
.neo-header-nav {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2vw, 32px);
  color: #141b2f;
  font-size: clamp(15px, 1vw, 18px);
  font-weight: 750;
  white-space: nowrap;
}

.neo-nav a,
.neo-header-nav a {
  border-radius: 999px;
  transition: color 0.18s ease, transform 0.18s ease;
}

.neo-nav a:hover,
.neo-header-nav a:hover {
  color: var(--neo-green);
  transform: translateY(-1px);
}

.neo-ai-search,
.neo-header-search {
  display: grid;
  grid-template-columns: 72px 36px minmax(0, 1fr);
  align-items: center;
  min-height: 46px;
  padding: 4px 16px 4px 8px;
  border: 1px solid rgba(31, 44, 69, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 14px 34px rgba(28, 45, 76, 0.08);
}

.neo-wave {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  height: 30px;
  color: var(--neo-green);
}

.neo-wave::before,
.neo-wave::after,
.neo-wave i {
  content: "";
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.34;
}

.neo-wave i:nth-child(1) { height: 10px; }
.neo-wave i:nth-child(2) { height: 22px; background: var(--neo-blue); opacity: 0.42; }
.neo-wave i:nth-child(3) { height: 12px; color: var(--neo-violet); }

.neo-ai-search b,
.neo-header-search b,
.neo-ai-link,
.neo-actions a {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #fff;
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.84), transparent 22%),
    linear-gradient(135deg, var(--neo-green), var(--neo-blue) 60%, var(--neo-violet));
  box-shadow: 0 10px 24px rgba(34, 118, 210, 0.18);
  font-size: 12px;
  font-weight: 900;
}

.neo-ai-search input,
.neo-header-search input {
  min-width: 0;
  height: 34px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--neo-ink);
  font-size: 14px;
  font-weight: 650;
}

.neo-actions,
.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.neo-actions a,
.neo-site-header .icon-button {
  border: 1px solid rgba(31, 44, 69, 0.1);
  color: #19315c;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 10px 24px rgba(28, 45, 76, 0.07);
}

.neo-actions a:first-child,
.neo-site-header .neo-ai-link {
  color: #fff;
  background: linear-gradient(135deg, var(--neo-green), var(--neo-blue) 62%, var(--neo-violet));
}

.neo-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 22px;
  align-items: stretch;
  margin: 26px 0 18px;
}

.neo-hero > div,
.neo-agent-card,
.neo-section,
.neo-chat-panel,
.neo-ai-copy,
.imported-content .imported-block,
.details-card,
.info-panel {
  border: 1px solid var(--neo-line);
  border-radius: 18px;
  background: var(--neo-panel);
  box-shadow: var(--neo-shadow);
  backdrop-filter: blur(18px);
}

.neo-hero > div {
  min-height: 230px;
  padding: clamp(26px, 3vw, 46px);
  background:
    radial-gradient(circle at 82% 20%, rgba(34, 118, 210, 0.12), transparent 34%),
    radial-gradient(circle at 12% 80%, rgba(22, 163, 74, 0.1), transparent 32%),
    rgba(255, 255, 255, 0.7);
}

.neo-kicker,
.neo-section-head p,
.eyebrow {
  margin: 0 0 10px;
  color: #277345;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.neo-hero h1 {
  max-width: 760px;
  margin: 0;
  color: #111b35;
  font-size: clamp(46px, 6vw, 98px);
  font-weight: 900;
  line-height: 0.92;
}

.neo-lead {
  max-width: 760px;
  margin: 24px 0 0;
  color: #4f5b70;
  font-size: clamp(18px, 1.7vw, 27px);
  font-weight: 650;
  line-height: 1.26;
}

.neo-agent-card {
  display: grid;
  grid-template-rows: 1fr auto auto;
  gap: 18px;
  min-height: 230px;
  padding: 24px;
  background:
    linear-gradient(145deg, rgba(22, 163, 74, 0.12), rgba(34, 118, 210, 0.08)),
    rgba(255, 255, 255, 0.76);
}

.neo-agent-visual,
.neo-ai-orbit {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 96px;
  overflow: hidden;
}

.neo-agent-visual::before,
.neo-ai-orbit::before {
  content: "";
  width: 200px;
  height: 76px;
  border-radius: 50%;
  background:
    repeating-radial-gradient(ellipse, rgba(34, 118, 210, 0.18) 0 1px, transparent 2px 14px),
    radial-gradient(ellipse, rgba(22, 163, 74, 0.22), transparent 62%);
}

.neo-agent-visual span,
.neo-ai-orbit span {
  position: absolute;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 20%, #fff, transparent 24%),
    linear-gradient(135deg, var(--neo-green), var(--neo-blue) 62%, var(--neo-violet));
  box-shadow: 0 20px 46px rgba(34, 118, 210, 0.24);
}

.neo-agent-visual i,
.neo-ai-orbit i {
  position: absolute;
  width: 250px;
  height: 38px;
  border-top: 2px solid rgba(22, 163, 74, 0.28);
  border-bottom: 2px solid rgba(116, 87, 200, 0.18);
  border-radius: 50%;
}

.neo-agent-card strong {
  font-size: 24px;
  font-weight: 900;
}

.neo-agent-card p {
  margin: 6px 0 0;
  color: var(--neo-muted);
  font-weight: 650;
}

.neo-agent-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border-radius: 12px;
  color: #fff;
  background: #14213d;
  font-weight: 850;
}

.neo-section {
  margin-top: 18px;
  padding: clamp(18px, 2.1vw, 30px);
}

.neo-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
}

.neo-section-head h2 {
  margin: 0;
  color: #111b35;
  font-size: clamp(26px, 2.7vw, 44px);
  font-weight: 900;
}

.neo-card-grid {
  display: grid;
  gap: 16px;
}

.neo-card-grid-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.neo-card-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.neo-feature-card {
  display: grid;
  grid-template-columns: minmax(120px, 0.42fr) minmax(0, 1fr);
  align-items: center;
  min-height: 116px;
  overflow: hidden;
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 16px 34px rgba(28, 45, 76, 0.08);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.neo-feature-card:hover,
.neo-feature-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(22, 163, 74, 0.28);
  box-shadow: 0 22px 48px rgba(28, 45, 76, 0.12);
}

.neo-feature-card img,
.neo-card-symbol {
  width: 100%;
  height: 116px;
  object-fit: cover;
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.94), transparent 28%),
    linear-gradient(135deg, rgba(22, 163, 74, 0.16), rgba(34, 118, 210, 0.12));
}

.neo-feature-card img {
  padding: 10px;
}

.neo-card-symbol {
  display: grid;
  place-items: center;
  color: var(--neo-blue);
  font-size: 56px;
  font-weight: 900;
}

.neo-feature-card span:last-child {
  display: grid;
  gap: 7px;
  padding: 18px 22px;
}

.neo-feature-card strong {
  color: #101a34;
  font-size: clamp(21px, 1.7vw, 30px);
  font-weight: 900;
  line-height: 1.02;
}

.neo-feature-card small {
  color: #4f5d72;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.22;
}

.neo-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.neo-dashboard-grid a {
  display: grid;
  gap: 8px;
  min-height: 112px;
  padding: 18px;
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.74);
}

.neo-dashboard-grid strong {
  color: #12224a;
  font-size: clamp(22px, 2vw, 34px);
  font-weight: 900;
}

.neo-dashboard-grid span {
  color: var(--neo-muted);
  font-weight: 750;
}

.page-shell {
  width: min(1480px, calc(100% - 40px));
  padding: 34px 0 72px;
}

.section {
  margin-bottom: 0;
}

.imported-head {
  max-width: 980px;
  margin-bottom: 22px;
}

.imported-head h1,
.neo-ai-copy h1 {
  max-width: 1000px;
  margin: 0;
  color: #111b35;
  font-size: clamp(42px, 4.8vw, 76px);
  font-weight: 900;
  line-height: 0.96;
}

.lead,
.imported-head .lead {
  max-width: 920px;
  color: #566174;
  font-size: clamp(17px, 1.4vw, 22px);
  font-weight: 650;
  line-height: 1.34;
}

.imported-source-row,
.content-stat-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.imported-source-row span,
.imported-source-row a,
.content-stat-strip span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(31, 44, 69, 0.09);
  border-radius: 999px;
  color: #344057;
  background: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 750;
}

.content-stat-strip strong {
  color: var(--neo-green);
  font-size: 18px;
}

.imported-content .imported-block {
  margin-top: 20px;
  padding: clamp(18px, 2vw, 28px);
}

.imported-block h2,
.details-card h2,
.info-panel h2 {
  margin: 0 0 16px;
  color: #111b35;
  font-size: clamp(24px, 2vw, 34px);
  font-weight: 900;
}

.imported-category-grid,
.imported-card-grid,
.doctor-grid,
.directory-grid,
.education-group-grid,
.details-grid,
.payment-layout {
  display: grid;
  gap: 14px;
}

.imported-category-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.imported-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.doctor-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.directory-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.education-group-grid,
.details-grid,
.payment-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.imported-category,
.imported-card,
.doctor-card,
.directory-card,
.education-group-card,
.details-card {
  min-width: 0;
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.75);
  box-shadow: 0 14px 32px rgba(28, 45, 76, 0.07);
}

.imported-category,
.education-group-card,
.details-card {
  padding: 18px;
}

.imported-category {
  display: grid;
  gap: 18px;
}

.imported-category span,
.imported-card-meta,
.doctor-card span,
.directory-rating,
.education-group-card span {
  color: #287344;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.imported-card,
.doctor-card {
  display: grid;
  overflow: hidden;
}

.imported-card-media,
.doctor-card-photo,
.directory-logo {
  overflow: hidden;
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.96), transparent 32%),
    linear-gradient(135deg, rgba(22, 163, 74, 0.12), rgba(34, 118, 210, 0.12));
}

.imported-card-media {
  aspect-ratio: 16 / 9;
}

.imported-card-media img,
.doctor-card-photo img,
.directory-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.imported-card > :not(.imported-card-media),
.doctor-card > :not(.doctor-card-photo) {
  margin-left: 18px;
  margin-right: 18px;
}

.imported-card-meta,
.doctor-card span {
  margin-top: 16px;
}

.imported-card h3,
.doctor-card h3,
.directory-card h3,
.education-group-card h3,
.imported-category strong {
  margin: 6px 0 8px;
  color: #111b35;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.1;
}

.imported-card p,
.doctor-card p,
.education-group-card li,
.directory-card p,
.details-card,
.info-panel {
  color: #566174;
  font-weight: 650;
}

.imported-card p,
.doctor-card p {
  display: -webkit-box;
  overflow: hidden;
  margin-bottom: 18px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.directory-card {
  padding: 16px;
}

.directory-card-top {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.directory-logo {
  width: 64px;
  height: 64px;
  border-radius: 14px;
}

.institution-meta,
.document-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.institution-meta a,
.document-links a {
  padding: 8px 10px;
  border-radius: 999px;
  color: #173761;
  background: rgba(34, 118, 210, 0.08);
  font-size: 13px;
  font-weight: 800;
}

.details-list div {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(31, 44, 69, 0.08);
}

.details-list dt {
  color: #277345;
  font-weight: 900;
}

.details-list dd {
  margin: 0;
}

.neo-ai-shell {
  padding-top: 48px;
}

.neo-ai-workspace {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
  gap: 22px;
  align-items: stretch;
}

.neo-ai-copy,
.neo-chat-panel {
  padding: clamp(22px, 3vw, 42px);
}

.neo-ai-copy {
  display: grid;
  align-content: start;
  gap: 18px;
}

.neo-ai-orbit {
  min-height: 260px;
}

.neo-chat-panel {
  display: grid;
  grid-template-rows: minmax(320px, 1fr) auto;
  min-height: 620px;
}

.chat-window {
  display: grid;
  align-content: start;
  gap: 10px;
  overflow: auto;
  min-height: 280px;
  padding: 14px;
  border: 1px solid rgba(31, 44, 69, 0.09);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.66);
}

.message {
  max-width: 82%;
  padding: 12px 14px;
  border-radius: 14px;
  color: #1d2741;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 24px rgba(28, 45, 76, 0.06);
}

.message.user {
  justify-self: end;
  color: #fff;
  background: linear-gradient(135deg, #173761, #2276d2);
}

.message.bot {
  background: rgba(231, 247, 236, 0.9);
}

.message.system {
  color: #596479;
}

.neo-chat-form {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.chat-input,
.input-line {
  width: 100%;
  border: 1px solid rgba(31, 44, 69, 0.1);
  border-radius: 14px;
  outline: 0;
  background: rgba(255, 255, 255, 0.82);
  color: var(--neo-ink);
}

.chat-input {
  min-height: 112px;
  padding: 14px;
  resize: vertical;
}

.primary-button,
.secondary-button {
  border-radius: 12px;
  font-weight: 850;
}

.primary-button {
  background: linear-gradient(135deg, #17213d, #2276d2) !important;
}

.secondary-button {
  color: #173761;
  background: rgba(255, 255, 255, 0.82);
}

.assistant-launcher {
  background: linear-gradient(135deg, var(--neo-green), var(--neo-blue) 62%, var(--neo-violet));
}

.assistant-launcher img,
.assistant-head-title img {
  display: none !important;
}

@media (max-width: 1050px) {
  .neo-topbar,
  .neo-site-header .header-inner,
  .neo-hero,
  .neo-ai-workspace {
    grid-template-columns: 1fr;
  }

  .neo-nav,
  .neo-header-nav {
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .neo-card-grid-two,
  .neo-card-grid-three,
  .neo-dashboard-grid,
  .imported-category-grid,
  .imported-card-grid,
  .doctor-grid,
  .directory-grid,
  .education-group-grid,
  .details-grid,
  .payment-layout {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  .neo-home-shell,
  .neo-site-header .header-inner,
  .page-shell {
    width: min(100% - 24px, 1480px);
  }

  .neo-ai-search,
  .neo-header-search {
    grid-template-columns: 42px 32px minmax(0, 1fr);
  }

  .neo-wave {
    display: none;
  }

  .neo-card-grid-two,
  .neo-card-grid-three,
  .neo-dashboard-grid,
  .imported-category-grid,
  .imported-card-grid,
  .doctor-grid,
  .directory-grid,
  .education-group-grid,
  .details-grid,
  .payment-layout,
  .neo-ai-workspace {
    grid-template-columns: 1fr;
  }

  .neo-feature-card {
    grid-template-columns: 104px minmax(0, 1fr);
  }

  .neo-feature-card img,
  .neo-card-symbol {
    height: 104px;
  }

  .details-list div {
    grid-template-columns: 1fr;
  }
}

/* Product home iteration: dense portal, not a presentation mockup. */
body.neo-product-home {
  min-height: 100vh;
  overflow-x: hidden;
  color: #10182f;
  background:
    radial-gradient(circle at 8% 14%, rgba(42, 164, 80, 0.14), transparent 26%),
    radial-gradient(circle at 88% 8%, rgba(87, 93, 191, 0.12), transparent 28%),
    linear-gradient(180deg, #f7f9f4 0%, #eef5f2 100%);
}

.neo-product-shell {
  width: min(1560px, calc(100% - 40px));
  margin: 0 auto;
  padding: 22px 0 32px;
}

.neo-product-topbar {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  min-height: 74px;
}

.neo-product-brand {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.neo-product-brand img {
  width: 52px;
  height: 68px;
  object-fit: contain;
}

.neo-product-brand span {
  display: grid;
  gap: 2px;
}

.neo-product-brand strong {
  color: #122047;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.05;
}

.neo-product-brand small {
  color: #23653a;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.1;
}

.neo-product-nav {
  display: flex;
  gap: clamp(14px, 1.8vw, 28px);
  align-items: center;
  white-space: nowrap;
}

.neo-product-nav a {
  color: #151c31;
  font-size: 16px;
  font-weight: 850;
}

.neo-login-button {
  display: grid;
  place-items: center;
  min-width: 96px;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(31, 44, 69, 0.12);
  border-radius: 999px;
  color: #10182f;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 24px rgba(23, 35, 62, 0.06);
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.neo-login-button:hover,
.neo-login-button:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(24, 168, 79, 0.32);
  background: #fff;
}

.neo-login-button.is-compact {
  min-width: 78px;
  min-height: 38px;
  padding: 0 14px;
}

.neo-product-search {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 36px;
  align-items: center;
  min-height: 44px;
  padding: 4px 6px 4px 8px;
  border: 1px solid rgba(31, 44, 69, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 24px rgba(23, 35, 62, 0.06);
}

.neo-signal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: #3ba56b;
}

.neo-signal::before,
.neo-signal::after,
.neo-signal i {
  content: "";
  width: 16px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.35;
}

.neo-signal i:nth-child(1) {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}

.neo-signal i:nth-child(2) {
  width: 8px;
  height: 23px;
  background: #78a2ef;
  opacity: 0.7;
}

.neo-signal i:nth-child(3) {
  width: 8px;
  height: 18px;
  background: #9c94d6;
  opacity: 0.72;
}

.neo-product-search b,
.neo-ai-field b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #18a84f, #2477d4 62%, #7258c6);
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(36, 119, 212, 0.18);
}

.neo-product-search input {
  min-width: 0;
  height: 34px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #10182f;
  font-size: 14px;
  font-weight: 700;
}

.neo-ai-dot,
.neo-search-dot {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(36, 119, 212, 0.2);
  border-radius: 50%;
  color: #2477d4;
  background: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  font-weight: 950;
}

.neo-search-dot {
  color: #287744;
  font-size: 15px;
}

.neo-ai-submit,
.neo-search-submit {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: #142247;
  font-size: 17px;
  font-weight: 900;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.18s ease;
}

.neo-ai-submit:hover,
.neo-ai-submit:focus-visible,
.neo-search-submit:hover,
.neo-search-submit:focus-visible {
  transform: translateY(-1px);
  background: #2477d4;
}

.neo-product-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  align-items: start;
  margin-top: 18px;
}

.neo-command-center,
.neo-side-console > section {
  border: 1px solid rgba(31, 44, 69, 0.1);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 18px 48px rgba(23, 35, 62, 0.1);
  backdrop-filter: blur(18px);
}

.neo-command-center {
  padding: 22px;
}

.neo-command-head {
  display: block;
  align-items: start;
  padding: 4px 4px 18px;
  border-bottom: 1px solid rgba(31, 44, 69, 0.08);
}

.neo-command-head p,
.neo-route-title {
  margin: 0 0 8px;
  color: #287744;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.neo-command-head h1 {
  max-width: 760px;
  margin: 0;
  color: #10182f;
  font-size: clamp(30px, 3vw, 48px);
  font-weight: 950;
  line-height: 1.02;
}

.neo-command-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.neo-command-tags span {
  padding: 8px 11px;
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 999px;
  color: #315b42;
  background: rgba(247, 251, 248, 0.92);
  font-size: 12px;
  font-weight: 850;
}

.neo-route-groups {
  display: grid;
  gap: 18px;
  padding-top: 18px;
}

.neo-route-group {
  display: grid;
  gap: 10px;
}

.neo-route-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}

.neo-route-title span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #18a84f;
  box-shadow: 0 0 0 6px rgba(24, 168, 79, 0.1);
}

.neo-route-title .neo-route-emblem {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border: 1px solid rgba(40, 119, 68, 0.22);
  border-radius: 50%;
  color: #287744;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 6px 18px rgba(40, 119, 68, 0.1);
}

.neo-route-title .neo-route-emblem svg {
  width: 15px;
  height: 15px;
}

.neo-route-title .neo-route-emblem path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.neo-route-title h2 {
  margin: 0;
  color: #287744;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
}

.neo-route-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.neo-route-grid.is-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.neo-route-card {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  align-items: center;
  min-height: 104px;
  overflow: hidden;
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 12px 30px rgba(23, 35, 62, 0.07);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.neo-route-card:hover,
.neo-route-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(24, 168, 79, 0.28);
  box-shadow: 0 18px 38px rgba(23, 35, 62, 0.11);
}

.neo-route-card img,
.neo-route-icon {
  width: 128px;
  height: 104px;
  object-fit: cover;
  background:
    radial-gradient(circle at 25% 20%, rgba(255, 255, 255, 0.95), transparent 32%),
    linear-gradient(135deg, rgba(24, 168, 79, 0.12), rgba(36, 119, 212, 0.1));
}

.neo-route-card img {
  padding: 9px;
}

.neo-route-icon {
  display: grid;
  place-items: center;
  color: #2477d4;
  font-size: 44px;
  font-weight: 900;
}

.neo-route-card span:last-child {
  display: grid;
  gap: 5px;
  padding: 16px;
}

.neo-route-card strong {
  color: #111a34;
  font-size: clamp(20px, 1.4vw, 25px);
  font-weight: 950;
  line-height: 1.05;
}

.neo-route-card small {
  color: #5b6678;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
}

.neo-side-console {
  display: grid;
  gap: 14px;
}

.neo-side-console > section {
  padding: 18px;
}

.neo-ai-console {
  display: grid;
  gap: 14px;
  min-height: 270px;
  background:
    radial-gradient(circle at 78% 18%, rgba(36, 119, 212, 0.14), transparent 34%),
    radial-gradient(circle at 12% 88%, rgba(24, 168, 79, 0.12), transparent 32%),
    rgba(255, 255, 255, 0.82) !important;
}

.neo-ai-field {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 96px;
  overflow: hidden;
}

.neo-ai-field span {
  width: 220px;
  height: 58px;
  border-radius: 50%;
  background:
    repeating-radial-gradient(ellipse, rgba(36, 119, 212, 0.2) 0 1px, transparent 2px 13px),
    radial-gradient(ellipse, rgba(24, 168, 79, 0.18), transparent 58%);
}

.neo-ai-field i {
  position: absolute;
  width: 260px;
  height: 30px;
  border-top: 2px solid rgba(24, 168, 79, 0.24);
  border-bottom: 2px solid rgba(114, 88, 198, 0.2);
  border-radius: 50%;
}

.neo-ai-field b {
  position: absolute;
  width: 56px;
  height: 56px;
  font-size: 15px;
}

.neo-ai-console h2,
.neo-today-panel h2 {
  margin: 0;
  color: #10182f;
  font-size: 24px;
  font-weight: 950;
}

.neo-ai-console p {
  margin: 0;
  color: #5b6678;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.35;
}

.neo-ai-console a {
  display: grid;
  place-items: center;
  min-height: 44px;
  border-radius: 12px;
  color: #fff;
  background: #142247;
  font-weight: 900;
}

.neo-today-panel {
  display: grid;
  gap: 10px;
}

.neo-today-panel a {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.68);
}

.neo-today-panel span,
.neo-contact-panel span {
  color: #287744;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.neo-today-panel strong {
  color: #10182f;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.22;
}

.neo-contact-panel {
  display: grid;
  gap: 6px;
}

.neo-contact-panel a {
  color: #142247;
  font-size: 20px;
  font-weight: 950;
}

@media (max-width: 1180px) {
  .neo-product-topbar,
  .neo-product-grid,
  .neo-command-head {
    grid-template-columns: 1fr;
  }

  .neo-product-nav {
    overflow-x: auto;
    padding-bottom: 4px;
  }
}

@media (max-width: 820px) {
  .neo-product-shell {
    width: min(100% - 24px, 1560px);
    padding-top: 12px;
  }

  .neo-route-grid,
  .neo-route-grid.is-three {
    grid-template-columns: 1fr;
  }

  .neo-route-card {
    grid-template-columns: 104px minmax(0, 1fr);
  }

  .neo-route-card img,
  .neo-route-icon {
    width: 104px;
  }

  .neo-product-search {
    grid-template-columns: 34px minmax(0, 1fr) 36px;
  }

  .neo-product-search .neo-signal {
    display: none;
  }
}

.neo-site-header .neo-header-search {
  grid-template-columns: 34px minmax(0, 1fr) 36px;
  padding: 4px 6px 4px 8px;
  box-shadow: 0 10px 24px rgba(23, 35, 62, 0.05);
}

/* Modern assistant widget: compact launcher, chat opens in-place. */
.assistant-launcher {
  position: fixed;
  right: clamp(18px, 2vw, 32px) !important;
  bottom: clamp(18px, 2vw, 32px) !important;
  z-index: 120;
  display: flex !important;
  align-items: center;
  gap: 10px;
  width: auto !important;
  min-width: 178px;
  height: 56px !important;
  padding: 8px 15px 8px 10px !important;
  border: 1px solid rgba(31, 44, 69, 0.12) !important;
  border-radius: 999px !important;
  color: #10182f;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 18px 48px rgba(23, 35, 62, 0.16) !important;
  backdrop-filter: blur(18px);
}

.assistant-launcher::before,
.assistant-launcher::after {
  display: none !important;
}

.assistant-launcher-copy {
  display: grid;
  gap: 1px;
  text-align: left;
}

.assistant-launcher-copy strong {
  color: #10182f;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
}

.assistant-launcher-copy small {
  color: #5b6678;
  font-size: 11px;
  font-weight: 750;
  line-height: 1;
}

.assistant-drawer {
  position: fixed;
  right: clamp(18px, 2vw, 32px);
  bottom: calc(clamp(18px, 2vw, 32px) + 72px);
  z-index: 119;
  width: min(390px, calc(100vw - 28px));
  overflow: hidden;
  border: 1px solid rgba(31, 44, 69, 0.12);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(16, 24, 47, 0.22);
  backdrop-filter: blur(18px);
}

.assistant-head {
  padding: 14px 15px;
  border-bottom: 1px solid rgba(31, 44, 69, 0.1);
  color: #10182f;
  background: #fff;
}

.assistant-head h2 {
  color: #10182f;
  font-size: 17px;
  font-weight: 950;
}

.assistant-head p {
  color: #5b6678;
  font-size: 12px;
  font-weight: 750;
}

.assistant-head .icon-button {
  width: 34px;
  height: 34px;
  border-radius: 8px;
}

.assistant-body {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: #fff;
}

.assistant-suggestions {
  gap: 7px;
}

.assistant-suggestions .chip-button {
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  color: #315b42;
  background: #f6faf7;
  font-size: 12px;
  font-weight: 800;
}

.assistant-messages {
  min-height: 216px;
  max-height: 310px;
  padding: 12px;
  border: 0;
  border-radius: 10px;
  background: #f5f7f6;
}

.assistant-messages .message {
  max-width: 86%;
  padding: 10px 12px;
  border-radius: 10px;
  box-shadow: none;
  font-size: 13px;
  line-height: 1.35;
}

.assistant-messages .message.user {
  align-self: flex-end;
  background: #142247;
}

.assistant-messages .message.bot {
  background: #eaf7ef;
}

.assistant-messages .message.system {
  color: #5b6678;
  background: transparent;
}

.assistant-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 8px;
  align-items: end;
  padding-top: 10px;
  border-top: 1px solid rgba(31, 44, 69, 0.1);
}

.assistant-form .input-line {
  min-height: 44px;
  max-height: 112px;
  padding: 11px 12px;
  border-radius: 10px;
  resize: vertical;
}

.assistant-form .primary-button {
  display: grid;
  place-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border-radius: 10px;
  font-size: 18px;
}

.assistant-page-link,
.assistant-teaser-bubble {
  display: none !important;
}

@media (max-width: 640px) {
  .assistant-launcher {
    right: 14px !important;
    bottom: 14px !important;
    min-width: 164px;
  }

  .assistant-drawer {
    right: 14px;
    bottom: 84px;
    width: calc(100vw - 28px);
  }
}

/* Homepage concept: virtual assistant as the main product surface. */
body.neo-product-home {
  color: #10182f;
  background:
    linear-gradient(90deg, rgba(231, 245, 238, 0.9) 0%, rgba(245, 250, 251, 0.94) 36%, rgba(239, 246, 251, 0.9) 100%),
    repeating-linear-gradient(0deg, rgba(22, 35, 58, 0.025) 0 1px, transparent 1px 18px),
    #f5faf8;
}

body.neo-product-home .assistant-launcher,
body.neo-product-home .assistant-drawer {
  display: none !important;
}

body.neo-product-home .neo-product-shell {
  width: min(1720px, calc(100% - 40px));
  padding: 8px 0 36px;
}

body.neo-product-home .neo-product-topbar {
  grid-template-columns: auto minmax(0, 1fr) auto;
  justify-content: stretch;
  column-gap: clamp(24px, 3vw, 56px);
  min-height: 58px;
}

body.neo-product-home .neo-product-brand {
  grid-template-columns: 48px minmax(0, 1fr);
}

body.neo-product-home .neo-product-brand img {
  width: 46px;
  height: 58px;
}

body.neo-product-home .neo-product-brand strong {
  color: #10204a;
  font-size: 16px;
}

body.neo-product-home .neo-product-brand small {
  color: #28643c;
  font-size: 12px;
}

body.neo-product-home .neo-product-nav {
  gap: clamp(18px, 2vw, 34px);
}

body.neo-product-home .neo-product-nav a {
  position: relative;
  color: #121b32;
  font-size: 16px;
}

body.neo-product-home .neo-product-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 2px;
  border-radius: 999px;
  background: #28a36a;
  opacity: 0;
  transform: scaleX(0.6);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

body.neo-product-home .neo-product-nav a:hover::after,
body.neo-product-home .neo-product-nav a:focus-visible::after {
  opacity: 1;
  transform: scaleX(1);
}

body.neo-product-home .neo-login-button {
  justify-self: end;
  margin-left: 0;
  border-radius: 999px;
  background: #fff;
}

body.neo-product-home .neo-product-grid {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
  gap: 22px;
  margin-top: 8px;
}

body.neo-product-home .neo-command-center,
body.neo-product-home .neo-side-console > section {
  border: 1px solid rgba(26, 42, 67, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 22px 60px rgba(21, 39, 64, 0.09);
  backdrop-filter: blur(18px);
}

body.neo-product-home .neo-command-center {
  overflow: hidden;
  padding: 0;
}

.advisor-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(520px, 1fr) minmax(330px, 0.5fr);
  gap: clamp(18px, 1.8vw, 28px) clamp(22px, 2vw, 34px);
  align-items: start;
  padding: clamp(28px, 2.7vw, 48px);
  border-bottom: 1px solid rgba(26, 42, 67, 0.08);
  background:
    radial-gradient(circle at 6% 10%, rgba(40, 163, 106, 0.08), transparent 26%),
    radial-gradient(circle at 94% 18%, rgba(47, 111, 159, 0.08), transparent 28%),
    linear-gradient(135deg, rgba(249, 253, 251, 0.98), rgba(247, 251, 253, 0.98));
}

.advisor-hero::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: min(620px, 42%);
  height: 100%;
  pointer-events: none;
  opacity: 0.3;
  background:
    radial-gradient(circle at 72% 12%, rgba(101, 184, 190, 0.42) 0 3px, transparent 4px),
    radial-gradient(circle at 91% 24%, rgba(134, 198, 207, 0.38) 0 4px, transparent 5px),
    radial-gradient(circle at 63% 35%, rgba(94, 176, 179, 0.34) 0 3px, transparent 4px),
    radial-gradient(circle at 83% 48%, rgba(58, 162, 122, 0.34) 0 4px, transparent 5px),
    radial-gradient(circle at 55% 61%, rgba(112, 190, 196, 0.28) 0 3px, transparent 4px),
    radial-gradient(circle at 77% 73%, rgba(88, 171, 188, 0.38) 0 4px, transparent 5px),
    radial-gradient(circle at 94% 82%, rgba(51, 152, 122, 0.28) 0 3px, transparent 4px),
    linear-gradient(31deg, transparent 0 48%, rgba(93, 171, 180, 0.16) 49% 50%, transparent 51%),
    linear-gradient(147deg, transparent 0 44%, rgba(93, 171, 180, 0.13) 45% 46%, transparent 47%),
    linear-gradient(95deg, transparent 0 56%, rgba(93, 171, 180, 0.1) 57% 58%, transparent 59%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 100%);
}

.advisor-left,
.advisor-right {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: start;
  min-width: 0;
}

.advisor-left {
  gap: clamp(18px, 1.8vw, 28px);
}

.advisor-right {
  gap: clamp(18px, 1.8vw, 28px);
}

.advisor-copy {
  grid-area: auto;
  align-self: start;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-width: 0;
  position: relative;
  z-index: 1;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.advisor-kicker {
  margin: 0 0 10px;
  color: #287744;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.advisor-kicker span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #28a36a;
  box-shadow: 0 0 0 5px rgba(40, 163, 106, 0.12);
}

.advisor-copy h1 {
  max-width: 760px;
  margin: 0;
  color: #10182f;
  font-size: clamp(40px, 2.85vw, 64px);
  font-weight: 950;
  line-height: 0.98;
}

.advisor-subtitle {
  max-width: 720px !important;
  margin: 14px 0 0 !important;
  color: #10182f !important;
  font-size: clamp(18px, 1.24vw, 23px) !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

.advisor-copy > p {
  max-width: 620px;
  margin: 14px 0 0;
  color: #59677a;
  font-size: clamp(15px, 1vw, 18px);
  font-weight: 750;
  line-height: 1.42;
}

.advisor-flow {
  grid-area: auto;
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.4vw, 24px);
  align-self: start;
  margin: 0;
  padding: 8px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.advisor-flow span {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 10px;
  align-items: center;
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #234056;
  background: transparent;
  text-align: center;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.15;
}

.advisor-flow span b {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border: 0;
  border-radius: 18px;
  color: #287744;
  background: transparent;
  box-shadow: none;
}

.advisor-flow span b::before {
  content: "";
  display: block;
  width: 76px;
  height: 76px;
  background: var(--advisor-flow-icon) center / contain no-repeat;
}

.advisor-flow .is-documents {
  --advisor-flow-icon: url("/assets/generated/advisor-flow-icons/documents-3d.png?v=1");
}

.advisor-flow .is-facts {
  --advisor-flow-icon: url("/assets/generated/advisor-flow-icons/facts-3d.png?v=1");
}

.advisor-flow .is-questions {
  --advisor-flow-icon: url("/assets/generated/advisor-flow-icons/question-3d.png?v=1");
}

.advisor-flow .is-steps {
  --advisor-flow-icon: url("/assets/generated/advisor-flow-icons/steps-3d.png?v=1");
}

/*
.advisor-flow span b::before {
  font-size: 24px;
  font-weight: 950;
  line-height: 1;
}

.advisor-flow .is-documents b::before {
  content: "▤";
  color: #2f6f9f;
}

.advisor-flow .is-facts b::before {
  content: "☷";
}

.advisor-flow .is-questions b::before {
  content: "?";
  color: #2f6f9f;
}

.advisor-flow .is-steps b::before {
  content: "✓";
  color: #2f6f9f;
}
*/

.advisor-flow span:not(:last-child)::after {
  content: "→";
  position: absolute;
  right: calc(-0.7 * clamp(14px, 1.4vw, 24px));
  top: 34px;
  color: #28a36a;
  font-size: 20px;
  font-weight: 950;
}

.advisor-intake {
  grid-area: auto;
  position: relative;
  z-index: 1;
  align-self: start;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(240px, 0.76fr);
  grid-template-areas:
    "tabs tabs"
    "input upload"
    "actions actions";
  grid-template-rows: 56px 168px 68px;
  gap: 12px;
  min-width: 0;
  padding: 0;
  border: 1px solid rgba(26, 42, 67, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 42px rgba(21, 39, 64, 0.08);
}

.advisor-tabs {
  grid-area: tabs;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-bottom: 1px solid rgba(26, 42, 67, 0.1);
  border-radius: 8px 8px 0 0;
  background: #fff;
  height: 56px;
}

.advisor-tabs button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  height: 56px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #566277;
  background: transparent;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
}

.advisor-tabs button::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background: var(--advisor-tab-icon) center / contain no-repeat;
}

.advisor-tabs [data-advisor-tab="question"] {
  --advisor-tab-icon: url("/assets/generated/advisor-icons/pencil-green.png?v=1");
}

.advisor-tabs [data-advisor-tab="documents"] {
  --advisor-tab-icon: url("/assets/generated/advisor-icons/doc-muted.png?v=1");
}

.advisor-tabs button + button {
  border-left: 1px solid rgba(26, 42, 67, 0.08);
}

.advisor-tabs button.is-active {
  color: #10204a;
  background: #fff;
  box-shadow: none;
}

.advisor-tabs button.is-active::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: #2fa36c;
}

.advisor-input {
  grid-area: input;
  position: relative;
  display: grid;
  gap: 7px;
  padding-left: 10px;
}

.advisor-input span {
  color: #287744;
  font-size: 12px;
  font-weight: 950;
}

.advisor-input textarea {
  height: 168px;
  min-height: 168px;
  max-height: 168px;
  padding: 20px 18px 30px;
  border: 1px solid rgba(26, 42, 67, 0.12);
  border-radius: 8px;
  color: #10182f;
  background: #fbfdfd;
  resize: vertical;
  outline: 0;
  font-size: 15px;
  line-height: 1.35;
}

.advisor-input small {
  position: absolute;
  right: 14px;
  bottom: 8px;
  color: #98a1ae;
  font-size: 11px;
  font-weight: 800;
}

.advisor-input textarea:focus {
  border-color: rgba(40, 163, 106, 0.48);
  box-shadow: 0 0 0 4px rgba(40, 163, 106, 0.1);
}

.advisor-upload {
  grid-area: upload;
  position: relative;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 8px;
  height: 168px;
  min-height: 168px;
  padding: 18px;
  border: 1px solid rgba(36, 119, 150, 0.18);
  border-radius: 8px;
  color: #10204a;
  background: #f8fbfb;
  text-align: center;
  cursor: pointer;
  margin-right: 10px;
}

.advisor-upload:hover {
  border-color: rgba(40, 163, 106, 0.58);
  background:
    linear-gradient(135deg, rgba(231, 248, 240, 0.9), rgba(233, 246, 252, 0.96));
}

.advisor-upload input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}

.advisor-upload-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 52px;
  border: 0;
  border-radius: 0;
  background: url("/assets/generated/advisor-icons/folder-green.png?v=1") center / contain no-repeat;
}

.advisor-upload-icon::before {
  display: none;
}

.advisor-upload strong {
  min-width: 0;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.15;
}

.advisor-upload small {
  min-width: 0;
  color: #647084;
  font-size: 11px;
  font-weight: 750;
}

.advisor-file-types {
  display: flex;
  gap: 6px;
  margin-top: 0;
}

.advisor-file-types em {
  padding: 3px 8px;
  border-radius: 999px;
  color: #526173;
  background: #eef4f5;
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
}

.advisor-actions {
  grid-area: actions;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.65fr);
  gap: 12px;
  align-items: center;
  padding: 9px 12px 12px;
  padding-top: 2px;
  height: 68px;
}

.advisor-primary,
.advisor-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  height: 50px;
  padding: 0 18px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.1;
}

.advisor-primary::before,
.advisor-secondary::before {
  content: "";
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  background: var(--advisor-action-icon) center / contain no-repeat;
}

.advisor-primary {
  --advisor-action-icon: url("/assets/generated/advisor-icons/doc-white.png?v=1");
  border: 0;
  color: #fff;
  background: #d86d4f;
  box-shadow: 0 12px 26px rgba(216, 109, 79, 0.22);
  cursor: pointer;
}

.advisor-primary:hover,
.advisor-primary:focus-visible {
  background: #c85f43;
}

.advisor-secondary {
  --advisor-action-icon: url("/assets/generated/advisor-icons/book-green.png?v=1");
  border: 1px solid rgba(26, 42, 67, 0.1);
  color: #287744;
  background: #fff;
}

.advisor-safe-note {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 20px 0 0 !important;
  padding-top: 0;
  color: #697486;
  font-size: 14px;
  font-weight: 800;
}

.advisor-safe-note span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 0;
  background: url("/assets/generated/advisor-icons/shield-green.png?v=1") center / contain no-repeat;
}

.advisor-safe-note span::before {
  display: none;
}

.advisor-note-preview {
  grid-area: auto;
  position: relative;
  align-self: start;
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
  min-height: 0;
  padding: 22px;
  overflow: hidden;
  border: 1px solid rgba(26, 42, 67, 0.1);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 250, 249, 0.92)),
    repeating-linear-gradient(0deg, transparent 0 18px, rgba(36, 119, 150, 0.05) 18px 19px);
}

.advisor-note-preview::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0 36%, rgba(40, 163, 106, 0.06) 36% 37%, transparent 37%),
    linear-gradient(180deg, rgba(36, 119, 150, 0.08), transparent 34%);
}

.advisor-note-head,
.advisor-note-preview dl {
  position: relative;
  z-index: 1;
}

.advisor-note-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 11px;
}

.advisor-note-head > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: #e9f7f1;
}

.advisor-note-head > span::before {
  content: "";
  width: 22px;
  height: 26px;
  border: 2px solid #28a36a;
  border-radius: 5px;
  background:
    linear-gradient(#24779a, #24779a) 5px 8px / 10px 2px no-repeat,
    linear-gradient(#24779a, #24779a) 5px 14px / 14px 2px no-repeat;
}

.advisor-note-head strong {
  display: block;
  color: #10204a;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.05;
}

.advisor-note-head small {
  display: inline-grid;
  place-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  color: #2f6f9f;
  background: #eef6fb;
  font-size: 11px;
  font-weight: 950;
}

.advisor-note-preview dl {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 0;
}

.advisor-note-preview dl div {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 4px 12px;
  align-items: center;
  min-height: 58px;
  padding: 9px 12px;
  border: 1px solid rgba(26, 42, 67, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.8);
}

.advisor-note-preview dl div::before {
  content: "";
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  color: #287744;
  background: #eef9f4 var(--advisor-note-icon) center / 19px 19px no-repeat;
  font-size: 16px;
  font-weight: 950;
}

.advisor-note-preview dl div:nth-child(1)::before {
  --advisor-note-icon: url("/assets/generated/advisor-icons/doc-blue.png?v=1");
}

.advisor-note-preview dl div:nth-child(2)::before {
  --advisor-note-icon: url("/assets/generated/advisor-icons/list-green.png?v=1");
}

.advisor-note-preview dl div:nth-child(3)::before {
  --advisor-note-icon: url("/assets/generated/advisor-icons/question-blue.png?v=1");
}

.advisor-note-preview dl div:nth-child(4)::before {
  --advisor-note-icon: url("/assets/generated/advisor-icons/plus-doc-green.png?v=1");
  color: #2f6f9f;
  background: #eef6fb var(--advisor-note-icon) center / 19px 19px no-repeat;
}

.advisor-note-preview dt {
  color: #287744;
  font-size: 12px;
  font-weight: 950;
}

.advisor-note-preview dd {
  margin: 0;
  color: #667085;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.3;
}

.advisor-note-foot {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #697486;
  font-size: 11px;
  font-weight: 800;
}

.advisor-note-foot span {
  width: 16px;
  height: 16px;
  border: 0;
  border-radius: 0;
  background: url("/assets/generated/advisor-icons/shield-green.png?v=1") center / contain no-repeat;
}

.advisor-note-foot::after {
  content: "";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-left: auto;
  background: url("/assets/generated/advisor-icons/lock-dark.png?v=1") center / contain no-repeat;
}

body.neo-product-home .neo-route-groups {
  gap: 18px;
  padding: clamp(18px, 2vw, 26px);
}

body.neo-product-home .neo-route-title {
  color: #287744;
}

body.neo-product-home .neo-route-title .neo-route-emblem {
  width: 38px;
  height: 38px;
  border: 0;
  background: var(--section-title-icon) center / contain no-repeat;
}

body.neo-product-home .neo-route-title .neo-route-emblem svg {
  display: none;
}

body.neo-product-home #medicine .neo-route-title .neo-route-emblem {
  --section-title-icon: url("/assets/generated/section-title-icons/medicine-3d.png?v=1");
}

body.neo-product-home #knowledge .neo-route-title .neo-route-emblem {
  --section-title-icon: url("/assets/generated/section-title-icons/education-3d.png?v=1");
}

body.neo-product-home #support .neo-route-title .neo-route-emblem {
  --section-title-icon: url("/assets/generated/section-title-icons/support-3d.png?v=1");
}

body.neo-product-home .neo-route-title h2 {
  color: #287744;
  font-size: 14px;
}

body.neo-product-home .neo-route-grid {
  gap: 12px;
}

body.neo-product-home .neo-route-card {
  position: relative;
  grid-template-columns: 136px minmax(0, 1fr);
  min-height: 122px;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(21, 39, 64, 0.06);
}

body.neo-product-home .neo-route-card::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  color: #5f6b7e;
  opacity: 0.7;
  transform: translateY(-50%) rotate(45deg);
  transition: right 0.18s ease, color 0.18s ease, opacity 0.18s ease;
}

body.neo-product-home .neo-route-card:hover::after,
body.neo-product-home .neo-route-card:focus-visible::after {
  right: 15px;
  color: #287744;
  opacity: 1;
}

body.neo-product-home .neo-route-card-icon {
  display: grid;
  place-items: center;
  align-self: stretch;
  width: 136px;
  height: 100%;
  min-height: 122px;
  border-right: 1px solid rgba(26, 42, 67, 0.06);
  border-radius: 8px 0 0 8px;
  color: var(--route-icon-color, #287744);
  background:
    var(--route-card-art) center / cover no-repeat,
    linear-gradient(135deg, var(--route-icon-bg-start, #f1faf5), var(--route-icon-bg-end, #eef8fb));
}

body.neo-product-home .neo-route-card-icon svg {
  display: none;
}

body.neo-product-home .neo-route-card-icon svg * {
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.neo-product-home .neo-route-card-icon.is-specialist,
body.neo-product-home .neo-route-card-icon.is-rehab,
body.neo-product-home .neo-route-card-icon.is-library {
  --route-icon-color: #2b9a71;
  --route-icon-bg-start: #f0fbf6;
  --route-icon-bg-end: #eaf6f3;
}

body.neo-product-home .neo-route-card-icon.is-specialist {
  --route-card-art: url("/assets/generated/section-emblems/specialists.png?v=2");
}

body.neo-product-home .neo-route-card-icon.is-rehab {
  --route-card-art: url("/assets/generated/section-emblems/rehabilitation.png?v=2");
}

body.neo-product-home .neo-route-card-icon.is-library {
  --route-card-art: url("/assets/generated/section-emblems/library.png?v=2");
}

body.neo-product-home .neo-route-card-icon.is-webinar,
body.neo-product-home .neo-route-card-icon.is-podcast {
  --route-icon-color: #278693;
  --route-icon-bg-start: #eefaf8;
  --route-icon-bg-end: #edf6fb;
}

body.neo-product-home .neo-route-card-icon.is-webinar {
  --route-card-art: url("/assets/generated/section-emblems/webinars.png?v=2");
}

body.neo-product-home .neo-route-card-icon.is-podcast {
  --route-card-art: url("/assets/generated/section-emblems/podcasts.png?v=2");
}

body.neo-product-home .neo-route-card-icon.is-methods,
body.neo-product-home .neo-route-card-icon.is-institution,
body.neo-product-home .neo-route-card-icon.is-equipment {
  --route-icon-color: #2f6f9f;
  --route-icon-bg-start: #f0f8fb;
  --route-icon-bg-end: #eef5fb;
}

body.neo-product-home .neo-route-card-icon.is-methods {
  --route-card-art: url("/assets/generated/section-emblems/methods-real.png?v=1");
}

body.neo-product-home .neo-route-card-icon.is-institution {
  --route-card-art: url("/assets/generated/section-emblems/institutions.png?v=2");
}

body.neo-product-home .neo-route-card-icon.is-equipment {
  --route-card-art: url("/assets/generated/section-emblems/equipment-real.png?v=1");
}

body.neo-product-home .neo-route-card-icon.is-psych {
  --route-icon-color: #bd675a;
  --route-icon-bg-start: #fff7f4;
  --route-icon-bg-end: #f6f8f3;
  --route-card-art: url("/assets/generated/section-emblems/psychological-support.png?v=2");
}

body.neo-product-home .neo-route-card-icon.is-legal {
  --route-icon-color: #a97823;
  --route-icon-bg-start: #fff9ee;
  --route-icon-bg-end: #f8f4ea;
  --route-card-art: url("/assets/generated/section-emblems/legal-support.png?v=2");
}

body.neo-product-home .neo-route-card img,
body.neo-product-home .neo-route-icon {
  width: 94px;
  height: 92px;
}

body.neo-product-home .neo-route-card img {
  padding: 12px;
  object-fit: contain;
}

body.neo-product-home .neo-route-icon {
  color: #24779a;
  font-size: 34px;
  background:
    linear-gradient(135deg, rgba(232, 248, 241, 0.9), rgba(235, 247, 252, 0.92));
}

body.neo-product-home .neo-route-card span:last-child {
  padding: 15px 42px 15px 18px;
}

body.neo-product-home .neo-route-card strong {
  font-size: clamp(17px, 1.2vw, 22px);
  line-height: 1.08;
}

body.neo-product-home .neo-route-card small {
  color: #606b7c;
  font-size: 12px;
  line-height: 1.18;
}

body.neo-product-home .neo-side-console {
  gap: 14px;
}

body.neo-product-home .neo-side-console > section {
  padding: 18px;
}

body.neo-product-home .neo-today-panel {
  gap: 14px;
}

body.neo-product-home .neo-today-panel h2,
.advisor-side-card h2 {
  margin: 0;
  color: #10182f;
  font-size: 25px;
  font-weight: 950;
  line-height: 1.05;
}

.neo-today-head {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 28px;
  gap: 11px;
  align-items: center;
}

.neo-today-head h2 {
  font-size: 22px !important;
}

.neo-today-head > a {
  position: relative;
  width: 28px;
  height: 28px;
  border-radius: 50%;
}

.neo-today-head > a::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 7px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #10182f;
  border-right: 2px solid #10182f;
  transform: rotate(45deg);
}

.neo-today-head-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(40, 119, 68, 0.18);
  border-radius: 50%;
  color: #287744;
  background: #f4fbf7;
}

.neo-today-head-icon::before {
  content: "";
  width: 13px;
  height: 15px;
  border: 2px solid currentColor;
  border-radius: 3px;
  background:
    linear-gradient(currentColor, currentColor) 4px 4px / 5px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 4px 9px / 5px 2px no-repeat;
}

body.neo-product-home .neo-today-panel .neo-material-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 54px;
  gap: 12px;
  align-items: center;
  min-height: 94px;
  padding: 15px 14px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(21, 39, 64, 0.04);
}

body.neo-product-home .neo-material-card span {
  display: grid;
  gap: 6px;
}

body.neo-product-home .neo-material-card b {
  color: #287744;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
}

body.neo-product-home .neo-material-card strong {
  color: #10182f;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.25;
}

.neo-material-card i {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 8px;
  background: #f4f8fb;
}

.neo-material-card i::before,
.neo-material-card i::after {
  content: "";
  display: block;
}

.neo-material-card.is-document i::before {
  width: 20px;
  height: 25px;
  border: 2px solid #2f6f9f;
  border-radius: 3px;
  background:
    linear-gradient(#2f6f9f, #2f6f9f) 5px 8px / 10px 2px no-repeat,
    linear-gradient(#2f6f9f, #2f6f9f) 5px 14px / 8px 2px no-repeat;
}

.neo-material-card.is-lungs i::before {
  width: 28px;
  height: 30px;
  background:
    radial-gradient(ellipse at 34% 60%, transparent 0 8px, #2f6f9f 9px 10px, transparent 11px),
    radial-gradient(ellipse at 66% 60%, transparent 0 8px, #2f6f9f 9px 10px, transparent 11px),
    linear-gradient(#2f6f9f, #2f6f9f) 50% 3px / 2px 22px no-repeat;
}

.neo-material-card.is-person i {
  background: #fff6f4;
}

.neo-material-card.is-person i::before {
  width: 26px;
  height: 28px;
  border: 2px solid #c96f5d;
  border-top: 0;
  border-radius: 0 0 13px 13px;
  background:
    radial-gradient(circle at 50% 5px, transparent 0 5px, #c96f5d 6px 7px, transparent 8px);
}

.advisor-side-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  gap: 14px;
  align-items: center;
  min-height: 156px;
  overflow: hidden;
  background:
    linear-gradient(160deg, rgba(255, 255, 255, 0.95), rgba(237, 249, 244, 0.92)) !important;
}

.advisor-side-card::after {
  content: "";
  position: absolute;
  right: -36px;
  bottom: -34px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: rgba(68, 180, 105, 0.08);
}

.advisor-side-copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 7px;
}

.advisor-shield {
  display: grid;
  place-items: center;
  width: 30px;
  height: 35px;
  color: #fff;
  background: #39b96f;
  clip-path: polygon(50% 0, 88% 16%, 82% 68%, 50% 100%, 18% 68%, 12% 16%);
}

.advisor-shield::before {
  content: "";
  width: 15px;
  height: 8px;
  border-left: 3px solid currentColor;
  border-bottom: 3px solid currentColor;
  transform: translateY(-2px) rotate(-45deg);
}

.advisor-side-card h2 {
  max-width: 230px;
  font-size: 16px;
  line-height: 1.18;
}

.advisor-side-card p {
  max-width: 260px;
  margin: 0;
  color: #647084;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.36;
}

.advisor-side-card a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  min-height: 28px;
  border-radius: 0;
  color: #2e8f55;
  background: transparent;
  font-size: 13px;
  font-weight: 950;
}

.advisor-side-card a::after {
  content: "›";
  font-size: 18px;
  line-height: 1;
}

.advisor-folder-lock {
  position: relative;
  z-index: 1;
  display: block;
  width: 94px;
  height: 70px;
  border-radius: 8px 14px 14px 14px;
  background: linear-gradient(180deg, #5fc47d, #bdeec8);
  box-shadow: 0 18px 34px rgba(46, 143, 85, 0.16);
}

.advisor-folder-lock::before {
  content: "";
  position: absolute;
  left: 0;
  top: -16px;
  width: 50px;
  height: 22px;
  border-radius: 10px 10px 0 0;
  background: #54bd74;
}

.advisor-folder-lock::after {
  content: "";
  position: absolute;
  left: 34px;
  top: 28px;
  width: 30px;
  height: 26px;
  border: 3px solid #1f6542;
  border-radius: 7px;
  background:
    radial-gradient(circle at 50% 52%, #1f6542 0 3px, transparent 4px),
    linear-gradient(#1f6542, #1f6542) 50% 60% / 3px 9px no-repeat,
    rgba(255, 255, 255, 0.55);
}

.advisor-folder-lock b {
  display: none;
}

.advisor-side-card > span:not(.advisor-folder-lock) {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #28a36a, #24779a);
  font-size: 12px;
  font-weight: 950;
}

.advisor-side-image-card {
  display: block;
  overflow: hidden;
  border: 1px solid rgba(26, 42, 67, 0.1);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(21, 39, 64, 0.09);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.advisor-side-image-card:hover,
.advisor-side-image-card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 26px 66px rgba(21, 39, 64, 0.13);
}

.advisor-side-image-card img {
  display: block;
  width: 100%;
  height: auto;
}

.advisor-float-anchor {
  position: fixed;
  right: clamp(18px, 2vw, 32px);
  bottom: clamp(18px, 2vw, 32px);
  z-index: 90;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 8px 18px 8px 8px;
  border: 1px solid rgba(26, 42, 67, 0.12);
  border-radius: 999px;
  color: #10182f;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 42px rgba(21, 39, 64, 0.16);
  backdrop-filter: blur(14px);
  transform: translateY(0) scale(1);
  transform-origin: right bottom;
  opacity: 1;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.advisor-float-anchor span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #28a36a, #24779a);
  font-size: 14px;
  font-weight: 950;
}

.advisor-float-anchor strong {
  font-size: 14px;
  font-weight: 950;
  line-height: 1.1;
  white-space: nowrap;
}

.advisor-float-anchor.is-hidden {
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transform: translateY(18px) scale(0.96);
}

@media (max-width: 1800px) {
  .advisor-hero {
    grid-template-columns: minmax(500px, 1fr) minmax(330px, 0.48fr);
  }

  .advisor-note-preview dl {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1500px) {
  .advisor-hero {
    grid-template-columns: minmax(500px, 1fr) minmax(320px, 0.48fr);
  }

  .advisor-note-preview dl {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1180px) {
  body.neo-product-home .neo-product-grid {
    grid-template-columns: 1fr;
  }

  body.neo-product-home .neo-side-console {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.52fr);
  }
}

@media (max-width: 920px) {
  .advisor-hero {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "flow"
      "form"
      "note";
  }

  .advisor-left,
  .advisor-right {
    display: contents;
  }

  .advisor-copy {
    grid-area: copy;
  }

  .advisor-flow {
    grid-area: flow;
  }

  .advisor-intake {
    grid-area: form;
  }

  .advisor-note-preview {
    grid-area: note;
  }

  body.neo-product-home .neo-side-console {
    grid-template-columns: 1fr;
  }

  .advisor-flow {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .advisor-intake {
    grid-template-columns: 1fr;
    grid-template-areas:
      "tabs"
      "input"
      "upload"
      "actions";
  }

  .advisor-input,
  .advisor-upload {
    margin: 0 12px;
    padding-left: 0;
  }

  .advisor-note-preview dl {
    grid-template-columns: 1fr;
  }

  .advisor-actions {
    grid-template-columns: 1fr;
  }

  .advisor-secondary {
    min-height: 40px;
  }
}

/* v322: approved photo-led personal-account dialog. */
.dashboard-login-dialog {
  grid-template-columns: minmax(440px, 0.92fr) minmax(520px, 1.08fr);
  width: min(1260px, calc(100vw - 48px));
  max-width: none;
  height: min(760px, calc(100dvh - 48px));
  min-height: min(760px, calc(100dvh - 48px));
  max-height: calc(100dvh - 48px);
  border-radius: 26px;
}

.dashboard-login-intro {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 22px;
  padding: 38px 38px 34px;
  background: #edf6f0;
}

.dashboard-login-intro::after {
  display: none;
}

.dashboard-login-brand {
  position: relative;
  z-index: 2;
  gap: 16px;
}

.dashboard-login-brand img {
  width: 76px;
  height: 90px;
}

.dashboard-login-brand strong {
  font-size: 28px;
}

.dashboard-login-brand small {
  font-size: 12px;
}

.dashboard-login-visual {
  position: relative;
  min-height: 0;
  margin: -10px -38px -8px;
  overflow: hidden;
}

.dashboard-login-visual::before,
.dashboard-login-visual::after {
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.dashboard-login-visual::before {
  inset: 0;
  background:
    linear-gradient(180deg, #edf6f0 0%, transparent 14%, transparent 83%, #edf6f0 100%),
    linear-gradient(90deg, #edf6f0 0%, transparent 10%, transparent 90%, #edf6f0 100%);
}

.dashboard-login-visual::after {
  inset: auto 0 0;
  height: 32%;
  background: linear-gradient(180deg, transparent, rgba(237, 246, 240, 0.96));
}

.dashboard-login-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 390px;
  object-fit: cover;
  object-position: 39% 58%;
  transform: scale(1.28);
  transform-origin: 38% 66%;
}

.dashboard-login-intro-caption {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 58px;
  color: #0b1b38;
}

.dashboard-login-intro-caption > span {
  display: grid;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  place-items: center;
  border-radius: 50%;
  color: #23834d;
  background: rgba(35, 131, 77, 0.08);
}

.dashboard-login-caption-icon {
  width: 31px;
  height: 31px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dashboard-login-intro-caption strong {
  font-size: 17px;
  font-weight: 750;
}

.dashboard-login-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 64px clamp(52px, 5.2vw, 76px) 50px;
}

.dashboard-login-heading {
  padding-right: 42px;
}

.dashboard-login-heading > span {
  font-size: 12px;
  letter-spacing: 0.11em;
}

.dashboard-login-heading h2 {
  max-width: 620px;
  margin-top: 18px;
  font-size: clamp(46px, 4.2vw, 62px);
  line-height: 0.96;
}

.dashboard-login-heading p {
  margin-top: 18px;
  font-size: 15px;
}

.dashboard-login-tabs {
  margin-top: 48px;
}

.dashboard-login-field {
  min-height: 58px;
  padding: 0 18px;
  border-radius: 10px;
}

.dashboard-login-field input {
  font-size: 15px;
}

.dashboard-login-submit {
  min-height: 58px;
  border-radius: 10px;
  font-size: 16px;
}

.dashboard-login-signup {
  margin-top: 24px;
}

@media (max-width: 1040px) {
  .dashboard-login-dialog {
    grid-template-columns: minmax(340px, 0.85fr) minmax(480px, 1.15fr);
  }

  .dashboard-login-intro {
    padding-right: 28px;
    padding-left: 28px;
  }

  .dashboard-login-visual {
    margin-right: -28px;
    margin-left: -28px;
  }

  .dashboard-login-panel {
    padding-right: 42px;
    padding-left: 42px;
  }
}

@media (max-width: 840px) {
  .dashboard-login-dialog {
    display: block;
    width: min(560px, 100%);
    height: auto;
    min-height: 0;
    max-height: calc(100dvh - 12px);
  }

  .dashboard-login-intro {
    display: none;
  }

  .dashboard-login-panel {
    display: block;
    padding: 36px 30px 28px;
  }

  .dashboard-login-heading h2 {
    font-size: 40px;
  }

  .dashboard-login-tabs {
    margin-top: 26px;
  }
}

@media (max-height: 760px) and (min-width: 841px) {
  .dashboard-login-dialog {
    height: calc(100dvh - 48px);
    min-height: 0;
  }

  .dashboard-login-intro {
    padding-top: 26px;
    padding-bottom: 24px;
  }

  .dashboard-login-brand img {
    width: 62px;
    height: 74px;
  }

  .dashboard-login-brand strong {
    font-size: 24px;
  }

  .dashboard-login-visual img {
    min-height: 300px;
  }

  .dashboard-login-panel {
    justify-content: flex-start;
    padding-top: 36px;
    padding-bottom: 30px;
  }

  .dashboard-login-heading h2 {
    font-size: 46px;
  }

  .dashboard-login-tabs {
    margin-top: 28px;
  }
}

/* v324: quiet auth form, balanced photo crop and hidden registration scrollbar. */
.dashboard-login-intro {
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 18px !important;
  padding-bottom: 0 !important;
}

.dashboard-login-visual {
  margin: -8px -38px 0 !important;
}

.dashboard-login-visual img {
  object-position: 42% 58% !important;
  transform: translateX(7%) scale(1.03) !important;
  transform-origin: 50% 60% !important;
}

.dashboard-login-intro-caption,
.dashboard-login-heading {
  display: none !important;
}

.dashboard-login-panel {
  justify-content: center !important;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.dashboard-login-panel::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.dashboard-login-tabs {
  margin-top: 0 !important;
}

@media (max-width: 1040px) {
  .dashboard-login-visual {
    margin-right: -28px !important;
    margin-left: -28px !important;
  }
}

@media (max-width: 840px) {
  .dashboard-login-tabs {
    margin-top: 0;
  }
}

@media (max-height: 760px) and (min-width: 841px) {
  .dashboard-login-intro {
    padding-bottom: 0 !important;
  }

  .dashboard-login-panel {
    justify-content: center !important;
  }

  .dashboard-login-tabs {
    margin-top: 0 !important;
  }
}

@media (max-width: 820px) {
  body.neo-product-home .neo-product-shell {
    width: min(100% - 24px, 1720px);
  }

  body.neo-product-home .neo-product-topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 12px;
  }

  body.neo-product-home .neo-product-brand {
    grid-template-columns: 50px minmax(0, 1fr);
  }

  body.neo-product-home .neo-product-brand img {
    width: 48px;
    height: 62px;
  }

  body.neo-product-home .neo-product-brand strong {
    font-size: 14px;
  }

  body.neo-product-home .neo-product-brand small {
    font-size: 11px;
  }

  body.neo-product-home .neo-product-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    gap: 12px;
    overflow-x: auto;
    padding: 2px 0 8px;
  }

  body.neo-product-home .neo-product-nav a {
    font-size: 15px;
  }

  body.neo-product-home .neo-login-button {
    grid-column: 2;
    grid-row: 1;
    margin-left: 0;
    min-width: 78px;
    min-height: 38px;
    padding: 0 14px;
  }

  .advisor-hero {
    padding: 18px;
  }

  .advisor-copy {
    padding: 0;
  }

  .advisor-copy h1 {
    font-size: clamp(27px, 7.4vw, 36px);
  }

  body.neo-product-home .neo-route-card {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  body.neo-product-home .neo-route-card-icon {
    width: 96px;
    min-height: 92px;
    background-size: cover, auto;
  }

  body.neo-product-home .neo-route-card-icon svg {
    width: 46px;
    height: 46px;
  }

  body.neo-product-home .neo-route-card img,
  body.neo-product-home .neo-route-icon {
    width: 82px;
    height: 92px;
  }

  .advisor-float-anchor {
    display: none;
  }
}

@media (max-width: 560px) {
  .advisor-tabs {
    grid-template-columns: 1fr;
  }

  .advisor-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .advisor-flow span:not(:last-child)::after {
    display: none;
  }

  .advisor-note-preview dl {
    grid-template-columns: 1fr;
  }

  .advisor-upload {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .advisor-float-anchor strong {
    display: none;
  }
}

/* Footer matching the original portal structure, restyled for the new interface. */
.neo-portal-footer {
  position: relative;
  margin-top: clamp(18px, 2.6vw, 34px);
  padding: 22px 0 30px;
  overflow: hidden;
  border-top: 1px solid rgba(31, 44, 69, 0.06);
  background:
    radial-gradient(circle at 8% 20%, rgba(40, 163, 106, 0.12), transparent 30%),
    radial-gradient(circle at 92% 8%, rgba(47, 111, 159, 0.1), transparent 28%),
    linear-gradient(180deg, rgba(247, 252, 250, 0.94), rgba(240, 247, 250, 0.92));
}

.neo-portal-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto auto;
  width: min(620px, 52vw);
  height: 100%;
  pointer-events: none;
  opacity: 0.34;
  background:
    radial-gradient(circle at 22% 18%, rgba(101, 184, 190, 0.38) 0 3px, transparent 4px),
    radial-gradient(circle at 55% 28%, rgba(58, 162, 122, 0.32) 0 4px, transparent 5px),
    radial-gradient(circle at 79% 42%, rgba(88, 171, 188, 0.34) 0 3px, transparent 4px),
    radial-gradient(circle at 36% 66%, rgba(112, 190, 196, 0.28) 0 3px, transparent 4px),
    radial-gradient(circle at 88% 74%, rgba(51, 152, 122, 0.26) 0 4px, transparent 5px),
    linear-gradient(32deg, transparent 0 48%, rgba(93, 171, 180, 0.16) 49% 50%, transparent 51%),
    linear-gradient(146deg, transparent 0 44%, rgba(93, 171, 180, 0.12) 45% 46%, transparent 47%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 24%, #000 100%);
}

.neo-footer-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(250px, 0.34fr) minmax(0, 1fr);
  grid-template-areas:
    "brand main"
    "bottom bottom";
  gap: 14px;
  width: min(1360px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(14px, 1.6vw, 22px);
  border: 1px solid rgba(31, 44, 69, 0.09);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 24px 70px rgba(21, 39, 64, 0.08);
  backdrop-filter: blur(16px);
}

.neo-footer-brand {
  grid-area: brand;
  align-self: start;
  padding: 16px;
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 8px;
  background:
    linear-gradient(150deg, rgba(255, 255, 255, 0.92), rgba(239, 249, 244, 0.78));
}

.neo-footer-brand a {
  display: inline-grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.neo-footer-brand img {
  width: 62px;
  height: 70px;
  object-fit: contain;
}

.neo-footer-brand span {
  display: grid;
  gap: 4px;
}

.neo-footer-brand strong {
  color: #128b34;
  font-size: clamp(19px, 1.55vw, 27px);
  font-weight: 950;
  line-height: 1;
}

.neo-footer-brand small {
  color: #287744;
  font-size: clamp(13px, 0.95vw, 16px);
  font-weight: 900;
  line-height: 1.08;
}

.neo-footer-main {
  grid-area: main;
  display: grid;
  grid-template-columns: minmax(360px, 1.2fr) minmax(220px, 0.68fr) minmax(230px, 0.68fr);
  gap: 12px;
  align-items: start;
}

.neo-footer-nav {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
}

.neo-footer-nav h2 {
  margin: 0 0 2px;
  color: #10182f;
  font-size: 16px;
  font-weight: 950;
}

.neo-footer-nav.is-about h2 {
  color: #128b34;
}

.neo-footer-nav a,
.neo-footer-contact a,
.neo-footer-bottom {
  color: #1c2539;
  font-size: 15px;
  font-weight: 700;
}

.neo-footer-nav a {
  display: flex;
  align-items: center;
  min-height: 30px;
  width: 100%;
  padding: 6px 9px;
  border: 1px solid rgba(31, 44, 69, 0.07);
  border-radius: 8px;
  background: rgba(248, 252, 250, 0.82);
  transition: color 0.18s ease, transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.neo-footer-nav a:hover,
.neo-footer-nav a:focus-visible,
.neo-footer-contact a:hover,
.neo-footer-contact a:focus-visible {
  color: #128b34;
  border-color: rgba(40, 163, 106, 0.24);
  background: #fff;
  transform: translateX(2px);
}

.neo-footer-nav:not(.is-about) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.neo-footer-nav:not(.is-about) h2 {
  grid-column: 1 / -1;
}

.neo-footer-contact {
  display: grid;
  align-content: center;
  gap: 10px;
  min-height: 142px;
  padding: 16px;
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 8px;
  background:
    linear-gradient(150deg, rgba(255, 255, 255, 0.88), rgba(239, 249, 244, 0.8));
}

.neo-footer-contact::before {
  content: "Связь с порталом";
  color: #287744;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.neo-footer-contact a {
  display: flex;
  align-items: center;
  min-height: 42px;
  width: fit-content;
  padding: 0 13px;
  border: 1px solid rgba(40, 163, 106, 0.18);
  border-radius: 999px;
  color: #10182f;
  background: #fff;
  font-size: 16px;
  font-weight: 900;
}

.neo-footer-bottom {
  grid-area: bottom;
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 8px;
  color: #10182f;
  font-size: 13px;
  background: rgba(255, 255, 255, 0.7);
}

@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) {
  .neo-footer-inner,
  .neo-footer-brand a,
  .neo-footer-main {
    grid-template-columns: 1fr;
  }

  .neo-footer-inner {
    grid-template-areas:
      "brand"
      "main"
      "bottom";
  }

  .neo-footer-brand img {
    width: 64px;
    height: 72px;
  }

  .neo-footer-contact {
    min-height: auto;
  }

  .neo-footer-nav:not(.is-about) {
    grid-template-columns: 1fr;
  }
}

/* Dashboard home inspired by the provided medical portal reference. */
body.portal-dashboard-home {
  min-height: 100vh;
  overflow-x: hidden;
  color: #13213c;
  background:
    linear-gradient(180deg, #f9fcff 0%, #eef8fb 52%, #f7fbff 100%);
}

.portal-dashboard-home button,
.portal-dashboard-home input {
  font-family: inherit;
}

.dashboard-shell {
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr) 312px;
  gap: 18px;
  width: min(100%, 1580px);
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 18px 22px 0;
}

.dashboard-sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100vh;
  min-width: 0;
  padding: 18px 12px;
  border: 1px solid rgba(202, 219, 232, 0.78);
  border-left: 0;
  border-radius: 0 8px 8px 0;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 14px 0 42px rgba(44, 77, 105, 0.08);
  backdrop-filter: blur(18px);
}

.dashboard-logo {
  display: grid;
  place-items: center;
  min-height: 74px;
}

.dashboard-logo img {
  width: 84px;
  height: 84px;
  object-fit: contain;
}

.dashboard-nav {
  display: grid;
  gap: 5px;
}

.dashboard-nav a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 10px;
  border-radius: 8px;
  color: #58708f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.15;
  transition: color 0.18s ease, background 0.18s ease;
}

.dashboard-nav a::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 8px;
  bottom: 8px;
  width: 4px;
  border-radius: 0 999px 999px 0;
  background: #11b978;
  opacity: 0;
}

.dashboard-nav a:hover,
.dashboard-nav a:focus-visible,
.dashboard-nav a.is-active {
  color: #0a9a60;
  background: linear-gradient(90deg, rgba(20, 194, 133, 0.13), rgba(20, 194, 133, 0.04));
}

.dashboard-nav a.is-active::before {
  opacity: 1;
}

.dashboard-nav span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  color: #416999;
  font-size: 16px;
}

.dashboard-help {
  border: 1px solid rgba(202, 219, 232, 0.74);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 12px 32px rgba(44, 77, 105, 0.07);
}

.dashboard-quick h2 {
  margin: 0 0 10px;
  color: #13213c;
  font-size: 13px;
  font-weight: 900;
}

.dashboard-help {
  display: grid;
  gap: 5px;
  margin-top: auto;
  padding: 12px;
  color: #13213c;
}

.dashboard-help span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #0a9a60;
  background: #e9f9f1;
  font-weight: 900;
}

.dashboard-help strong {
  font-size: 12px;
}

.dashboard-help small {
  color: #26609d;
  font-size: 11px;
  font-weight: 800;
}

.dashboard-main {
  min-width: 0;
  padding-top: 18px;
}

.dashboard-topbar {
  display: grid;
  grid-template-columns: minmax(250px, 1fr) auto auto;
  align-items: center;
  gap: 16px;
  min-height: 74px;
  margin-bottom: 10px;
}

.dashboard-title h1 {
  margin: 0;
  min-width: 0;
  color: #13213c;
  font-size: 24px;
  line-height: 1.1;
}

.dashboard-title p {
  margin: 4px 0 0;
  color: #687c9a;
  font-size: 13px;
  font-weight: 700;
}

.dashboard-cluster,
.dashboard-ai-status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid rgba(202, 219, 232, 0.82);
  border-radius: 999px;
  color: #687c9a;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 10px 24px rgba(44, 77, 105, 0.07);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.dashboard-cluster span,
.dashboard-ai-status span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0fb878;
  box-shadow: 0 0 0 5px rgba(15, 184, 120, 0.12);
}

.dashboard-cluster b,
.dashboard-ai-status b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 20px;
  border-radius: 6px;
  color: #0f3f79;
  background: #e6f4ff;
  font-size: 11px;
}

.dashboard-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.dashboard-icon-button,
.dashboard-profile {
  border: 1px solid rgba(202, 219, 232, 0.82);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 24px rgba(44, 77, 105, 0.07);
}

.dashboard-icon-button {
  position: relative;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #142748;
  cursor: pointer;
  overflow: visible;
  text-decoration: none;
}

.dashboard-icon-button img {
  display: block;
  width: 19px;
  height: 19px;
  object-fit: contain;
  pointer-events: none;
}

.dashboard-icon-button--notify img {
  width: 20px;
  height: 22px;
}

.dashboard-icon-button b {
  position: absolute;
  top: -5px;
  right: -3px;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.96);
  border-radius: 50%;
  color: #fff;
  background: #f2333d;
  font-size: 11px;
  line-height: 1;
}

.dashboard-profile {
  display: grid;
  grid-template-columns: 36px auto;
  grid-template-rows: auto auto;
  column-gap: 9px;
  align-items: center;
  min-height: 46px;
  padding: 5px 12px 5px 6px;
  border-radius: 999px;
  color: #13213c;
  cursor: pointer;
}

.dashboard-profile span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #18bf83, #1aa7db);
  font-size: 12px;
  font-weight: 900;
}

.dashboard-profile strong,
.dashboard-profile small {
  line-height: 1.1;
}

.dashboard-profile strong {
  font-size: 12px;
}

.dashboard-profile small {
  color: #6d7f99;
  font-size: 11px;
}

.dashboard-search {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: min(650px, calc(100% - 34px));
  min-height: 58px;
  margin: 0 auto -24px;
  padding: 8px 10px 8px 18px;
  border: 1px solid rgba(202, 219, 232, 0.92);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 48px rgba(44, 77, 105, 0.12);
  backdrop-filter: blur(18px);
}

.dashboard-search span {
  color: #315d94;
  font-size: 20px;
}

.dashboard-search input {
  min-width: 0;
  border: 0;
  outline: 0;
  color: #13213c;
  background: transparent;
  font-size: 15px;
  font-weight: 700;
}

.dashboard-search button,
.dashboard-ai-form button {
  min-height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(135deg, #0cb974, #08a7d2);
  box-shadow: 0 12px 24px rgba(0, 158, 133, 0.24);
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
}

.dashboard-map-card {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border: 1px solid rgba(202, 219, 232, 0.68);
  border-radius: 8px;
  background: #eff9fd;
  box-shadow: 0 24px 70px rgba(44, 77, 105, 0.12);
}

.dashboard-map-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.dashboard-map-copy {
  position: absolute;
  left: 50%;
  top: 41%;
  z-index: 2;
  width: 280px;
  transform: translate(-50%, -50%);
  text-align: center;
}

.dashboard-map-copy p,
.dashboard-map-copy h2 {
  margin: 0;
  color: #142748;
}

.dashboard-map-copy p {
  font-size: 19px;
  font-weight: 950;
}

.dashboard-map-copy h2 {
  margin-top: 8px;
  color: #526b8d;
  font-size: 12px;
  line-height: 1.25;
}

.dashboard-hotspot {
  position: absolute;
  z-index: 3;
  display: grid;
  gap: 2px;
  max-width: 178px;
  padding: 10px 12px;
  border: 1px solid rgba(202, 219, 232, 0.74);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 16px 38px rgba(44, 77, 105, 0.12);
  backdrop-filter: blur(14px);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.dashboard-hotspot:hover,
.dashboard-hotspot:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 22px 54px rgba(44, 77, 105, 0.18);
}

.dashboard-hotspot strong {
  color: #13213c;
  font-size: 12px;
  line-height: 1.1;
}

.dashboard-hotspot small {
  display: -webkit-box;
  overflow: hidden;
  color: #6b7e99;
  font-size: 10px;
  line-height: 1.2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.hotspot-library {
  left: 11%;
  top: 24%;
}

.hotspot-rehab {
  left: 7%;
  top: 52%;
}

.hotspot-legal {
  left: 20%;
  bottom: 13%;
}

.hotspot-doctors {
  right: 14%;
  top: 23%;
}

.hotspot-equipment {
  right: 6%;
  top: 52%;
}

.hotspot-education {
  right: 18%;
  bottom: 13%;
}

.dashboard-strip,
.dashboard-panel,
.dashboard-ai-card,
.dashboard-quick {
  min-width: 0;
  border: 1px solid rgba(202, 219, 232, 0.72);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 50px rgba(44, 77, 105, 0.09);
  backdrop-filter: blur(18px);
}

.dashboard-strip {
  margin-top: 12px;
  padding: 14px 16px 16px;
}

.dashboard-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.dashboard-section-head h2 {
  margin: 0;
  color: #13213c;
  font-size: 17px;
  line-height: 1.2;
}

.dashboard-section-head a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid rgba(202, 219, 232, 0.74);
  border-radius: 999px;
  color: #26609d;
  background: #fff;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.dashboard-materials {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.dashboard-material-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 86px;
  grid-template-rows: auto 1fr auto;
  gap: 4px 10px;
  min-height: 118px;
  overflow: hidden;
  padding: 12px;
  border: 1px solid rgba(202, 219, 232, 0.68);
  border-radius: 8px;
  background: linear-gradient(135deg, #fff, #f7fcff);
  transition: border-color 0.18s ease, transform 0.18s ease;
}

.dashboard-material-card:hover,
.dashboard-mini-card:hover,
.dashboard-doctor-card:hover {
  border-color: rgba(15, 184, 120, 0.42);
  transform: translateY(-2px);
}

.dashboard-material-card span {
  color: #0a9a60;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.dashboard-material-card h3 {
  display: -webkit-box;
  max-height: 48px;
  margin: 0;
  overflow: hidden;
  color: #13213c;
  font-size: 13px;
  line-height: 1.2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.dashboard-material-card p {
  margin: 0;
  color: #7788a3;
  font-size: 11px;
  font-weight: 800;
}

.dashboard-material-image {
  grid-column: 2;
  grid-row: 1 / 4;
  width: 86px;
  height: 86px;
  overflow: hidden;
  align-self: center;
  border-radius: 8px;
  background: #eaf4fb;
}

.dashboard-material-image img,
.dashboard-mini-image img,
.dashboard-doctor-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dashboard-lower-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: start;
  gap: 14px;
  margin-top: 14px;
}

.dashboard-panel {
  padding: 14px;
}

.dashboard-mini-grid,
.dashboard-specialists {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.dashboard-mini-card,
.dashboard-doctor-card {
  display: grid;
  align-content: start;
  gap: 5px;
  min-height: 132px;
  padding: 10px;
  border: 1px solid rgba(202, 219, 232, 0.68);
  border-radius: 8px;
  background: linear-gradient(135deg, #fff, #f8fcff);
  transition: border-color 0.18s ease, transform 0.18s ease;
}

.dashboard-mini-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  color: #0a9a60;
  background: #e9f9f1;
  font-size: 19px;
}

.dashboard-mini-image {
  width: 48px;
  height: 42px;
  overflow: hidden;
  border-radius: 8px;
  background: #eaf4fb;
}

.dashboard-mini-card small {
  color: #58708f;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.dashboard-mini-card strong {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: #13213c;
  font-size: 13px;
  line-height: 1.18;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.dashboard-mini-card p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: #5b6f8f;
  font-size: 11px;
  line-height: 1.24;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.dashboard-doctor-card {
  justify-items: center;
  text-align: center;
}

.dashboard-doctor-photo {
  width: 74px;
  height: 64px;
  overflow: hidden;
  border-radius: 8px;
  background: #eaf4fb;
}

.dashboard-doctor-card strong {
  color: #13213c;
  font-size: 12px;
  line-height: 1.15;
}

.dashboard-doctor-card small {
  display: -webkit-box;
  overflow: hidden;
  color: #637895;
  font-size: 10px;
  line-height: 1.18;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.dashboard-ai {
  position: sticky;
  top: 0;
  align-self: start;
  display: grid;
  gap: 16px;
  min-width: 0;
  padding-top: 126px;
}

.dashboard-ai-card {
  padding: 16px;
}

.dashboard-ai-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.dashboard-ai-head h2 {
  margin: 0;
  color: #0a9a60;
  font-size: 18px;
}

.dashboard-ai-head div {
  display: flex;
  gap: 4px;
}

.dashboard-ai-head button {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  color: #6a7b91;
  background: transparent;
  cursor: pointer;
  font-size: 18px;
}

.dashboard-ai-card p {
  margin: 0 0 8px;
  color: #5b6f8f;
  font-size: 13px;
}

.dashboard-ai-card p strong {
  color: #13213c;
}

.dashboard-ai-actions {
  display: grid;
  gap: 10px;
  margin: 16px 0 14px;
}

.dashboard-ai-actions a {
  min-height: 56px;
  padding: 13px 14px;
  border: 1px solid rgba(202, 219, 232, 0.74);
  border-radius: 8px;
  color: #244066;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 10px 24px rgba(44, 77, 105, 0.06);
  font-size: 13px;
  font-weight: 800;
}

.dashboard-ai-form {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.dashboard-ai-form input {
  min-height: 48px;
  min-width: 0;
  padding: 0 14px;
  border: 1px solid rgba(202, 219, 232, 0.82);
  border-radius: 8px;
  outline: 0;
  color: #13213c;
  background: #fff;
}

.dashboard-ai-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 12px 0;
  border-radius: 8px;
  color: #26609d;
  background: #f1f7ff;
  font-size: 13px;
  font-weight: 900;
}

.dashboard-ai-status {
  justify-content: center;
  width: 100%;
  box-shadow: none;
}

.dashboard-robot {
  justify-self: center;
  display: grid;
  place-items: center;
  width: 78px;
  height: 78px;
  padding: 0;
  border: 1px solid rgba(125, 212, 223, 0.74);
  border-radius: 50%;
  background: linear-gradient(135deg, #e5fff6, #dff4ff);
  box-shadow: 0 18px 38px rgba(0, 166, 190, 0.18);
  cursor: pointer;
}

.dashboard-robot img {
  width: 68px;
  height: 68px;
  object-fit: cover;
  border-radius: 50%;
}

.dashboard-quick {
  padding: 14px;
}

.dashboard-quick div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.dashboard-quick a {
  display: grid;
  align-items: center;
  min-height: 54px;
  padding: 9px;
  border: 1px solid rgba(202, 219, 232, 0.74);
  border-radius: 8px;
  color: #244066;
  background: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.15;
}

@media (max-width: 1240px) {
  .dashboard-shell {
    grid-template-columns: 150px minmax(0, 1fr);
    padding-right: 14px;
  }

  .dashboard-ai {
    grid-column: 2;
    position: static;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-top: 0;
  }

  .dashboard-quick {
    grid-column: 1 / -1;
  }
}

@media (max-width: 920px) {
  .dashboard-shell {
    display: block;
    padding: 0 12px 18px;
  }

  .dashboard-sidebar {
    position: static;
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    height: auto;
    margin: 10px 0;
    padding: 8px 10px;
    border-left: 1px solid rgba(202, 219, 232, 0.78);
    border-radius: 8px;
  }

  .dashboard-logo {
    min-height: 58px;
  }

  .dashboard-logo img {
    width: 66px;
    height: 66px;
  }

  .dashboard-nav {
    display: flex;
    gap: 8px;
    min-width: 0;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .dashboard-nav a {
    flex: 0 0 auto;
    min-height: 38px;
    white-space: nowrap;
  }

  .dashboard-help {
    display: none;
  }

  .dashboard-topbar {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .dashboard-tools {
    justify-content: flex-start;
  }

  .dashboard-search {
    width: 100%;
    margin: 0 0 10px;
  }

  .dashboard-map-card {
    min-height: 520px;
  }

  .dashboard-map-card img {
    object-position: center;
  }

  .dashboard-hotspot {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    max-width: none;
  }

  .dashboard-map-copy {
    top: 20px;
    width: calc(100% - 28px);
    transform: translateX(-50%);
  }

  .dashboard-map-card {
    display: grid;
    align-content: end;
    gap: 8px;
    padding: 150px 12px 12px;
  }

  .dashboard-materials,
  .dashboard-lower-grid,
  .dashboard-mini-grid,
  .dashboard-specialists {
    grid-template-columns: 1fr;
  }

  .dashboard-ai {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 14px;
  }
}

@media (max-width: 560px) {
  .dashboard-nav {
    display: flex;
  }

  .dashboard-tools {
    flex-wrap: wrap;
  }

  .dashboard-profile {
    width: 100%;
  }

  .dashboard-search {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .dashboard-search button {
    grid-column: 1 / -1;
  }

  .dashboard-material-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-material-image {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    height: 150px;
  }

  .dashboard-quick div {
    grid-template-columns: 1fr;
  }
}

/* Dashboard polish pass: tighter first screen, softer panels, better icon rhythm. */
body.portal-dashboard-home {
  background:
    radial-gradient(circle at 20% 16%, rgba(47, 202, 142, 0.12), transparent 26%),
    radial-gradient(circle at 86% 68%, rgba(27, 171, 219, 0.12), transparent 28%),
    linear-gradient(180deg, #fbfdff 0%, #edf8fb 54%, #f8fcff 100%);
}

.dashboard-shell {
  grid-template-columns: 154px minmax(0, 1fr) 294px;
  gap: 14px;
  max-width: 1510px;
  padding-right: 14px;
  padding-bottom: 18px;
}

.dashboard-sidebar,
.dashboard-strip,
.dashboard-panel,
.dashboard-ai-card,
.dashboard-quick {
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 18px 50px rgba(42, 76, 105, 0.08);
}

.dashboard-sidebar {
  gap: 12px;
  padding: 14px 10px;
}

.dashboard-logo {
  min-height: 66px;
}

.dashboard-logo img {
  width: 72px;
  height: 72px;
}

.dashboard-nav {
  gap: 4px;
}

.dashboard-nav a {
  min-height: 36px;
  gap: 9px;
  padding: 0 9px;
  font-size: 12px;
  font-weight: 800;
}

.dashboard-nav span {
  width: 20px;
  height: 20px;
}

.dashboard-nav svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.dashboard-help {
  padding: 10px;
}

.dashboard-main {
  padding-top: 14px;
}

.dashboard-topbar {
  grid-template-columns: minmax(230px, 1fr) auto auto;
  gap: 12px;
  min-height: 60px;
  margin-bottom: 6px;
}

.dashboard-title h1 {
  font-size: 22px;
}

.dashboard-title p {
  font-size: 12px;
}

.dashboard-cluster {
  min-height: 32px;
  padding: 0 12px;
  font-size: 11px;
}

.dashboard-icon-button {
  width: 40px;
  height: 40px;
}

.dashboard-profile {
  min-height: 42px;
}

.dashboard-profile span {
  width: 34px;
  height: 34px;
}

.dashboard-search {
  width: min(630px, calc(100% - 28px));
  min-height: 54px;
  margin-bottom: -20px;
  padding: 7px 10px 7px 17px;
}

.dashboard-search button {
  min-height: 40px;
}

.dashboard-map-card {
  min-height: 398px;
  box-shadow: 0 20px 58px rgba(44, 77, 105, 0.11);
}

.dashboard-map-copy {
  top: 42%;
}

.dashboard-map-copy p {
  font-size: 18px;
}

.dashboard-hotspot {
  max-width: 160px;
  padding: 9px 11px;
  box-shadow: 0 14px 34px rgba(44, 77, 105, 0.1);
}

.dashboard-hotspot strong {
  font-size: 11px;
}

.dashboard-hotspot small {
  font-size: 9px;
}

.dashboard-strip {
  margin-top: 10px;
  padding: 12px 14px 14px;
}

.dashboard-section-head {
  margin-bottom: 10px;
}

.dashboard-section-head h2 {
  font-size: 16px;
}

.dashboard-materials {
  gap: 10px;
}

.dashboard-material-card {
  grid-template-columns: minmax(0, 1fr) 76px;
  min-height: 104px;
  padding: 10px;
}

.dashboard-material-card h3 {
  font-size: 12px;
  line-height: 1.18;
}

.dashboard-material-card p {
  font-size: 10px;
}

.dashboard-material-image {
  width: 76px;
  height: 76px;
}

.dashboard-lower-grid {
  gap: 12px;
  margin-top: 12px;
}

.dashboard-panel {
  padding: 12px;
}

.dashboard-mini-grid,
.dashboard-specialists {
  gap: 9px;
}

.dashboard-mini-card,
.dashboard-doctor-card {
  min-height: 118px;
  padding: 9px;
}

.dashboard-mini-card {
  min-height: 178px;
}

.dashboard-mini-card strong {
  font-size: 12.5px;
}

.dashboard-mini-card p {
  font-size: 10.5px;
}

.dashboard-doctor-card small {
  font-size: 10px;
}

.dashboard-doctor-photo {
  width: 66px;
  height: 58px;
}

.dashboard-doctor-card strong {
  font-size: 11px;
}

.dashboard-ai {
  gap: 14px;
  padding-top: 112px;
}

.dashboard-ai-card {
  padding: 14px;
}

.dashboard-ai-head {
  margin-bottom: 12px;
}

.dashboard-ai-actions {
  gap: 9px;
  margin: 14px 0 12px;
}

.dashboard-ai-actions a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  min-height: 52px;
  padding: 9px 12px 9px 9px;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(245, 251, 255, 0.92));
  font-size: 12px;
}

.dashboard-ai-actions a span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  color: #0a9a60;
  background: #ebfbf3;
  font-size: 16px;
}

.dashboard-ai-form {
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 8px;
}

.dashboard-ai-form input {
  min-height: 46px;
}

.dashboard-ai-form button {
  display: grid;
  place-items: center;
  width: 44px;
  min-height: 44px;
  padding: 0;
  border-radius: 50%;
  font-size: 0;
}

.dashboard-ai-form button::before {
  content: "→";
  font-size: 19px;
  line-height: 1;
}

.dashboard-ai-page {
  min-height: 42px;
}

.dashboard-ai-status {
  min-height: 30px;
  font-size: 11px;
}

.dashboard-robot {
  width: 72px;
  height: 72px;
}

.dashboard-robot img {
  width: 62px;
  height: 62px;
}

.dashboard-quick {
  padding: 12px;
}

.dashboard-quick a {
  justify-items: start;
  gap: 6px;
  min-height: 50px;
  padding: 8px;
}

.dashboard-quick a span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  color: #0a9a60;
  background: #ebfbf3;
}

@media (max-width: 1320px) and (min-width: 921px) {
  .dashboard-shell {
    grid-template-columns: 148px minmax(0, 1fr) 278px;
    gap: 12px;
  }

  .dashboard-map-card {
    min-height: 372px;
  }

  .dashboard-materials {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-lower-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-ai-actions a {
    min-height: 48px;
  }
}

@media (max-width: 920px) {
  .dashboard-shell {
    padding: 0 12px 18px;
  }

  .dashboard-sidebar {
    margin: 10px 0 12px;
  }

  .dashboard-main {
    padding-top: 0;
  }

  .dashboard-topbar {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px 10px;
    min-height: 0;
  }

  .dashboard-title {
    grid-column: 1 / -1;
  }

  .dashboard-cluster {
    grid-column: 1;
    width: fit-content;
    max-width: 100%;
  }

  .dashboard-tools {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 8px;
  }

  .dashboard-profile {
    width: 100%;
    justify-self: stretch;
  }

  .dashboard-search {
    margin-top: 8px;
  }

  .dashboard-map-card {
    min-height: 500px;
    padding-top: 134px;
  }

  .dashboard-map-card img {
    height: 245px;
    object-fit: cover;
    object-position: center top;
  }

  .dashboard-map-copy {
    top: 24px;
  }

  .dashboard-hotspot {
    padding: 9px 11px;
  }

  .dashboard-ai-card {
    padding: 13px;
  }
}

@media (max-width: 560px) {
  .dashboard-sidebar {
    grid-template-columns: 58px minmax(0, 1fr);
    padding: 7px 9px;
  }

  .dashboard-logo img {
    width: 54px;
    height: 54px;
  }

  .dashboard-title h1 {
    font-size: 22px;
  }

  .dashboard-tools {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .dashboard-profile strong {
    font-size: 11px;
  }

  .dashboard-search {
    gap: 9px;
    padding: 9px 10px;
  }

  .dashboard-search input {
    font-size: 14px;
  }

  .dashboard-search button {
    min-height: 40px;
  }

  .dashboard-map-card {
    min-height: 492px;
    padding-top: 126px;
  }

  .dashboard-map-card img {
    height: 220px;
  }

  .dashboard-map-copy p {
    font-size: 19px;
  }

  .dashboard-material-card {
    min-height: 0;
  }

  .dashboard-material-image {
    height: 128px;
  }
}

/* Full-width desktop fit pass. */
@media (min-width: 1100px) {
  body.portal-dashboard-home {
    overflow-x: hidden;
    overflow-y: auto;
  }

  .dashboard-shell {
    width: 100%;
    max-width: none;
    min-height: 100vh;
    height: auto;
    margin: 0;
    padding: 0 12px 40px 0;
    grid-template-columns: 176px minmax(0, 1fr) 342px;
    gap: 14px;
  }

  .dashboard-sidebar {
    height: 100vh;
    padding: 12px 10px;
    border-radius: 0 8px 8px 0;
  }

  .dashboard-logo {
    min-height: 60px;
  }

  .dashboard-logo img {
    width: 64px;
    height: 64px;
  }

  .dashboard-nav a {
    min-height: 34px;
  }

  .dashboard-main {
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr);
    min-height: 0;
    padding-top: 10px;
  }

  .dashboard-topbar {
    min-height: 54px;
    margin-bottom: 4px;
  }

  .dashboard-tools {
    position: fixed;
    top: 20px;
    right: 18px;
    z-index: 70;
  }

  .dashboard-map-card {
    min-height: min(398px, 38vh);
  }

  .dashboard-strip {
    margin-top: 8px;
    padding: 10px 14px 12px;
  }

  .dashboard-material-card {
    min-height: 96px;
  }

  .dashboard-material-image {
    width: 80px;
    height: 72px;
  }

  .dashboard-material-card h3 {
    max-height: 44px;
    -webkit-line-clamp: 2;
  }

  .dashboard-lower-grid {
    min-height: 0;
    align-items: start;
    margin-top: 10px;
  }

  .dashboard-panel {
    align-self: start;
    min-height: 0;
    padding: 10px 12px;
  }

  .dashboard-mini-card,
  .dashboard-doctor-card {
    min-height: 108px;
  }

  .dashboard-ai {
    height: 100vh;
    min-height: 0;
    align-content: start;
    gap: 12px;
    padding-top: 112px;
  }

  .dashboard-ai-card {
    padding: 13px;
  }

  .dashboard-ai-actions a {
    min-height: 50px;
  }

  .dashboard-robot {
    width: 68px;
    height: 68px;
  }

  .dashboard-robot img {
    width: 58px;
    height: 58px;
  }
}

@media (min-width: 1680px) {
  .dashboard-shell {
    grid-template-columns: 186px minmax(0, 1fr) 350px;
    gap: 16px;
    padding-right: 14px;
  }

  .dashboard-map-card {
    min-height: min(440px, 39vh);
  }

  .dashboard-material-card {
    grid-template-columns: minmax(0, 1fr) 94px;
  }

  .dashboard-material-image {
    width: 94px;
    height: 78px;
  }
}

/* Search bar should sit above the route map, not overlap it. */
.dashboard-search {
  width: min(820px, calc(100% - 56px));
  min-height: 66px;
  margin: 0 auto 14px;
  padding: 8px 14px 8px 24px;
  border-radius: 999px;
  border-color: rgba(205, 221, 234, 0.88);
  background: rgba(255, 255, 255, 0.96);
  box-shadow:
    0 18px 42px rgba(61, 91, 123, 0.11),
    inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}

.dashboard-search span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  color: #6e7e93;
}

.dashboard-search svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.dashboard-search input {
  color: #13213c;
  font-size: 18px;
  font-weight: 700;
}

.dashboard-search input::placeholder {
  color: #8b98a9;
  opacity: 1;
}

.dashboard-search button {
  min-height: 50px;
  padding: 0 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, #0bbd76, #079f87);
  box-shadow: 0 12px 24px rgba(4, 157, 111, 0.24);
  white-space: nowrap;
}

.dashboard-search button i {
  margin-left: 6px;
  font-style: normal;
  font-size: 18px;
  line-height: 1;
}

@media (min-width: 1100px) {
  .dashboard-search {
    margin-bottom: 14px;
  }
}

@media (max-width: 920px) {
  .dashboard-search {
    width: 100%;
    border-radius: 22px;
  }
}

.dashboard-hero {
  position: relative;
  isolation: isolate;
}

.dashboard-hero::before {
  content: "";
  position: absolute;
  inset: -76px -42px -34px;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 49% 46%, rgba(236, 248, 255, 0.98) 0%, rgba(236, 248, 255, 0.9) 34%, rgba(232, 247, 242, 0.76) 58%, transparent 84%),
    radial-gradient(ellipse at 14% 50%, rgba(218, 248, 232, 0.68), transparent 62%),
    radial-gradient(ellipse at 84% 48%, rgba(231, 232, 255, 0.7), transparent 64%);
  filter: blur(12px);
}

/* The reference map is an illustration field, not a bordered card. */
.dashboard-map-card {
  min-height: 0;
  aspect-ratio: 2048 / 768;
  isolation: isolate;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.dashboard-map-card::before {
  content: "";
  position: absolute;
  inset: -16% -11% -14%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 50% 48%, rgba(226, 247, 255, 0.96), transparent 64%),
    radial-gradient(ellipse at 18% 52%, rgba(216, 248, 232, 0.62), transparent 50%),
    radial-gradient(ellipse at 81% 53%, rgba(231, 231, 255, 0.68), transparent 54%);
  filter: blur(16px);
}

.dashboard-map-card img {
  z-index: 1;
  object-fit: contain;
  object-position: center;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.34) 5%, #000 14%, #000 86%, rgba(0, 0, 0, 0.34) 95%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.42) 4%, #000 12%, #000 79%, rgba(0, 0, 0, 0.42) 92%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.34) 5%, #000 14%, #000 86%, rgba(0, 0, 0, 0.34) 95%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.42) 4%, #000 12%, #000 79%, rgba(0, 0, 0, 0.42) 92%, transparent 100%);
  mask-composite: intersect;
}

.dashboard-hotspot {
  z-index: 3;
  border-color: rgba(205, 221, 234, 0.48);
  box-shadow: 0 14px 30px rgba(44, 77, 105, 0.08);
}

.dashboard-map-copy,
.dashboard-hotspot {
  display: none;
}

.dashboard-map-overlay {
  position: absolute;
  inset: 0;
  z-index: 4;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.dashboard-map-area {
  pointer-events: all;
  outline: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.dashboard-map-contour {
  fill: transparent;
  stroke: transparent;
  stroke-width: 0;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  pointer-events: all;
  opacity: 0;
}

.dashboard-map-area:hover .dashboard-map-contour,
.dashboard-map-area:focus-visible .dashboard-map-contour {
  stroke: transparent;
  stroke-width: 0;
  opacity: 0;
  filter: none;
}

@media (min-width: 1100px) {
  .dashboard-map-card {
    min-height: 0;
  }
}

/* Lower dashboard cards: closer to the reference dashboard rhythm. */
.dashboard-section-head--slider {
  align-items: center;
}

.dashboard-section-actions {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.dashboard-slider-dots {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 72px;
  justify-content: center;
}

.dashboard-slider-dots i {
  display: block;
  width: 19px;
  height: 4px;
  border-radius: 999px;
  background: rgba(209, 224, 234, 0.9);
}

.dashboard-slider-dots i:first-child {
  width: 23px;
  background: linear-gradient(90deg, #11be80, #19b8d0);
  box-shadow: 0 4px 12px rgba(16, 184, 133, 0.22);
}

.dashboard-materials-wrap {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 8px;
}

.dashboard-carousel-arrow {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(205, 221, 234, 0.78);
  border-radius: 50%;
  color: #4e739d;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 20px rgba(45, 80, 111, 0.08);
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.dashboard-strip {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(251, 254, 255, 0.84)),
    radial-gradient(circle at 8% 10%, rgba(212, 246, 231, 0.4), transparent 36%),
    radial-gradient(circle at 96% 80%, rgba(216, 236, 255, 0.45), transparent 34%);
}

.dashboard-material-card {
  grid-template-columns: minmax(0, 1fr) 86px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 98px;
  padding: 10px 9px 10px 12px;
  border-color: rgba(202, 219, 232, 0.78);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 255, 0.94)),
    radial-gradient(circle at 100% 0%, rgba(218, 239, 255, 0.6), transparent 48%);
  box-shadow:
    0 10px 22px rgba(42, 76, 105, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.dashboard-material-card span {
  color: #0aa163;
  font-size: 10px;
  letter-spacing: 0.03em;
}

.dashboard-material-card h3 {
  align-self: start;
  max-height: 44px;
  font-size: 13px;
  line-height: 1.16;
  font-weight: 950;
  -webkit-line-clamp: 2;
}

.dashboard-material-card p {
  color: #7789a4;
  font-size: 11px;
  line-height: 1;
}

.dashboard-material-image {
  width: 86px;
  height: 72px;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.66);
}

.dashboard-material-image img {
  transform: scale(1.03);
}

.dashboard-panel {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(251, 254, 255, 0.86)),
    radial-gradient(circle at 12% 14%, rgba(219, 249, 234, 0.34), transparent 38%);
}

.dashboard-mini-grid,
.dashboard-specialists {
  gap: 12px;
}

.dashboard-mini-card {
  position: relative;
  grid-template-columns: 112px minmax(0, 1fr);
  align-items: stretch;
  gap: 12px;
  min-height: 178px;
  overflow: hidden;
  padding: 10px;
  border-color: rgba(202, 219, 232, 0.78);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(248, 253, 255, 0.95)),
    radial-gradient(circle at 0% 0%, rgba(220, 249, 235, 0.6), transparent 42%),
    radial-gradient(circle at 100% 100%, rgba(220, 239, 255, 0.46), transparent 45%);
  box-shadow:
    0 12px 26px rgba(42, 76, 105, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.dashboard-mini-visual {
  position: relative;
  width: 112px;
  min-height: 100%;
  overflow: hidden;
  border-radius: 8px;
  background: linear-gradient(135deg, #e9fbf3, #eef7ff);
  box-shadow:
    0 10px 20px rgba(43, 78, 108, 0.1),
    inset 0 0 0 1px rgba(255, 255, 255, 0.74);
}

.dashboard-mini-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.18)),
    radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.54), transparent 34%);
  pointer-events: none;
}

.dashboard-mini-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
}

.dashboard-mini-body {
  display: grid;
  align-content: space-between;
  gap: 7px;
  min-width: 0;
}

.dashboard-mini-card small {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  min-height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  color: #07965e;
  background: rgba(231, 251, 241, 0.96);
  box-shadow: inset 0 0 0 1px rgba(17, 190, 128, 0.08);
  font-size: 8.5px;
  line-height: 1;
  letter-spacing: 0.03em;
}

.dashboard-mini-card strong {
  display: block;
  overflow: visible;
  font-size: 12.5px;
  line-height: 1.14;
  font-weight: 950;
  -webkit-line-clamp: unset;
}

.dashboard-mini-card p {
  color: #667996;
  font-size: 10.5px;
  line-height: 1.28;
  -webkit-line-clamp: 2;
}

.dashboard-course-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
  margin-top: 0;
}

.dashboard-course-meta span {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  min-height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  color: #48607e;
  background: rgba(255, 255, 255, 0.9);
  box-shadow:
    inset 0 0 0 1px rgba(202, 219, 232, 0.62),
    0 7px 14px rgba(42, 76, 105, 0.05);
  font-size: 9.5px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.dashboard-course-meta .dashboard-course-lead {
  gap: 5px;
  max-width: 100%;
  padding-left: 3px;
  color: #203a62;
}

.dashboard-course-lead img {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 2px #fff;
}

.dashboard-course-lead b {
  min-width: 0;
  overflow: hidden;
  font-size: inherit;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-doctor-card {
  align-content: center;
  justify-items: center;
  gap: 6px;
  min-height: 178px;
  padding: 10px;
  border-color: rgba(202, 219, 232, 0.78);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 255, 0.96)),
    radial-gradient(circle at 50% 0%, rgba(218, 241, 255, 0.54), transparent 50%);
  box-shadow: 0 10px 22px rgba(42, 76, 105, 0.06);
}

.dashboard-doctor-photo {
  position: relative;
  width: 72px;
  height: 62px;
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(42, 76, 105, 0.11);
}

.dashboard-doctor-photo span {
  position: absolute;
  right: -4px;
  bottom: -4px;
  width: 17px;
  height: 17px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #18c383;
  box-shadow: 0 4px 10px rgba(17, 178, 123, 0.24);
}

.dashboard-doctor-card strong {
  max-width: 100%;
  color: #13213c;
  font-size: 12px;
  line-height: 1.12;
  font-weight: 950;
}

.dashboard-doctor-card small {
  color: #657894;
  font-size: 10px;
  line-height: 1.16;
}

.dashboard-doctor-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  margin-top: 2px;
  color: #72829b;
  font-size: 9px;
  font-weight: 850;
}

.dashboard-doctor-meta span + span {
  display: none;
}

.dashboard-doctor-meta span {
  min-width: 0;
  overflow: hidden;
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(241, 247, 255, 0.92);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-doctor-meta span:first-child {
  color: #0a9a60;
  background: #ecfbf4;
}

@media (min-width: 1100px) {
  .dashboard-strip {
    padding: 10px 12px 12px;
  }

  .dashboard-section-head {
    margin-bottom: 8px;
  }

  .dashboard-panel {
    padding: 10px;
  }

  .dashboard-lower-grid {
    gap: 12px;
  }
}

@media (min-width: 1680px) {
  .dashboard-material-card {
    grid-template-columns: minmax(0, 1fr) 98px;
  }

  .dashboard-material-image {
    width: 98px;
    height: 76px;
  }
}

@media (max-width: 920px) {
  .dashboard-materials-wrap {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-carousel-arrow,
  .dashboard-slider-dots {
    display: none;
  }
}

/* Real carousel behavior for the materials strip. */
.dashboard-slider-dots {
  min-width: 84px;
}

.dashboard-slider-dots button {
  display: block;
  width: 19px;
  height: 4px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(209, 224, 234, 0.9);
  cursor: pointer;
}

.dashboard-slider-dots button.is-active {
  width: 23px;
  background: linear-gradient(90deg, #11be80, #19b8d0);
  box-shadow: 0 4px 12px rgba(16, 184, 133, 0.22);
}

.dashboard-carousel-arrow {
  border-style: solid;
  font-family: inherit;
  cursor: pointer;
}

.dashboard-carousel-arrow:hover,
.dashboard-carousel-arrow:focus-visible {
  color: #0b9b68;
  border-color: rgba(15, 184, 120, 0.34);
}

.dashboard-materials {
  display: flex;
  grid-template-columns: none;
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-padding: 0;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.dashboard-materials::-webkit-scrollbar {
  display: none;
}

.dashboard-material-card {
  flex: 0 0 calc((100% - 30px) / 4);
  scroll-snap-align: start;
}

@media (max-width: 1320px) and (min-width: 921px) {
  .dashboard-material-card {
    flex-basis: calc((100% - 10px) / 2);
  }
}

@media (max-width: 920px) {
  .dashboard-material-card {
    flex-basis: min(86vw, 360px);
  }
}

/* Assistant presets preview page. */
body.portal-dashboard-home:has(.assistant-presets-page) {
  overflow: auto;
  background:
    radial-gradient(circle at 14% 12%, rgba(33, 199, 138, 0.1), transparent 28%),
    radial-gradient(circle at 84% 18%, rgba(91, 163, 231, 0.12), transparent 30%),
    linear-gradient(180deg, #f7fbff 0%, #edf8fb 48%, #f8fcff 100%);
}

.assistant-presets-page {
  min-height: 100vh;
  padding: 28px;
  color: #13213c;
}

.assistant-presets-header {
  display: grid;
  gap: 6px;
  max-width: 940px;
  margin: 0 auto 22px;
  text-align: center;
}

.assistant-presets-header p,
.assistant-preset-label {
  margin: 0;
  color: #0a9a60;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.assistant-presets-header h1 {
  margin: 0;
  color: #13213c;
  font-size: clamp(30px, 3.2vw, 48px);
  line-height: 1.04;
  letter-spacing: 0;
}

.assistant-presets-header span {
  color: #60728d;
  font-size: 16px;
  font-weight: 750;
}

.assistant-presets-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: 1460px;
  margin: 0 auto;
}

.assistant-preset {
  display: grid;
  gap: 14px;
  align-content: start;
  min-width: 0;
}

.assistant-preset > h2 {
  margin: 0;
  color: #13213c;
  font-size: 24px;
  line-height: 1.1;
}

.assistant-preset > p {
  min-height: 42px;
  margin: 0;
  color: #61738e;
  font-size: 13px;
  font-weight: 720;
  line-height: 1.35;
}

.assistant-preset-card,
.assistant-preset-quick {
  border: 1px solid rgba(202, 219, 232, 0.82);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(249, 253, 255, 0.88)),
    radial-gradient(circle at 18% 12%, rgba(221, 250, 236, 0.5), transparent 42%);
  box-shadow:
    0 22px 56px rgba(41, 76, 105, 0.11),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(18px);
}

.assistant-preset-card {
  display: grid;
  gap: 16px;
  padding: 20px;
}

.assistant-preset-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.assistant-preset-top h3 {
  margin: 0 0 12px;
  color: #0a9a60;
  font-size: 24px;
  line-height: 1.05;
}

.assistant-preset-top strong {
  display: block;
  color: #16233d;
  font-size: 16px;
  line-height: 1.25;
}

.assistant-preset-window {
  display: flex;
  gap: 12px;
  color: #6e7e93;
  font-size: 22px;
  font-weight: 900;
}

.assistant-preset-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 42px;
  padding: 8px 10px 8px 14px;
  border-radius: 8px;
  background: linear-gradient(135deg, #edfdf5, #f0f8ff);
  color: #5f728e;
  font-size: 12px;
  font-weight: 850;
}

.assistant-preset-state b {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  color: #087b5a;
  background: #fff;
  box-shadow: 0 8px 18px rgba(17, 159, 112, 0.1);
}

.assistant-preset-actions {
  display: grid;
  gap: 10px;
}

.assistant-preset-actions a {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 3px 12px;
  align-items: center;
  min-height: 72px;
  padding: 11px 13px;
  border: 1px solid rgba(202, 219, 232, 0.78);
  border-radius: 8px;
  color: #244066;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 10px 24px rgba(44, 77, 105, 0.06);
}

.assistant-preset-actions a span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  color: #069967;
  background: #e9fbf3;
  font-size: 19px;
  font-weight: 900;
}

.assistant-preset-actions a strong {
  min-width: 0;
  overflow: hidden;
  color: #203a62;
  font-size: 14px;
  line-height: 1.12;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.assistant-preset-actions a small {
  min-width: 0;
  overflow: hidden;
  color: #60728d;
  font-size: 11px;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.assistant-preset-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px;
  gap: 10px;
}

.assistant-preset-form input {
  min-width: 0;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid rgba(202, 219, 232, 0.86);
  border-radius: 8px;
  outline: 0;
  color: #13213c;
  background: rgba(255, 255, 255, 0.96);
  font: inherit;
  font-size: 14px;
  font-weight: 760;
}

.assistant-preset-form button {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #0dc17d, #09a7c2);
  box-shadow: 0 16px 28px rgba(4, 166, 149, 0.22);
  cursor: pointer;
  font-size: 24px;
  font-weight: 900;
}

.assistant-preset-main-link {
  display: grid;
  place-items: center;
  min-height: 48px;
  border-radius: 8px;
  color: #26609d;
  background: #eef6ff;
  font-size: 14px;
  font-weight: 950;
}

.assistant-preset-quick {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.assistant-preset-quick h3 {
  margin: 0;
  color: #13213c;
  font-size: 20px;
}

.assistant-preset-quick div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.assistant-preset-quick a {
  display: grid;
  align-content: center;
  gap: 8px;
  min-height: 78px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(202, 219, 232, 0.78);
  border-radius: 8px;
  color: #244066;
  background: #fff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.15;
}

.assistant-preset-quick a span {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 50%, #12b97e 0 3px, transparent 4px),
    #e9fbf3;
}

@media (max-width: 1180px) {
  .assistant-presets-grid {
    grid-template-columns: 1fr;
    max-width: 560px;
  }

  .assistant-preset > p {
    min-height: 0;
  }
}

/* Chat-style assistant presets. */
body.portal-dashboard-home:has(.assistant-chat-presets-page) {
  overflow: auto;
  background:
    radial-gradient(circle at 14% 12%, rgba(33, 199, 138, 0.1), transparent 28%),
    radial-gradient(circle at 84% 18%, rgba(91, 163, 231, 0.12), transparent 30%),
    linear-gradient(180deg, #f7fbff 0%, #edf8fb 48%, #f8fcff 100%);
}

.assistant-chat-presets-page {
  min-height: 100vh;
  padding: 28px;
  color: #13213c;
}

.assistant-chat-presets-header {
  display: grid;
  gap: 6px;
  max-width: 980px;
  margin: 0 auto 24px;
  text-align: center;
}

.assistant-chat-presets-header p,
.assistant-chat-preset-label {
  margin: 0;
  color: #0a9a60;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.assistant-chat-presets-header h1 {
  margin: 0;
  color: #13213c;
  font-size: clamp(30px, 3.1vw, 46px);
  line-height: 1.04;
  letter-spacing: 0;
}

.assistant-chat-presets-header span {
  color: #60728d;
  font-size: 16px;
  font-weight: 750;
}

.assistant-chat-presets-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  max-width: 1380px;
  margin: 0 auto;
}

.assistant-chat-preset {
  display: grid;
  gap: 12px;
  align-content: start;
  min-width: 0;
}

.assistant-chat-preset h2 {
  margin: 0;
  color: #13213c;
  font-size: 24px;
  line-height: 1.1;
}

.assistant-chat-preset > p {
  min-height: 46px;
  margin: 0;
  color: #61738e;
  font-size: 13px;
  font-weight: 720;
  line-height: 1.35;
}

.assistant-chat-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(202, 219, 232, 0.86);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(249, 253, 255, 0.92)),
    radial-gradient(circle at 18% 12%, rgba(221, 250, 236, 0.46), transparent 42%);
  box-shadow:
    0 24px 60px rgba(41, 76, 105, 0.13),
    inset 0 1px 0 rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(18px);
}

.assistant-chat-card-header {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 14px;
  padding: 18px 20px 16px;
  border-bottom: 1px solid rgba(202, 219, 232, 0.78);
}

.assistant-chat-card-header img {
  width: 58px;
  height: 58px;
  border: 1px solid rgba(125, 212, 223, 0.66);
  border-radius: 50%;
  background: linear-gradient(135deg, #e5fff6, #dff4ff);
  box-shadow: 0 12px 26px rgba(0, 166, 190, 0.13);
  object-fit: cover;
}

.assistant-chat-card-header h3 {
  margin: 0;
  color: #13213c;
  font-size: 21px;
  line-height: 1.1;
}

.assistant-chat-card-header span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 5px;
  color: #61738e;
  font-size: 12px;
  font-weight: 850;
}

.assistant-chat-card-header span::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #15bf82;
}

.assistant-chat-card-header button {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  color: #6e7e93;
  background: transparent;
  cursor: pointer;
  font-size: 22px;
  font-weight: 900;
}

.assistant-chat-card-body {
  min-height: 0;
  padding: 18px 20px;
  overflow-y: auto;
}

.assistant-chat-messages {
  display: grid;
  gap: 10px;
}

.assistant-chat-message {
  display: flex;
}

.assistant-chat-message p {
  max-width: 84%;
  margin: 0;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.38;
}

.assistant-chat-message.is-left {
  justify-content: flex-start;
}

.assistant-chat-message.is-left p {
  color: #1f3355;
  background: #eef5f8;
}

.assistant-chat-message.is-right {
  justify-content: flex-end;
}

.assistant-chat-message.is-right p {
  color: #fff;
  background: linear-gradient(135deg, #13213c, #203a62);
  box-shadow: 0 12px 24px rgba(30, 54, 91, 0.16);
}

.assistant-chat-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 16px 20px 20px;
  border-top: 1px solid rgba(202, 219, 232, 0.78);
}

.assistant-chat-input textarea {
  min-width: 0;
  min-height: 46px;
  max-height: 92px;
  padding: 12px 14px;
  border: 1px solid rgba(202, 219, 232, 0.82);
  border-radius: 10px;
  outline: 0;
  resize: none;
  color: #13213c;
  background: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 740;
}

.assistant-chat-input textarea::placeholder {
  color: #7c8796;
}

.assistant-chat-input button {
  align-self: end;
  min-height: 46px;
  padding: 0 18px;
  border: 0;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(135deg, #0bbd76, #079f87);
  box-shadow: 0 12px 24px rgba(4, 157, 111, 0.2);
  cursor: pointer;
  font-size: 13px;
  font-weight: 950;
}

@media (max-width: 1180px) {
  .assistant-chat-presets-grid {
    grid-template-columns: 1fr;
    max-width: 520px;
  }

  .assistant-chat-preset > p {
    min-height: 0;
  }
}

@media (max-width: 560px) {
  .assistant-chat-presets-page {
    padding: 16px;
  }

  .assistant-chat-card {
    min-height: 500px;
  }

  .assistant-chat-input {
    grid-template-columns: 1fr;
  }
}

/* Homepage assistant panel: selected chat preset A. */
.dashboard-ai-card.dashboard-ai-chat-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0;
  min-height: 392px;
  padding: 0;
  overflow: hidden;
  border-radius: 10px;
}

.dashboard-ai-chat-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 15px 16px 13px;
  border-bottom: 1px solid rgba(202, 219, 232, 0.74);
}

.dashboard-ai-chat-head img {
  width: 52px;
  height: 52px;
  border: 1px solid rgba(125, 212, 223, 0.68);
  border-radius: 50%;
  background: linear-gradient(135deg, #e5fff6, #dff4ff);
  box-shadow: 0 12px 26px rgba(0, 166, 190, 0.14);
  object-fit: cover;
}

.dashboard-ai-chat-head h2 {
  margin: 0;
  color: #13213c;
  font-size: 18px;
  line-height: 1.08;
}

.dashboard-ai-chat-head span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  color: #60728d;
  font-size: 11px;
  font-weight: 850;
}

.dashboard-ai-chat-head span::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #18bf7b;
}

.dashboard-ai-chat-controls {
  display: flex;
  gap: 3px;
}

.dashboard-ai-chat-controls button {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 50%;
  color: #6b7c94;
  background: transparent;
  cursor: pointer;
  font-size: 18px;
  font-weight: 900;
}

.dashboard-ai-chat-body {
  min-height: 0;
  padding: 14px 14px 12px;
  overflow-y: auto;
}

.dashboard-ai-chat-messages {
  display: grid;
  gap: 9px;
}

.dashboard-ai-message {
  display: flex;
}

.dashboard-ai-message p {
  max-width: 86%;
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.35;
}

.dashboard-ai-message.is-bot {
  justify-content: flex-start;
}

.dashboard-ai-message.is-bot p {
  color: #213a5f;
  background: #eef5f8;
}

.dashboard-ai-message.is-user {
  justify-content: flex-end;
}

.dashboard-ai-message.is-user p {
  color: #ffffff;
  background: linear-gradient(135deg, #13213c, #203a62);
  box-shadow: 0 12px 24px rgba(30, 54, 91, 0.16);
}

.dashboard-ai-chat-form {
  display: grid;
  gap: 10px;
  padding: 12px 14px 14px;
  border-top: 1px solid rgba(202, 219, 232, 0.74);
}

.dashboard-ai-chat-form textarea {
  min-width: 0;
  min-height: 48px;
  max-height: 88px;
  padding: 12px 13px;
  border: 1px solid rgba(202, 219, 232, 0.82);
  border-radius: 10px;
  outline: 0;
  resize: none;
  color: #13213c;
  background: #ffffff;
  font: inherit;
  font-size: 13px;
  font-weight: 740;
}

.dashboard-ai-chat-form textarea::placeholder {
  color: #7c8796;
}

.dashboard-ai-chat-form button {
  justify-self: start;
  min-height: 42px;
  padding: 0 18px;
  border: 0;
  border-radius: 10px;
  color: #ffffff;
  background: linear-gradient(135deg, #0bbd76, #079f87);
  box-shadow: 0 12px 24px rgba(4, 157, 111, 0.2);
  cursor: pointer;
  font-size: 13px;
  font-weight: 950;
}

.dashboard-robot {
  display: none;
}

@media (max-width: 1320px) and (min-width: 921px) {
  .dashboard-ai-card.dashboard-ai-chat-card {
    min-height: 372px;
  }

  .dashboard-ai-message p {
    font-size: 11px;
  }
}

/* Floating website-style assistant widget. */
.dashboard-shell {
  grid-template-columns: 168px minmax(0, 1fr);
  padding-right: 18px;
}

.dashboard-ai-floating {
  position: fixed !important;
  inset: auto 24px 24px auto !important;
  z-index: 90 !important;
  display: block !important;
  width: min(360px, calc(100vw - 48px)) !important;
  min-width: 0 !important;
  padding: 0 !important;
}

.dashboard-ai-card.dashboard-ai-chat-card {
  width: 100%;
  height: min(360px, calc(100dvh - 48px));
  min-height: 300px;
  max-height: 420px;
  border-radius: 12px;
  box-shadow:
    0 28px 74px rgba(39, 72, 105, 0.2),
    0 0 0 1px rgba(202, 219, 232, 0.8),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.dashboard-ai-chat-head {
  grid-template-columns: minmax(0, 1fr) auto;
}

.dashboard-ai-chat-body {
  padding: 12px 14px 10px;
  max-height: none;
}

.dashboard-ai-chat-form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  padding: 10px 14px 12px;
}

.dashboard-ai-chat-form button {
  justify-self: auto;
  min-height: 48px;
}

.dashboard-ai-launcher,
.dashboard-ai-minimized {
  position: fixed !important;
  inset: auto 20px 16px auto !important;
  z-index: 90 !important;
  display: inline-grid;
  grid-template-columns: auto;
  align-items: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(202, 219, 232, 0.88);
  border-radius: 999px;
  color: #13213c;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 38px rgba(39, 72, 105, 0.16);
  cursor: pointer;
  backdrop-filter: blur(18px);
}

.dashboard-ai-launcher strong,
.dashboard-ai-minimized strong {
  font-size: 12px;
  font-weight: 900;
}

.dashboard-quick {
  display: none !important;
}

.dashboard-ai-chat-form button:disabled,
.dashboard-ai-full-form button:disabled {
  cursor: wait;
  opacity: 0.72;
}

/* Fullscreen assistant workspace: agent-style chat adapted to the portal dashboard. */
.dashboard-ai-fullscreen-layer {
  position: fixed;
  inset: 0;
  z-index: 150;
  display: grid;
  place-items: center;
  padding: 18px;
  background:
    radial-gradient(circle at 13% 13%, rgba(178, 244, 222, 0.42), transparent 30%),
    radial-gradient(circle at 84% 12%, rgba(197, 231, 255, 0.52), transparent 34%),
    linear-gradient(180deg, rgba(243, 250, 255, 0.94), rgba(234, 247, 249, 0.96));
  backdrop-filter: blur(22px);
}

.dashboard-ai-fullscreen {
  display: grid;
  grid-template-columns: minmax(230px, 288px) minmax(0, 1fr);
  width: min(1420px, calc(100vw - 36px));
  height: min(880px, calc(100dvh - 36px));
  min-height: 620px;
  overflow: hidden;
  border: 1px solid rgba(202, 219, 232, 0.92);
  border-radius: 18px;
  background:
    radial-gradient(circle at 68% 0%, rgba(227, 247, 255, 0.84), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 253, 255, 0.96));
  box-shadow:
    0 34px 90px rgba(36, 67, 99, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

.dashboard-ai-full-rail {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 18px;
  min-width: 0;
  padding: 22px;
  border-right: 1px solid rgba(202, 219, 232, 0.76);
  background:
    radial-gradient(circle at 20% 12%, rgba(19, 192, 166, 0.16), transparent 32%),
    rgba(255, 255, 255, 0.7);
}

.dashboard-ai-full-brand {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  align-items: center;
}

.dashboard-ai-full-brand strong {
  display: block;
  color: #13213c;
  font-size: 18px;
  line-height: 1.08;
}

.dashboard-ai-full-brand small {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 5px;
  color: #60728d;
  font-size: 12px;
  font-weight: 850;
}

.dashboard-ai-full-brand small::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #18bf7b;
}

.dashboard-ai-full-new {
  min-height: 46px;
  border: 0;
  border-radius: 12px;
  color: #ffffff;
  background: linear-gradient(135deg, #0bbd76, #079f87);
  box-shadow: 0 14px 28px rgba(4, 157, 111, 0.2);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 950;
}

.dashboard-ai-full-main {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-width: 0;
  min-height: 0;
}

.dashboard-ai-full-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 28px 18px;
  border-bottom: 1px solid rgba(202, 219, 232, 0.68);
}

.dashboard-ai-full-head p,
.dashboard-ai-full-head h2 {
  margin: 0;
}

.dashboard-ai-full-head p {
  color: #0a9a60;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dashboard-ai-full-head h2 {
  margin-top: 5px;
  color: #13213c;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1.02;
}

.dashboard-ai-full-controls {
  display: flex;
  align-items: center;
  gap: 9px;
}

.dashboard-ai-full-controls button {
  display: grid;
  place-items: center;
  width: 40px;
  min-height: 40px;
  padding: 0;
  border: 1px solid rgba(202, 219, 232, 0.82);
  border-radius: 50%;
  color: #243f65;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 10px 24px rgba(44, 77, 105, 0.08);
  cursor: pointer;
  font: inherit;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}

.dashboard-ai-full-controls button:first-child {
  font-size: 21px;
}

.dashboard-ai-full-controls button:last-child {
  font-size: 22px;
}

.dashboard-ai-full-chat {
  display: grid;
  align-content: start;
  gap: 18px;
  min-height: 0;
  padding: 26px 28px;
  overflow: auto;
}

.dashboard-ai-full-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  width: min(820px, 100%);
  padding: 18px;
  border: 1px solid rgba(202, 219, 232, 0.72);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(238, 248, 252, 0.88));
  box-shadow: 0 16px 40px rgba(44, 77, 105, 0.08);
}

.dashboard-ai-full-intro strong {
  display: block;
  color: #13213c;
  font-size: 18px;
  line-height: 1.2;
}

.dashboard-ai-full-intro small {
  display: block;
  margin-top: 6px;
  color: #60728d;
  font-size: 13px;
  font-weight: 720;
  line-height: 1.35;
}

.dashboard-ai-full-messages {
  display: grid;
  gap: 12px;
  width: min(860px, 100%);
}

.dashboard-ai-full-messages .dashboard-ai-message p {
  max-width: min(680px, 86%);
  padding: 14px 16px;
  border-radius: 16px;
  font-size: 15px;
  line-height: 1.4;
}

.dashboard-ai-full-prompts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: min(860px, 100%);
}

.dashboard-ai-full-prompts button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(202, 219, 232, 0.82);
  border-radius: 999px;
  color: #26609d;
  background: rgba(255, 255, 255, 0.82);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
}

.dashboard-ai-full-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 18px 28px 24px;
  border-top: 1px solid rgba(202, 219, 232, 0.72);
  background: rgba(255, 255, 255, 0.76);
}

.dashboard-ai-full-form textarea {
  min-width: 0;
  min-height: 64px;
  max-height: 148px;
  padding: 16px;
  border: 1px solid rgba(202, 219, 232, 0.88);
  border-radius: 16px;
  outline: 0;
  resize: vertical;
  color: #13213c;
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96);
  font: inherit;
  font-size: 15px;
  font-weight: 740;
}

.dashboard-ai-full-form textarea:focus {
  border-color: rgba(16, 177, 145, 0.62);
  box-shadow:
    0 0 0 4px rgba(16, 177, 145, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.dashboard-ai-full-form div {
  display: grid;
  gap: 9px;
  align-content: end;
}

.dashboard-ai-full-form button {
  min-height: 42px;
  padding: 0 18px;
  border-radius: 12px;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 950;
}

.dashboard-ai-full-form button[type="button"] {
  border: 1px solid rgba(202, 219, 232, 0.82);
  color: #26609d;
  background: rgba(255, 255, 255, 0.88);
}

.dashboard-ai-full-form button[type="submit"] {
  border: 0;
  color: #ffffff;
  background: linear-gradient(135deg, #0bbd76, #079f87);
  box-shadow: 0 14px 28px rgba(4, 157, 111, 0.2);
}

@media (max-width: 920px) {
  .dashboard-ai-fullscreen-layer {
    padding: 0;
  }

  .dashboard-ai-fullscreen {
    width: 100vw;
    height: 100dvh;
    min-height: 0;
    border-radius: 0;
    grid-template-columns: 1fr;
  }

  .dashboard-ai-full-rail {
    display: none;
  }

  .dashboard-ai-full-head {
    align-items: start;
    padding: 18px 16px 14px;
  }

  .dashboard-ai-full-head h2 {
    font-size: 28px;
  }

  .dashboard-ai-full-controls button:first-child {
    display: none;
  }

  .dashboard-ai-full-chat {
    padding: 16px;
  }

  .dashboard-ai-full-form {
    grid-template-columns: 1fr;
    padding: 14px 16px 16px;
  }

  .dashboard-ai-full-form div {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 1320px) and (min-width: 921px) {
  .dashboard-shell {
    grid-template-columns: 148px minmax(0, 1fr);
  }

  .dashboard-ai-floating {
    width: min(330px, calc(100vw - 48px));
  }
}

@media (max-width: 920px) {
  .dashboard-ai-floating,
  .dashboard-ai-launcher,
  .dashboard-ai-minimized {
    right: 14px;
    bottom: 14px;
  }

  .dashboard-ai-floating {
    width: min(340px, calc(100vw - 28px));
  }

  .dashboard-ai-chat-form {
    grid-template-columns: 1fr;
  }
}

/* Dashboard login: replaces the native-looking profile chip with a portal sign-in flow. */
.dashboard-login-trigger {
  --primary-color: #09a979;
  --secondary-color: #fff;
  --hover-color: #13213c;
  --arrow-width: 12px;
  --arrow-stroke: 2px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 0.62em;
  min-height: 46px;
  padding: 0 22px;
  border: 0;
  border-radius: 20px;
  color: var(--secondary-color);
  background: var(--primary-color);
  box-shadow: 0 14px 28px rgba(7, 143, 116, 0.22);
  cursor: pointer;
  font: inherit;
  font-weight: 950;
  transition: background 0.2s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.dashboard-login-trigger-icon {
  display: none;
}

.dashboard-login-arrow-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.dashboard-login-arrow {
  position: relative;
  width: var(--arrow-width);
  height: var(--arrow-stroke);
  margin-top: 1px;
  background: var(--secondary-color);
  transition: 0.2s;
}

.dashboard-login-arrow::before {
  content: "";
  position: absolute;
  top: -3px;
  right: 3px;
  box-sizing: border-box;
  display: inline-block;
  padding: 3px;
  border: solid var(--secondary-color);
  border-width: 0 var(--arrow-stroke) var(--arrow-stroke) 0;
  transform: rotate(-45deg);
  transition: 0.2s;
}

.dashboard-login-trigger:hover,
.dashboard-login-trigger:focus-visible {
  background: var(--hover-color);
  box-shadow: 0 16px 30px rgba(19, 33, 60, 0.18);
  transform: translateY(-1px);
}

.dashboard-login-trigger:hover .dashboard-login-arrow,
.dashboard-login-trigger:focus-visible .dashboard-login-arrow {
  background: var(--secondary-color);
}

.dashboard-login-trigger:hover .dashboard-login-arrow::before,
.dashboard-login-trigger:focus-visible .dashboard-login-arrow::before {
  right: 0;
}

.dashboard-login-trigger strong {
  color: inherit;
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
}

.dashboard-login-layer {
  position: fixed;
  inset: 0;
  z-index: 140;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 32% 20%, rgba(184, 245, 230, 0.32), transparent 34%),
    radial-gradient(circle at 72% 18%, rgba(196, 231, 255, 0.36), transparent 32%),
    rgba(248, 252, 255, 0.78);
  backdrop-filter: blur(14px);
}

.auth-modal-backdrop.is-open {
  z-index: 140;
  display: grid;
  place-items: center;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    radial-gradient(circle at 32% 20%, rgba(184, 245, 230, 0.32), transparent 34%),
    radial-gradient(circle at 72% 18%, rgba(196, 231, 255, 0.36), transparent 32%),
    rgba(248, 252, 255, 0.78);
  backdrop-filter: blur(14px);
}

.dashboard-login-dialog {
  position: relative;
  width: min(430px, calc(100vw - 48px));
  min-height: 388px;
  box-sizing: border-box;
  padding: 28px 38px 32px;
  border: 1px solid rgba(202, 219, 232, 0.9);
  border-radius: 12px;
  color: #13213c;
  background: rgba(255, 255, 255, 0.96);
  box-shadow:
    0 28px 78px rgba(35, 61, 91, 0.13),
    0 0 0 1px rgba(255, 255, 255, 0.6) inset;
}

.dashboard-login-dialog [hidden] {
  display: none !important;
}

.dashboard-login-close {
  position: absolute;
  top: 18px;
  right: 18px;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 8px;
  color: #526888;
  background: transparent;
  cursor: pointer;
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
}

.dashboard-login-close:hover,
.dashboard-login-close:focus-visible {
  color: #13213c;
  border-color: rgba(15, 184, 120, 0.38);
}

.dashboard-login-sr-title {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.dashboard-login-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 2px 18px;
  border-bottom: 1px solid rgba(198, 216, 232, 0.86);
}

.dashboard-login-tab {
  position: relative;
  min-height: 36px;
  border: 0;
  color: #6d7d98;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 780;
}

.dashboard-login-tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  border-radius: 999px;
  background: transparent;
}

.dashboard-login-tab.is-active {
  color: #07985f;
  font-weight: 950;
}

.dashboard-login-tab.is-active::after {
  background: #10b978;
}

.dashboard-login-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 0;
}

.dashboard-login-field {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  padding: 0 13px;
  border: 1px solid rgba(183, 207, 226, 0.92);
  border-radius: 10px;
  outline: 0;
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.dashboard-login-field:focus-within {
  border-color: rgba(16, 177, 145, 0.58);
  box-shadow:
    0 0 0 4px rgba(16, 177, 145, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.dashboard-login-field input {
  min-width: 0;
  width: 100%;
  border: 0;
  outline: 0;
  color: #13213c;
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 760;
}

.dashboard-login-field input::placeholder {
  color: #7d8ea8;
}

.dashboard-login-field-icon,
.dashboard-login-eye-icon {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: #7790ad;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.dashboard-login-eye {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-right: -5px;
  border: 0;
  border-radius: 8px;
  color: #7790ad;
  background: transparent;
  cursor: pointer;
}

.dashboard-login-eye:hover,
.dashboard-login-eye:focus-visible {
  background: rgba(231, 243, 251, 0.9);
}

.dashboard-login-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 22px;
  margin-top: 1px;
}

.dashboard-login-check {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #526888;
  font-size: 11px;
  font-weight: 760;
  white-space: nowrap;
}

.dashboard-login-check input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.dashboard-login-check span {
  display: grid;
  place-items: center;
  width: 14px;
  height: 14px;
  border: 1px solid rgba(126, 172, 199, 0.78);
  border-radius: 3px;
  background: #ffffff;
}

.dashboard-login-check input:checked + span {
  border-color: #10b978;
  background: #10b978;
}

.dashboard-login-check input:checked + span::before {
  content: "";
  width: 7px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg) translate(1px, -1px);
}

.dashboard-login-forgot {
  padding: 0;
  border: 0;
  color: #526888;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  text-decoration: underline;
  text-decoration-color: rgba(104, 124, 154, 0.46);
  text-underline-offset: 3px;
}

.dashboard-login-forgot:hover,
.dashboard-login-forgot:focus-visible {
  color: #13213c;
}

.dashboard-login-submit {
  min-height: 42px;
  margin-top: 2px;
  border: 0;
  border-radius: 10px;
  color: #ffffff;
  background: linear-gradient(135deg, #0bbd76, #079f87);
  box-shadow: 0 14px 26px rgba(4, 157, 111, 0.18);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 950;
}

.dashboard-login-submit:active {
  box-shadow: none;
  transform: translateY(1px);
}

.dashboard-login-divider {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 15px 0 13px;
  color: #687c9a;
  text-align: center;
  font-size: 11px;
  font-weight: 760;
}

.dashboard-login-divider span {
  height: 1px;
  background: rgba(198, 216, 232, 0.82);
}

.dashboard-login-socials {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.dashboard-login-social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 42px;
  border: 1px solid rgba(183, 207, 226, 0.96);
  border-radius: 10px;
  color: #13213c;
  background: rgba(255, 255, 255, 0.95);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(44, 77, 105, 0.06);
}

.dashboard-login-social-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  fill: currentColor;
}

.dashboard-login-social--apple {
  color: #111111;
}

.dashboard-login-social--google {
  color: #13213c;
}

.dashboard-login-social:hover,
.dashboard-login-social:focus-visible {
  border-color: rgba(16, 177, 145, 0.32);
  transform: translateY(-1px);
}

.dashboard-login-signup {
  margin: 18px 0 0;
  color: #687c9a;
  text-align: center;
  font-size: 12px;
  font-weight: 760;
}

.dashboard-login-signup button {
  padding: 0 0 0 3px;
  border: 0;
  color: #078f74;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 950;
  text-decoration: underline;
  text-decoration-color: rgba(7, 143, 116, 0.55);
  text-underline-offset: 3px;
}

@media (max-width: 920px) {
  .dashboard-login-trigger {
    width: 100%;
    justify-content: start;
  }
}

@media (max-width: 560px) {
  .dashboard-login-layer {
    align-items: end;
    padding: 14px;
  }

  .dashboard-login-dialog {
    width: 100%;
    min-height: 0;
    padding: 24px 22px 24px;
  }

  .dashboard-login-socials {
    grid-template-columns: 1fr;
  }
}

/* Specialists page dashboard shell: aligns the imported doctors catalog with the homepage UI. */
body.portal-specialists-dashboard {
  min-height: 100vh;
  overflow-x: hidden;
  color: #13213c;
  background:
    radial-gradient(circle at 18% 12%, rgba(47, 202, 142, 0.13), transparent 27%),
    radial-gradient(circle at 84% 10%, rgba(197, 231, 255, 0.52), transparent 34%),
    linear-gradient(180deg, #fbfdff 0%, #edf8fb 54%, #f8fcff 100%);
}

.image-fallback-note {
  display: none;
}

.specialists-dashboard-shell {
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  gap: 18px;
  min-height: 100vh;
  padding: 0 18px 44px 0;
}

.specialists-dashboard-main {
  min-width: 0;
  padding-top: 10px;
}

.portal-specialists-dashboard .dashboard-tools {
  position: static;
  top: auto;
  right: auto;
}

.portal-specialists-dashboard .dashboard-nav svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.portal-specialists-dashboard .specialists-dashboard-content {
  display: grid;
  gap: 18px;
}

.portal-specialists-dashboard .imported-content {
  gap: 18px;
}

.portal-specialists-dashboard .imported-head {
  position: relative;
  max-width: none;
  min-height: 280px;
  margin: 0;
  padding: clamp(30px, 4vw, 58px);
  overflow: hidden;
  border: 1px solid rgba(202, 219, 232, 0.8);
  border-radius: 18px;
  background:
    radial-gradient(circle at 83% 16%, rgba(183, 236, 255, 0.68), transparent 32%),
    radial-gradient(circle at 18% 88%, rgba(203, 248, 229, 0.64), transparent 36%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(242, 250, 252, 0.88));
  box-shadow: 0 20px 58px rgba(44, 77, 105, 0.1);
}

.portal-specialists-dashboard .imported-head::after {
  content: "";
  position: absolute;
  right: clamp(22px, 5vw, 80px);
  bottom: clamp(18px, 4vw, 58px);
  width: clamp(156px, 18vw, 260px);
  aspect-ratio: 1;
  background: url("/assets/generated/section-emblems/specialists.png?v=2") center / contain no-repeat;
  opacity: 0.78;
  filter: drop-shadow(0 24px 34px rgba(44, 77, 105, 0.16));
}

.portal-specialists-dashboard .imported-head > * {
  position: relative;
  z-index: 1;
}

.portal-specialists-dashboard .imported-head h1 {
  max-width: 760px;
  font-size: clamp(52px, 6vw, 96px);
  line-height: 0.92;
}

.portal-specialists-dashboard .imported-head .lead {
  max-width: 760px;
  margin-top: 14px;
  color: #60728d;
  font-size: clamp(18px, 1.55vw, 25px);
  font-weight: 780;
}

.portal-specialists-dashboard .imported-source-row {
  display: none;
}

.portal-specialists-dashboard .content-stat-strip {
  margin: -42px 0 8px clamp(18px, 3vw, 44px);
  position: relative;
  z-index: 2;
}

.portal-specialists-dashboard .content-stat-strip span {
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid rgba(202, 219, 232, 0.76);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 16px 38px rgba(42, 76, 105, 0.1);
}

.portal-specialists-dashboard .imported-block {
  gap: 20px;
  margin-top: 0;
  padding: clamp(18px, 2vw, 28px);
  border: 1px solid rgba(202, 219, 232, 0.78);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 254, 255, 0.9)),
    radial-gradient(circle at 12% 0%, rgba(218, 241, 255, 0.48), transparent 34%);
  box-shadow: 0 20px 58px rgba(44, 77, 105, 0.08);
}

.portal-specialists-dashboard .imported-block h2 {
  margin: 0;
  font-size: clamp(28px, 2.5vw, 42px);
}

.portal-specialists-dashboard .doctor-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.portal-specialists-dashboard .doctor-card {
  position: relative;
  display: grid;
  gap: 0;
  min-height: 430px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(202, 219, 232, 0.82);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 255, 0.94));
  box-shadow: 0 18px 44px rgba(42, 76, 105, 0.08);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.portal-specialists-dashboard .doctor-card:hover,
.portal-specialists-dashboard .doctor-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(16, 177, 145, 0.36);
  box-shadow: 0 26px 62px rgba(42, 76, 105, 0.14);
}

.portal-specialists-dashboard .doctor-card-photo {
  position: relative;
  aspect-ratio: 1.08 / 1;
  margin: 12px 12px 0;
  overflow: hidden;
  border-radius: 15px;
  background:
    radial-gradient(circle at 25% 18%, rgba(255, 255, 255, 0.96), transparent 28%),
    linear-gradient(135deg, rgba(15, 188, 130, 0.28), rgba(64, 154, 224, 0.2));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.76);
}

.portal-specialists-dashboard .doctor-card:nth-child(3n + 2) .doctor-card-photo {
  background:
    radial-gradient(circle at 25% 18%, rgba(255, 255, 255, 0.96), transparent 28%),
    linear-gradient(135deg, rgba(64, 154, 224, 0.24), rgba(153, 132, 237, 0.18));
}

.portal-specialists-dashboard .doctor-card:nth-child(3n) .doctor-card-photo {
  background:
    radial-gradient(circle at 25% 18%, rgba(255, 255, 255, 0.96), transparent 28%),
    linear-gradient(135deg, rgba(255, 214, 128, 0.28), rgba(15, 188, 130, 0.18));
}

.portal-specialists-dashboard .doctor-card-photo::after {
  content: "";
  position: absolute;
  inset: auto 14% 0;
  height: 18%;
  border-radius: 999px 999px 0 0;
  background: rgba(255, 255, 255, 0.36);
  filter: blur(10px);
}

.portal-specialists-dashboard .doctor-card-photo img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.portal-specialists-dashboard .doctor-card-photo .image-fallback-note {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: none;
  place-items: end start;
  padding: 18px;
  color: rgba(19, 33, 60, 0.58);
  font-size: 13px;
  font-weight: 850;
}

.portal-specialists-dashboard .doctor-card-photo.is-image-missing .image-fallback-note {
  display: grid;
}

.portal-specialists-dashboard .doctor-card-photo.is-image-missing::before {
  content: "";
  position: absolute;
  inset: 16%;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.16)),
    url("/assets/generated/section-emblems/specialists.png") center / min(58%, 180px) no-repeat;
  opacity: 0.78;
  filter: saturate(0.9);
}

.portal-specialists-dashboard .doctor-card-body {
  display: grid;
  gap: 9px;
  margin: 0 !important;
  padding: 18px 18px 20px;
}

.portal-specialists-dashboard .doctor-card-label {
  width: fit-content;
  margin: 0;
  padding: 6px 10px;
  border-radius: 999px;
  color: #0a9a60;
  background: rgba(231, 250, 240, 0.9);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.portal-specialists-dashboard .doctor-card h3 {
  margin: 0;
  color: #13213c;
  font-size: 20px;
  font-weight: 950;
  line-height: 1.1;
}

.portal-specialists-dashboard .doctor-card p {
  display: -webkit-box;
  min-height: 42px;
  margin: 0;
  overflow: hidden;
  color: #60728d;
  font-size: 14px;
  font-weight: 740;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.portal-specialists-dashboard .doctor-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 8px;
}

.portal-specialists-dashboard .doctor-card-meta span {
  min-width: 0;
  overflow: hidden;
  color: #26609d;
  font-size: 12px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portal-specialists-dashboard .doctor-card-meta b {
  flex: 0 0 auto;
  padding: 9px 12px;
  border-radius: 999px;
  color: #ffffff;
  background: linear-gradient(135deg, #0bbd76, #079f87);
  box-shadow: 0 12px 24px rgba(4, 157, 111, 0.16);
  font-size: 12px;
  font-weight: 950;
}

@media (max-width: 1320px) {
  .portal-specialists-dashboard .doctor-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .specialists-dashboard-shell {
    grid-template-columns: 1fr;
    padding: 12px;
  }

  .specialists-dashboard-sidebar {
    position: static;
    height: auto;
    border-left: 1px solid rgba(202, 219, 232, 0.78);
    border-radius: 12px;
  }

  .portal-specialists-dashboard .doctor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portal-specialists-dashboard .imported-head::after {
    opacity: 0.28;
  }
}

@media (max-width: 620px) {
  .portal-specialists-dashboard .doctor-grid {
    grid-template-columns: 1fr;
  }

  .portal-specialists-dashboard .imported-head {
    min-height: 0;
    padding: 24px;
  }
}

/* Bigger desktop navigation rail for the portal dashboard pages. */
@media (min-width: 1100px) {
  .dashboard-shell {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 20px;
    padding-right: 20px;
  }

  .specialists-dashboard-shell {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 20px;
    padding-right: 20px;
  }

  .dashboard-sidebar {
    gap: 20px;
    padding: 22px 18px;
  }

  .dashboard-logo {
    min-height: 132px;
  }

  .dashboard-logo img {
    width: 112px;
    height: 112px;
  }

  .dashboard-nav {
    gap: 8px;
  }

  .dashboard-nav a {
    min-height: 52px;
    gap: 14px;
    padding: 0 18px;
    border-radius: 16px;
    font-size: 17px;
    font-weight: 850;
  }

  .dashboard-nav a::before {
    left: -18px;
    top: 12px;
    bottom: 12px;
  }

  .dashboard-nav span {
    width: 30px;
    height: 30px;
  }

  .dashboard-nav svg,
  .portal-specialists-dashboard .dashboard-nav svg {
    width: 24px;
    height: 24px;
  }
}

/* Specialists catalog visual refresh: compact dashboard layout and framed original portraits. */
.portal-specialists-dashboard .specialists-dashboard-main {
  padding-top: 16px;
}

.portal-specialists-dashboard .specialists-dashboard-content {
  gap: 14px;
}

.portal-specialists-dashboard .imported-content {
  gap: 14px;
}

.portal-specialists-dashboard .imported-head {
  display: block;
  min-height: 236px;
  padding: clamp(28px, 3.2vw, 44px) clamp(280px, 25vw, 380px) clamp(28px, 3.2vw, 44px) clamp(28px, 3.2vw, 44px);
  border-radius: 18px;
}

.portal-specialists-dashboard .imported-head h1 {
  max-width: 720px;
  font-size: clamp(50px, 4.9vw, 76px);
  line-height: 0.94;
}

.portal-specialists-dashboard .imported-head .lead {
  max-width: 760px;
  margin-top: 12px;
  font-size: clamp(17px, 1.28vw, 22px);
  line-height: 1.35;
}

.portal-specialists-dashboard .imported-head::after {
  position: absolute;
  right: clamp(28px, 5vw, 70px);
  bottom: clamp(24px, 3.2vw, 42px);
  display: block;
  width: clamp(170px, 16vw, 240px);
  opacity: 0.82;
}

.portal-specialists-dashboard .content-stat-strip {
  margin: -34px 0 0 clamp(18px, 2.6vw, 42px);
}

.portal-specialists-dashboard .imported-block {
  gap: 18px;
  padding: clamp(20px, 2.2vw, 30px);
}

.portal-specialists-dashboard .imported-block h2 {
  font-size: clamp(31px, 2.35vw, 42px);
  line-height: 1;
}

.portal-specialists-dashboard .doctor-grid {
  gap: 18px;
}

.portal-specialists-dashboard .doctor-card {
  min-height: 0;
  border-radius: 18px;
  background:
    radial-gradient(circle at 14% 0%, rgba(228, 248, 243, 0.9), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 253, 255, 0.95));
}

.portal-specialists-dashboard .doctor-card-photo {
  aspect-ratio: 1.27 / 1;
  margin: 12px 12px 0;
  border: 1px solid rgba(202, 219, 232, 0.72);
  border-radius: 15px;
  background: #eff9fb;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}

.portal-specialists-dashboard .doctor-card:nth-child(3n + 2) .doctor-card-photo,
.portal-specialists-dashboard .doctor-card:nth-child(3n) .doctor-card-photo {
  background: #eff9fb;
}

.portal-specialists-dashboard .doctor-card-photo::after {
  display: none;
}

.portal-specialists-dashboard .doctor-card-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.portal-specialists-dashboard .doctor-card-body {
  gap: 8px;
  padding: 16px 16px 17px;
}

.portal-specialists-dashboard .doctor-card-label {
  padding: 5px 9px;
  font-size: 10px;
}

.portal-specialists-dashboard .doctor-card h3 {
  font-size: clamp(17px, 1.08vw, 20px);
  line-height: 1.12;
}

.portal-specialists-dashboard .doctor-card p {
  min-height: 38px;
  font-size: 13px;
  line-height: 1.32;
}

.portal-specialists-dashboard .doctor-card-meta {
  margin-top: 5px;
}

.portal-specialists-dashboard .doctor-card-meta span {
  max-width: 52%;
}

.portal-specialists-dashboard .doctor-card-meta b {
  padding: 8px 11px;
  font-size: 11px;
}

.portal-specialists-dashboard .advisor-float-anchor {
  display: none !important;
}

.portal-specialists-dashboard .assistant-launcher,
.portal-specialists-dashboard .assistant-drawer {
  display: none !important;
}

@media (min-width: 1440px) {
  .portal-specialists-dashboard .doctor-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .portal-specialists-dashboard .imported-head {
    padding-right: 24px;
  }

  .portal-specialists-dashboard .imported-head::after {
    opacity: 0.2;
  }
}

/* Homepage materials strip: full-bleed editorial images like the dashboard reference. */
.dashboard-strip .dashboard-material-card {
  isolation: isolate;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  align-content: end;
  min-height: 126px;
  padding: 13px 14px 12px;
  border-color: rgba(202, 219, 232, 0.84);
  background: #eff9fb;
  box-shadow:
    0 12px 24px rgba(42, 76, 105, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.dashboard-strip .dashboard-material-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.78) 34%, rgba(255, 255, 255, 0.2) 66%, rgba(255, 255, 255, 0.04) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(245, 252, 255, 0.22) 100%);
}

.dashboard-strip .dashboard-material-card::after {
  content: "";
  position: absolute;
  left: 13px;
  top: 12px;
  z-index: 1;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.56);
  filter: blur(12px);
  pointer-events: none;
}

.dashboard-strip .dashboard-material-card:hover {
  transform: translateY(-3px);
  border-color: rgba(15, 184, 120, 0.46);
  box-shadow:
    0 18px 34px rgba(42, 76, 105, 0.13),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.dashboard-strip .dashboard-material-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  grid-column: auto;
  grid-row: auto;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: inherit;
  background: #eff9fb;
  box-shadow: none;
}

.dashboard-strip .dashboard-material-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: none;
}

.dashboard-strip .dashboard-material-card span,
.dashboard-strip .dashboard-material-card h3,
.dashboard-strip .dashboard-material-card p {
  position: relative;
  z-index: 2;
  max-width: 68%;
}

.dashboard-strip .dashboard-material-card span {
  width: fit-content;
  padding: 4px 7px;
  border-radius: 999px;
  color: #0a9a60;
  background: rgba(237, 251, 244, 0.88);
  font-size: 9px;
  line-height: 1;
}

.dashboard-strip .dashboard-material-card h3 {
  max-height: 48px;
  margin-top: 7px;
  color: #13213c;
  font-size: 13px;
  line-height: 1.16;
  text-wrap: balance;
  -webkit-line-clamp: 3;
}

.dashboard-strip .dashboard-material-card p {
  margin-top: 8px;
  color: #667996;
  font-size: 10px;
}

@media (min-width: 1680px) {
  .dashboard-strip .dashboard-material-card {
    min-height: 136px;
  }
}

@media (max-width: 920px) {
  .dashboard-strip .dashboard-material-card {
    min-height: 148px;
  }

  .dashboard-strip .dashboard-material-card span,
  .dashboard-strip .dashboard-material-card h3,
  .dashboard-strip .dashboard-material-card p {
    max-width: 72%;
  }
}

/* Dashboard sidebar clarity: remove frosted blur and increase text/icon contrast. */
.dashboard-sidebar {
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(190, 211, 226, 0.94) !important;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: 8px 0 22px rgba(44, 77, 105, 0.06) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.dashboard-nav {
  position: relative;
  z-index: 1;
}

.dashboard-logo img {
  opacity: 1;
  filter: none;
}

.dashboard-nav a {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  color: #2f4560;
  font-weight: 950;
  text-shadow: none;
}

.dashboard-nav span {
  color: #2f5f91;
}

.dashboard-nav svg {
  stroke-width: 2.15;
}

.dashboard-nav a:hover,
.dashboard-nav a:focus-visible,
.dashboard-nav a.is-active {
  color: #07965e;
  background: linear-gradient(90deg, #ecfbf5 0%, #f7fffb 100%);
  box-shadow: inset 0 0 0 1px rgba(17, 190, 128, 0.08);
}

.dashboard-nav a.is-active span {
  color: #2f6698;
}

/* Homepage search: Uiverse-style pill adapted to the soft medical dashboard. */
.dashboard-search {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: min(820px, calc(100% - 56px));
  min-height: 68px;
  margin: 0 auto 14px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(198, 216, 232, 0.96);
  border-radius: 50px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 253, 255, 0.94)),
    radial-gradient(circle at 92% 50%, rgba(219, 249, 235, 0.54), transparent 34%);
  box-shadow:
    0 18px 42px rgba(61, 91, 123, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  backdrop-filter: none;
}

.dashboard-search input {
  width: 100%;
  min-width: 0;
  min-height: 68px;
  padding: 0 86px 0 28px;
  border: 0;
  outline: 0;
  color: #13213c;
  background: transparent;
  font-size: 18px;
  font-weight: 800;
}

.dashboard-search input::placeholder {
  color: #7f8da0;
  opacity: 1;
}

.dashboard-search button {
  position: absolute;
  top: 50%;
  right: 8px;
  display: inline-grid;
  place-items: center;
  width: 52px;
  height: 52px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(90deg, #20d792 0%, #079fe0 100%);
  box-shadow: 0 12px 24px rgba(0, 158, 133, 0.24);
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    color 300ms cubic-bezier(0.23, 1, 0.32, 1),
    background 300ms cubic-bezier(0.23, 1, 0.32, 1),
    box-shadow 300ms cubic-bezier(0.23, 1, 0.32, 1),
    transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.dashboard-search button:hover,
.dashboard-search button:focus-visible {
  color: #fff;
  background: #13213c;
  box-shadow: 0 14px 24px rgba(19, 33, 60, 0.25);
  transform: translateY(calc(-50% - 3px));
}

.dashboard-search button:active {
  box-shadow: none;
  transform: translateY(-50%);
}

.dashboard-search button svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
  filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.18));
}

@media (max-width: 920px) {
  .dashboard-search {
    width: 100%;
    min-height: 62px;
    border-radius: 32px;
  }

  .dashboard-search input {
    min-height: 62px;
    padding: 0 76px 0 20px;
    font-size: 15px;
  }

  .dashboard-search button {
    right: 7px;
    width: 48px;
    height: 48px;
  }
}

/* New support portal concept, 2026-06 customer direction. */
body.portal-dashboard-home {
  min-width: 1180px;
  margin: 0;
  color: #10213f;
  background:
    radial-gradient(circle at 2% 12%, rgba(222, 248, 236, 0.8), transparent 30%),
    radial-gradient(circle at 80% 0%, rgba(232, 246, 255, 0.92), transparent 36%),
    linear-gradient(180deg, #f7fbf8 0%, #f4f8f6 100%);
  font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

.support-home-shell {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  min-height: 100vh;
}

.support-sidebar {
  position: sticky;
  top: 0;
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  gap: 24px;
  height: 100vh;
  padding: 24px 16px 22px;
  border-right: 1px solid rgba(206, 224, 218, 0.82);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 12px 0 34px rgba(43, 84, 77, 0.06);
}

.support-brand {
  display: grid;
  grid-template-columns: 54px 1fr;
  align-items: center;
  gap: 12px;
  color: #10213f;
  text-decoration: none;
}

.support-brand img {
  width: 54px;
  height: 54px;
  object-fit: contain;
}

.support-brand strong {
  display: block;
  font-size: 15px;
  line-height: 1.08;
  font-weight: 950;
}

.support-brand small {
  display: block;
  margin-top: 4px;
  color: #6d7d92;
  font-size: 12px;
  font-weight: 750;
}

.support-nav {
  display: grid;
  align-content: start;
  gap: 9px;
  padding-top: 6px;
}

.support-nav a {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 11px;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 10px;
  color: #2a3a52;
  text-decoration: none;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.16;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.support-nav a:hover,
.support-nav a:focus-visible,
.support-nav a.is-active {
  color: #0e8d57;
  background: #eaf9f1;
  outline: 0;
}

.support-nav a:hover {
  transform: translateX(2px);
}

.support-nav span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
}

.support-nav svg,
.support-sidebar-help svg,
.support-secondary svg,
.support-section-card svg,
.support-note-card svg,
.support-search svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.1;
}

.support-sidebar-help {
  display: grid;
  gap: 8px;
  padding: 14px;
  overflow: hidden;
  border: 1px solid rgba(203, 224, 216, 0.9);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(238, 251, 245, 0.98), rgba(255, 255, 255, 0.97)),
    radial-gradient(circle at 20% 0%, rgba(57, 180, 116, 0.15), transparent 40%);
}

.support-sidebar-help > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  color: #15945d;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(39, 118, 91, 0.09);
}

.support-sidebar-help strong {
  font-size: 14px;
  font-weight: 950;
}

.support-sidebar-help p {
  margin: 0;
  color: #738092;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
}

.support-sidebar-help img {
  width: 100%;
  height: 82px;
  object-fit: cover;
  border-radius: 10px;
  filter: saturate(0.86);
}

.support-sidebar-mail {
  color: #31506f;
  text-decoration: none;
  font-size: 13px;
  font-weight: 850;
}

.support-main {
  padding: 26px 20px 24px;
}

.support-topbar {
  display: grid;
  grid-template-columns: minmax(340px, 420px) auto auto;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
}

.support-search {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 12px;
  height: 50px;
  padding: 0 18px 0 17px;
  border: 1px solid rgba(204, 219, 218, 0.9);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 10px 24px rgba(48, 76, 98, 0.06);
}

.support-search svg {
  color: #728198;
}

.support-search input {
  min-width: 0;
  border: 0;
  outline: 0;
  color: #172642;
  background: transparent;
  font-size: 14px;
  font-weight: 750;
}

.support-search input::placeholder {
  color: #7a8493;
}

.support-search button,
.support-primary,
.support-helper-copy a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 18px;
  border: 0;
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(180deg, #2d9a62, #19804e);
  box-shadow: 0 12px 24px rgba(22, 128, 78, 0.18);
  text-decoration: none;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}

.support-topnav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.support-topnav a {
  color: #344156;
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
}

.support-topnav a:hover,
.support-topnav a:focus-visible {
  color: #168150;
}

.support-topbar .dashboard-login-trigger {
  min-width: 92px;
  height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(35, 139, 82, 0.46);
  border-radius: 14px;
  color: #1a7a4d;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: none;
}

.support-topbar .dashboard-login-trigger strong {
  font-size: 14px;
}

.support-topbar .dashboard-login-arrow-wrapper {
  display: none;
}

.support-home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 318px;
  gap: 16px;
}

.support-home-left {
  min-width: 0;
}

.support-hero {
  position: relative;
  min-height: 332px;
  overflow: hidden;
  border: 1px solid rgba(207, 223, 216, 0.86);
  border-radius: 18px;
  background: #eef6ef;
  box-shadow: 0 18px 38px rgba(46, 78, 65, 0.11);
}

.support-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.support-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.9) 27%, rgba(255, 255, 255, 0.2) 55%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.18));
}

.support-hero-copy {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 18px;
  width: min(460px, 56%);
  min-height: 332px;
  padding: 38px 28px 34px;
}

.support-hero h1 {
  margin: 0;
  color: #0e1931;
  font-size: 44px;
  line-height: 0.98;
  font-weight: 950;
}

.support-hero p {
  max-width: 430px;
  margin: 0;
  color: #53617a;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 760;
}

.support-hero-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 510px;
}

.support-hero-points span {
  position: relative;
  min-height: 34px;
  padding-left: 30px;
  color: #40516b;
  font-size: 11px;
  line-height: 1.18;
  font-weight: 850;
}

.support-hero-points span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  border-radius: 7px;
  background: #e7f8ef;
  box-shadow: inset 0 0 0 1px rgba(29, 143, 85, 0.25);
}

.support-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.support-secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid rgba(203, 218, 213, 0.95);
  border-radius: 11px;
  color: #24324a;
  background: rgba(255, 255, 255, 0.94);
  text-decoration: none;
  font-size: 14px;
  font-weight: 900;
}

.support-secondary svg {
  width: 18px;
  height: 18px;
}

.support-trust-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: -1px 10px 22px;
  padding: 14px 18px;
  border: 1px solid rgba(216, 227, 222, 0.88);
  border-top: 0;
  border-radius: 0 0 16px 16px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 30px rgba(59, 83, 78, 0.07);
}

.support-trust-row span {
  color: #43536b;
  font-size: 12px;
  font-weight: 830;
}

.support-sections {
  display: grid;
  gap: 16px;
}

.support-sections h2,
.support-latest-card h2 {
  margin: 0;
  color: #10213f;
  font-size: 22px;
  line-height: 1.1;
  font-weight: 950;
}

.support-section-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.support-section-group {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.support-section-group h3 {
  margin: 0;
  color: #248359;
  font-size: 13px;
  font-weight: 950;
}

.support-section-group:nth-child(2) h3 {
  color: #2f70a6;
}

.support-section-group:nth-child(3) h3 {
  color: #b98428;
}

.support-section-card-grid {
  display: grid;
  gap: 10px;
}

.support-section-card {
  display: grid;
  grid-template-columns: 86px 1fr 22px;
  align-items: stretch;
  gap: 12px;
  min-height: 112px;
  padding: 8px;
  border: 1px solid rgba(210, 224, 219, 0.88);
  border-radius: 14px;
  color: #10213f;
  background: rgba(255, 255, 255, 0.94);
  text-decoration: none;
  box-shadow: 0 9px 22px rgba(51, 78, 73, 0.05);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.support-section-card:hover,
.support-section-card:focus-visible {
  outline: 0;
  transform: translateY(-2px);
  box-shadow: 0 15px 30px rgba(51, 78, 73, 0.09);
}

.support-section-card img {
  width: 86px;
  height: 96px;
  border-radius: 10px;
  object-fit: cover;
}

.support-section-card span {
  display: grid;
  align-content: center;
  gap: 7px;
  min-width: 0;
}

.support-section-card strong {
  font-size: 13px;
  line-height: 1.16;
  font-weight: 950;
}

.support-section-card small {
  display: -webkit-box;
  overflow: hidden;
  color: #607188;
  font-size: 11px;
  line-height: 1.32;
  font-weight: 730;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.support-section-card > svg {
  align-self: end;
  justify-self: end;
  width: 18px;
  height: 18px;
  color: #4b6684;
}

.support-home-right {
  display: grid;
  align-content: start;
  gap: 18px;
  min-width: 0;
}

.support-helper-card,
.support-latest-card,
.support-note-card {
  border: 1px solid rgba(211, 224, 219, 0.9);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 14px 34px rgba(53, 82, 74, 0.08);
}

.support-helper-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 104px;
  gap: 12px;
  min-height: 300px;
  padding: 20px 16px 16px;
  overflow: hidden;
}

.support-helper-copy {
  display: grid;
  align-content: start;
  gap: 13px;
  min-width: 0;
}

.support-helper-copy p {
  margin: 0;
  color: #10213f;
  font-size: 18px;
  font-weight: 950;
}

.support-helper-copy h2 {
  margin: 0;
  color: #53637a;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 780;
}

.support-helper-copy ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.support-helper-copy li {
  min-height: 33px;
  padding: 9px 10px;
  border-radius: 10px;
  color: #41516a;
  background: #f7fbf9;
  font-size: 11px;
  font-weight: 880;
}

.support-helper-copy a {
  width: 100%;
  margin-top: 2px;
  padding: 0 10px;
  font-size: 12px;
}

.support-helper-board {
  position: relative;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px 10px;
  border: 7px solid #188654;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff, #f7fbf8);
  box-shadow: 0 20px 32px rgba(29, 111, 76, 0.16);
  transform: rotate(6deg);
}

.support-helper-board strong {
  font-size: 11px;
  line-height: 1.15;
}

.support-helper-board span {
  position: relative;
  padding-left: 18px;
  color: #45566f;
  font-size: 10px;
  font-weight: 850;
}

.support-helper-board span::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #188654;
}

.support-side-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 20px 6px;
}

.support-side-head a {
  color: #1f8758;
  text-decoration: none;
  font-size: 12px;
  font-weight: 900;
}

.support-latest-list {
  display: grid;
  padding: 6px 18px 18px;
}

.support-latest-list a {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(218, 228, 224, 0.85);
  color: #10213f;
  text-decoration: none;
}

.support-latest-list a:last-child {
  border-bottom: 0;
}

.support-latest-list img {
  width: 88px;
  height: 64px;
  border-radius: 10px;
  object-fit: cover;
}

.support-latest-list span {
  display: grid;
  align-content: start;
  gap: 5px;
}

.support-latest-list time {
  color: #77869a;
  font-size: 11px;
  font-weight: 820;
}

.support-latest-list strong {
  display: -webkit-box;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.22;
  font-weight: 950;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.support-latest-list small {
  color: #1a8a59;
  font-size: 11px;
  font-weight: 850;
}

.support-note-card {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  background: #f8fbf5;
}

.support-note-card > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  color: #198654;
  background: #fff;
  box-shadow: 0 8px 18px rgba(43, 108, 80, 0.09);
}

.support-note-card p {
  margin: 0;
  color: #43536b;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 760;
}

.support-note-card a {
  color: #1a8555;
  text-decoration: none;
  font-size: 12px;
  font-weight: 950;
}

.support-bottom-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 20px;
  overflow: hidden;
  border: 1px solid rgba(214, 226, 221, 0.86);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 12px 28px rgba(52, 80, 73, 0.06);
}

.support-bottom-strip div {
  display: grid;
  gap: 4px;
  min-height: 68px;
  padding: 15px 18px;
  border-right: 1px solid rgba(214, 226, 221, 0.86);
}

.support-bottom-strip div:last-child {
  border-right: 0;
}

.support-bottom-strip strong {
  color: #1b8758;
  font-size: 13px;
  font-weight: 950;
}

.support-bottom-strip span {
  color: #65758b;
  font-size: 12px;
  font-weight: 760;
}

/* Support homepage desktop fit pass, 2026-06-22. */
body.portal-dashboard-home {
  min-width: 1120px;
}

.support-home-shell {
  grid-template-columns: 188px minmax(0, 1fr);
}

.support-sidebar {
  gap: 16px;
  padding: 18px 12px 16px;
}

.support-brand {
  grid-template-columns: 46px 1fr;
  gap: 9px;
}

.support-brand img {
  width: 46px;
  height: 46px;
}

.support-brand strong {
  font-size: 13px;
}

.support-brand small {
  font-size: 11px;
}

.support-nav {
  gap: 5px;
  padding-top: 2px;
}

.support-nav a {
  grid-template-columns: 22px 1fr;
  gap: 9px;
  min-height: 36px;
  padding: 0 10px;
  border-radius: 9px;
  font-size: 11.5px;
}

.support-nav span {
  width: 22px;
  height: 22px;
}

.support-nav svg,
.support-sidebar-help svg,
.support-secondary svg,
.support-section-card svg,
.support-note-card svg,
.support-search svg {
  width: 19px;
  height: 19px;
}

.support-sidebar-help {
  gap: 6px;
  padding: 11px;
  border-radius: 13px;
}

.support-sidebar-help > span {
  width: 30px;
  height: 30px;
  border-radius: 10px;
}

.support-sidebar-help strong {
  font-size: 12px;
}

.support-sidebar-help p {
  font-size: 10.5px;
}

.support-sidebar-help img {
  height: 62px;
}

.support-sidebar-mail {
  font-size: 11.5px;
}

.support-main {
  padding: 18px 16px 18px;
}

.support-topbar {
  grid-template-columns: minmax(300px, 420px) minmax(280px, 1fr) auto;
  gap: 16px;
  margin-bottom: 16px;
}

.support-search {
  height: 44px;
  grid-template-columns: 22px 1fr;
  border-radius: 13px;
}

.support-search button,
.support-primary,
.support-helper-copy a {
  min-height: 36px;
  border-radius: 10px;
  font-size: 13px;
}

.support-topnav {
  justify-content: end;
  gap: clamp(16px, 2vw, 24px);
}

.support-topnav a {
  font-size: 13px;
}

.support-topbar .dashboard-login-trigger {
  justify-self: end;
  width: auto !important;
  min-width: 88px;
  max-width: 108px;
  height: 42px;
  min-height: 42px;
  padding: 0 18px;
}

.support-home-grid {
  grid-template-columns: minmax(0, 1fr) 292px;
  gap: 14px;
}

.support-hero {
  min-height: 292px;
  border-radius: 16px;
}

.support-hero::after {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 28%, rgba(255, 255, 255, 0.28) 55%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.18));
}

.support-hero-copy {
  gap: 14px;
  width: min(420px, 56%);
  min-height: 292px;
  padding: 28px 22px 24px;
}

.support-hero h1 {
  font-size: 38px;
}

.support-hero p {
  font-size: 14px;
  line-height: 1.3;
}

.support-hero-points {
  gap: 8px;
}

.support-hero-points span {
  min-height: 30px;
  padding-left: 26px;
  font-size: 10px;
}

.support-hero-points span::before {
  width: 18px;
  height: 18px;
  border-radius: 6px;
}

.support-trust-row {
  gap: 10px;
  margin: -1px 8px 14px;
  padding: 10px 14px;
  border-radius: 0 0 14px 14px;
}

.support-trust-row span {
  font-size: 10.5px;
  line-height: 1.25;
}

.support-sections {
  gap: 11px;
}

.support-sections h2,
.support-latest-card h2 {
  font-size: 20px;
}

.support-section-groups {
  gap: 12px;
  align-items: start;
}

.support-section-group {
  gap: 8px;
  align-content: start;
}

.support-section-group h3 {
  font-size: 12px;
}

.support-section-card-grid {
  gap: 8px;
}

.support-section-card {
  grid-template-columns: 72px 1fr 18px;
  gap: 10px;
  min-height: 92px;
  padding: 7px;
  border-radius: 12px;
}

.support-section-card img {
  width: 72px;
  height: 78px;
  border-radius: 9px;
}

.support-section-card span {
  gap: 5px;
}

.support-section-card strong {
  font-size: 12px;
}

.support-section-card small {
  font-size: 10px;
  line-height: 1.25;
  -webkit-line-clamp: 2;
}

.support-section-card > svg {
  width: 16px;
  height: 16px;
}

.support-home-right {
  gap: 12px;
}

.support-helper-card,
.support-latest-card,
.support-note-card {
  border-radius: 16px;
}

.support-helper-card {
  grid-template-columns: minmax(0, 1fr) 86px;
  gap: 10px;
  min-height: 252px;
  padding: 16px 12px 12px;
}

.support-helper-copy {
  gap: 10px;
}

.support-helper-copy p {
  font-size: 16px;
}

.support-helper-copy h2 {
  font-size: 11.5px;
  line-height: 1.32;
}

.support-helper-copy ul {
  gap: 6px;
}

.support-helper-copy li {
  min-height: 28px;
  padding: 7px 9px;
  border-radius: 9px;
  font-size: 10px;
}

.support-helper-copy a {
  font-size: 11px;
}

.support-helper-board {
  gap: 9px;
  padding: 14px 8px;
  border-width: 6px;
  border-radius: 13px;
}

.support-helper-board strong {
  font-size: 9.5px;
}

.support-helper-board span {
  padding-left: 15px;
  font-size: 8.5px;
}

.support-side-head {
  padding: 16px 16px 4px;
}

.support-side-head a {
  font-size: 10.5px;
}

.support-latest-list {
  padding: 4px 14px 14px;
}

.support-latest-list a {
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 10px;
  padding: 9px 0;
}

.support-latest-list img {
  width: 72px;
  height: 52px;
  border-radius: 9px;
}

.support-latest-list span {
  gap: 4px;
}

.support-latest-list time,
.support-latest-list small {
  font-size: 10px;
}

.support-latest-list strong {
  font-size: 11.5px;
  line-height: 1.18;
}

.support-note-card {
  grid-template-columns: 34px 1fr auto;
  gap: 10px;
  padding: 12px 14px;
}

.support-note-card > span {
  width: 34px;
  height: 34px;
  border-radius: 10px;
}

.support-note-card p,
.support-note-card a {
  font-size: 10.5px;
}

.support-bottom-strip {
  margin-top: 14px;
  border-radius: 14px;
}

.support-bottom-strip div {
  min-height: 54px;
  padding: 11px 14px;
}

.support-bottom-strip strong {
  font-size: 11.5px;
}

.support-bottom-strip span {
  font-size: 10.5px;
}

body.portal-dashboard-home .dashboard-ai-launcher,
body.portal-dashboard-home .dashboard-ai-minimized {
  inset: auto 14px 10px auto !important;
  min-height: 34px;
  padding: 0 13px;
  box-shadow: 0 12px 26px rgba(39, 72, 105, 0.14);
}

body.portal-dashboard-home .dashboard-ai-launcher strong,
body.portal-dashboard-home .dashboard-ai-minimized strong {
  font-size: 11px;
}

/* Right column cleanup: keep assistant/material cards straight and proportional. */
.support-home-grid {
  grid-template-columns: minmax(0, 1fr) 292px;
}

.support-home-right {
  gap: 12px;
}

.support-helper-card {
  grid-template-columns: minmax(0, 1fr) 100px;
  align-items: center;
  min-height: 252px;
  padding: 16px 14px 14px;
}

.support-helper-visual {
  align-self: center;
  justify-self: end;
  display: block;
  width: 108px !important;
  min-width: 0 !important;
  max-width: 108px !important;
  height: 206px !important;
  max-height: 206px !important;
  object-fit: contain;
  object-position: center;
  margin-right: -8px;
  border: 0;
  filter: drop-shadow(0 18px 24px rgba(22, 101, 63, 0.18));
  transform: rotate(2deg);
  pointer-events: none;
}

.support-helper-copy {
  align-content: center;
}

.support-helper-copy a {
  width: max-content;
  min-width: 154px;
  padding: 0 14px;
}

.support-helper-board {
  align-self: center;
  justify-self: end;
  width: 78px;
  min-height: 168px;
  gap: 12px;
  padding: 14px 10px;
  border-width: 5px;
  border-radius: 12px;
  transform: none;
  transform-origin: center;
}

.support-helper-board strong {
  display: block;
  width: 58px;
  height: 22px;
  border-radius: 7px;
  background:
    linear-gradient(90deg, rgba(17, 31, 58, 0.92), rgba(17, 31, 58, 0.44) 70%, transparent 70%),
    linear-gradient(90deg, rgba(17, 31, 58, 0.5), rgba(17, 31, 58, 0.22));
  background-position: 0 2px, 0 15px;
  background-size: 58px 7px, 42px 5px;
  background-repeat: no-repeat;
  font-size: 0;
  line-height: 0;
}

.support-helper-board span {
  display: block;
  position: relative;
  width: 56px;
  height: 7px;
  overflow: hidden;
  margin-left: 14px;
  padding-left: 0;
  border-radius: 999px;
  color: transparent;
  background: linear-gradient(90deg, rgba(58, 91, 116, 0.34), rgba(58, 91, 116, 0.08));
  font-size: 0;
  line-height: 0;
}

.support-helper-board span::before {
  top: -5px;
  left: -16px;
  color: #188654;
  font-size: 13px;
  line-height: 1;
}

.support-latest-card {
  overflow: hidden;
}

.support-side-head {
  align-items: start;
}

.support-latest-list a {
  grid-template-columns: 66px minmax(0, 1fr);
  align-items: center;
}

.support-latest-list img {
  width: 66px;
  height: 50px;
}

.support-latest-list strong {
  -webkit-line-clamp: 2;
}

.support-note-card {
  grid-template-columns: 32px minmax(0, 1fr) auto;
}

@media (max-width: 1260px) {
  .support-home-shell {
    grid-template-columns: 176px minmax(0, 1fr);
  }

  .support-main {
    padding-right: 12px;
    padding-left: 12px;
  }

  .support-topbar {
    grid-template-columns: minmax(280px, 360px) minmax(250px, 1fr) auto;
    gap: 12px;
  }

  .support-topnav {
    gap: 16px;
  }

  .support-home-grid {
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 12px;
  }

  .support-helper-card {
    grid-template-columns: minmax(0, 1fr) 92px;
  }

  .support-helper-visual {
    width: 100px !important;
    max-width: 100px !important;
    height: 196px !important;
    max-height: 196px !important;
    margin-right: -10px;
  }

  .support-helper-board {
    width: 70px;
  }

  .support-section-groups {
    gap: 10px;
  }

  .support-section-card {
    grid-template-columns: 64px 1fr 16px;
    gap: 8px;
  }

  .support-section-card img {
    width: 64px;
  }
}

/* Right column reference pass: generated assets + real UI, no reference crops. */
.support-home-grid {
  grid-template-columns: minmax(0, 1fr) clamp(380px, 26vw, 430px);
  gap: 18px;
}

.support-home-right {
  gap: 20px;
}

.support-helper-card,
.support-latest-card,
.support-note-card {
  border-color: rgba(210, 224, 219, 0.92);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 38px rgba(53, 82, 74, 0.08);
}

.support-helper-card {
  position: relative;
  display: block;
  min-height: 332px;
  padding: 24px 22px 20px;
  background:
    radial-gradient(circle at 74% 50%, rgba(235, 249, 241, 0.78), rgba(255, 255, 255, 0) 52%),
    rgba(255, 255, 255, 0.97);
}

.support-helper-copy {
  position: relative;
  z-index: 1;
  align-content: start;
  gap: 13px;
  width: 244px;
}

.support-helper-copy p {
  display: flex;
  align-items: center;
  gap: 11px;
  width: calc(100% + 130px);
  max-width: calc(100vw - 260px);
  font-size: 21px;
  line-height: 1.13;
  letter-spacing: 0;
}

.support-helper-copy p::before {
  content: "✦";
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 27px;
  height: 27px;
  border-radius: 9px;
  color: #1b9b61;
  background: #e9f9f1;
  box-shadow: inset 0 0 0 1px rgba(28, 143, 86, 0.12);
  font-size: 22px;
  line-height: 1;
}

.support-helper-copy h2 {
  width: calc(100% + 86px);
  max-width: 340px;
  font-size: 13.5px;
  line-height: 1.35;
  font-weight: 760;
}

.support-helper-copy ul {
  gap: 0;
  width: 226px;
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(220, 232, 227, 0.86);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 22px rgba(52, 89, 75, 0.045);
}

.support-helper-copy li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 7px 0;
  border-radius: 0;
  background: transparent;
  color: #10213f;
}

.support-helper-copy li + li {
  border-top: 1px solid rgba(224, 232, 229, 0.84);
}

.support-helper-copy li > span:first-child {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 9px;
  color: #1a8b59;
  background: #eefaf4;
}

.support-helper-copy li:nth-child(2) > span:first-child {
  color: #2f87c8;
  background: #edf6fd;
}

.support-helper-copy li:nth-child(3) > span:first-child {
  color: #d28b37;
  background: #fff4e7;
}

.support-helper-copy li:nth-child(4) > span:first-child {
  color: #4383bb;
  background: #edf7fb;
}

.support-helper-copy li svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.support-helper-copy li svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.support-helper-copy li > span:last-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.support-helper-copy li strong {
  overflow: hidden;
  color: #10213f;
  font-size: 12.5px;
  line-height: 1.12;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.support-helper-copy li small {
  overflow: hidden;
  color: #6a778a;
  font-size: 9.8px;
  line-height: 1.15;
  font-weight: 720;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.support-helper-copy a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 266px;
  max-width: calc(100% + 58px);
  min-width: 0;
  min-height: 44px;
  margin-top: 6px;
  padding: 0 14px 0 18px;
  border-radius: 10px;
  font-size: 13.5px;
  white-space: nowrap;
}

.support-helper-copy a > span {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 23px;
  height: 23px;
  border-radius: 999px;
  color: #168a54;
  background: #ffffff;
}

.support-helper-copy a svg {
  width: 15px;
  height: 15px;
}

.support-helper-visual {
  position: absolute;
  right: 6px;
  top: 120px;
  width: 158px !important;
  max-width: 100% !important;
  height: 242px !important;
  max-height: 242px !important;
  margin-right: -7px;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 20px 24px rgba(20, 105, 68, 0.2));
  transform: rotate(4deg);
}

.support-latest-card {
  overflow: hidden;
}

.support-side-head {
  align-items: start;
  padding: 22px 22px 8px;
}

.support-side-head a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding-top: 1px;
  color: #1b8a59;
  font-size: 12px;
  line-height: 1.2;
}

.support-side-head a::after {
  content: "→";
  font-size: 14px;
  line-height: 1;
}

.support-latest-card h2 {
  max-width: 190px;
  font-size: 22px;
  line-height: 1.02;
}

.support-latest-list {
  padding: 4px 22px 20px;
}

.support-latest-list a {
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 15px 0;
}

.support-latest-list img {
  width: 110px;
  height: 70px;
  border-radius: 11px;
  object-fit: cover;
  object-position: center;
}

.support-latest-list time {
  color: #738299;
  font-size: 12px;
  line-height: 1;
}

.support-latest-list strong {
  font-size: 14px;
  line-height: 1.18;
}

.support-latest-list small {
  color: #1c8b59;
  font-size: 12px;
  line-height: 1.05;
}

.support-note-card {
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 16px;
  padding: 18px 22px;
  background:
    linear-gradient(90deg, rgba(250, 254, 249, 0.98), rgba(246, 252, 244, 0.95)),
    #ffffff;
}

.support-note-card > span {
  width: 48px;
  height: 48px;
  border-radius: 13px;
}

.support-note-card p {
  font-size: 12.5px;
  line-height: 1.32;
}

.support-note-card a {
  font-size: 12.5px;
  white-space: nowrap;
}

@media (max-width: 1260px) {
  .support-home-grid {
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 14px;
  }

  .support-home-right {
    gap: 16px;
  }

  .support-helper-card {
    min-height: 306px;
    padding: 22px 18px 18px;
  }

  .support-helper-copy {
    width: 226px;
  }

  .support-helper-copy p {
    width: calc(100% + 118px);
  }

  .support-helper-copy h2 {
    width: calc(100% + 72px);
  }

  .support-helper-copy p {
    font-size: 19px;
  }

  .support-helper-copy h2 {
    font-size: 12.5px;
  }

  .support-helper-copy ul,
  .support-helper-copy a {
    max-width: calc(100% + 42px);
  }

  .support-helper-copy ul {
    width: 224px;
    max-width: 100%;
  }

  .support-helper-copy a {
    width: 248px;
  }

  .support-helper-copy li {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 8px;
    min-height: 45px;
  }

  .support-helper-copy li strong {
    font-size: 11.5px;
  }

  .support-helper-copy li small {
    font-size: 9px;
  }

  .support-helper-copy a {
    min-height: 40px;
    padding-right: 12px;
    padding-left: 14px;
    font-size: 11.4px;
  }

  .support-helper-visual {
    right: 4px;
    top: 112px;
    width: 132px !important;
    max-width: 132px !important;
    height: 222px !important;
    max-height: 222px !important;
    margin-right: -8px;
  }

  .support-side-head {
    padding: 19px 18px 5px;
  }

  .support-latest-card h2 {
    font-size: 20px;
  }

  .support-latest-list {
    padding: 4px 18px 17px;
  }

  .support-latest-list a {
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 0;
  }

  .support-latest-list img {
    width: 94px;
    height: 62px;
  }

  .support-latest-list strong {
    font-size: 12.8px;
  }

  .support-note-card {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 16px 18px;
  }
}

/* Generated helper emblems: no SVG fallback blobs, no extra icon background. */
.support-helper-copy li > span:first-child {
  width: 38px;
  height: 38px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.support-helper-copy li:nth-child(2) > span:first-child,
.support-helper-copy li:nth-child(3) > span:first-child,
.support-helper-copy li:nth-child(4) > span:first-child {
  background: transparent;
}

.support-helper-copy li > span:first-child img {
  display: block;
  width: 38px;
  height: 38px;
  object-fit: contain;
}

.support-helper-emblem {
  display: block !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  object-fit: contain !important;
}

.support-helper-copy li {
  grid-template-columns: 42px minmax(0, 1fr);
}

.support-helper-visual {
  background: transparent;
}

@media (max-width: 1260px) {
  .support-helper-copy li {
    grid-template-columns: 39px minmax(0, 1fr);
  }

  .support-helper-copy li > span:first-child,
  .support-helper-copy li > span:first-child img,
  .support-helper-emblem {
    width: 36px;
    min-width: 36px;
    max-width: 36px;
    height: 36px;
    min-height: 36px;
    max-height: 36px;
  }
}

/* Sidebar help cleanup: remove the generated banner area. */
.support-sidebar-help {
  gap: 10px;
  padding: 14px 13px 15px;
  min-height: 0;
  border-color: rgba(188, 219, 208, 0.94);
  background:
    linear-gradient(180deg, rgba(238, 251, 245, 0.98), rgba(255, 255, 255, 0.98)),
    radial-gradient(circle at 18% 0%, rgba(57, 180, 116, 0.13), transparent 42%);
}

.support-sidebar-help img {
  display: none;
}

.support-sidebar-help strong {
  font-size: 13px;
  line-height: 1.15;
}

.support-sidebar-help p {
  max-width: 132px;
  font-size: 10.8px;
  line-height: 1.28;
}

@media (max-width: 1260px) {
  .support-sidebar-help {
    gap: 8px;
    padding: 12px;
  }
}

/* Sidebar visual upgrade: generated PNG icons and wider reference-like rail. */
.support-home-shell {
  grid-template-columns: 238px minmax(0, 1fr);
}

.support-sidebar {
  gap: 22px;
  padding: 28px 18px 20px;
  border-right-color: rgba(197, 222, 214, 0.9);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 255, 252, 0.97)),
    radial-gradient(circle at 14% 11%, rgba(38, 154, 96, 0.08), transparent 36%);
  box-shadow: 14px 0 36px rgba(43, 84, 77, 0.07);
}

.support-brand {
  grid-template-columns: 62px 1fr;
  gap: 14px;
  padding: 0 4px 4px;
}

.support-brand img {
  width: 62px;
  height: 62px;
}

.support-brand strong {
  font-size: 17px;
  line-height: 1.04;
  letter-spacing: 0;
}

.support-brand small {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.2;
}

.support-nav {
  gap: 8px;
  padding-top: 4px;
}

.support-nav a {
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 14px;
  min-height: 50px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: #2b3b52;
  font-size: 14.2px;
  line-height: 1.12;
  font-weight: 900;
}

.support-nav a:hover,
.support-nav a:focus-visible {
  color: #12223c;
  background: rgba(239, 249, 244, 0.88);
  border-color: rgba(202, 225, 216, 0.78);
  transform: translateX(2px);
}

.support-nav a.is-active {
  color: #148653;
  background: linear-gradient(90deg, #e7f8ee, #f1fbf6);
  border-color: rgba(194, 225, 211, 0.82);
  box-shadow: 0 10px 24px rgba(32, 143, 89, 0.08);
}

.support-nav span {
  width: 38px;
  height: 38px;
}

.support-nav-icon {
  display: block !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  object-fit: contain !important;
  filter: saturate(0.94);
}

.support-nav a.is-active .support-nav-icon {
  filter: saturate(1.08) drop-shadow(0 5px 8px rgba(22, 134, 83, 0.14));
}

.support-sidebar-help {
  gap: 11px;
  padding: 16px 15px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(238, 251, 245, 0.98), rgba(255, 255, 255, 0.99)),
    radial-gradient(circle at 18% 0%, rgba(57, 180, 116, 0.15), transparent 42%);
  box-shadow: 0 14px 30px rgba(43, 84, 77, 0.07);
}

.support-sidebar-help > span {
  width: 48px;
  height: 48px;
  border-radius: 15px;
  background: #ffffff;
}

.support-sidebar-help-icon {
  display: block;
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.support-sidebar-help strong {
  font-size: 15px;
}

.support-sidebar-help p {
  max-width: 170px;
  font-size: 12px;
  line-height: 1.32;
}

.support-sidebar-mail {
  padding: 0 4px;
  font-size: 13px;
}

@media (max-width: 1260px) {
  .support-home-shell {
    grid-template-columns: 224px minmax(0, 1fr);
  }

  .support-sidebar {
    gap: 18px;
    padding: 24px 14px 18px;
  }

  .support-brand {
    grid-template-columns: 56px 1fr;
    gap: 11px;
  }

  .support-brand img {
    width: 56px;
    height: 56px;
  }

  .support-brand strong {
    font-size: 15.5px;
  }

  .support-brand small {
    font-size: 12px;
  }

  .support-nav {
    gap: 6px;
  }

  .support-nav a {
    grid-template-columns: 35px minmax(0, 1fr);
    gap: 12px;
    min-height: 46px;
    padding: 0 12px;
    font-size: 13.2px;
  }

  .support-nav span {
    width: 35px;
    height: 35px;
  }

  .support-nav-icon {
    width: 31px !important;
    min-width: 31px !important;
    max-width: 31px !important;
    height: 31px !important;
    min-height: 31px !important;
    max-height: 31px !important;
  }

  .support-sidebar-help {
    padding: 14px;
  }
}

/* Sidebar final polish: keep generated PNG emblems visible and give the help card more presence. */
.support-sidebar-help {
  position: relative;
  gap: 12px;
  padding: 18px 16px 17px;
  border: 1px solid rgba(181, 220, 205, 0.98);
  border-radius: 18px;
  background:
    radial-gradient(circle at 78% 18%, rgba(117, 210, 174, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(238, 252, 246, 0.98), rgba(255, 255, 255, 0.99));
  box-shadow: 0 16px 34px rgba(36, 84, 73, 0.09);
}

.support-sidebar-help > span {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background:
    url("/assets/generated/sidebar-icons/nav-psychological-v1.png") center / 50px 50px no-repeat,
    linear-gradient(180deg, #ffffff, #f3fbf7);
  box-shadow:
    inset 0 0 0 1px rgba(200, 226, 216, 0.8),
    0 12px 24px rgba(29, 137, 88, 0.11);
}

.support-sidebar-help .support-sidebar-help-icon {
  display: block !important;
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  object-fit: contain !important;
  border-radius: 0;
  opacity: 0;
  filter: saturate(1.08) drop-shadow(0 6px 10px rgba(23, 129, 83, 0.13));
}

.support-sidebar-help strong {
  font-size: 16px;
  line-height: 1.08;
}

.support-sidebar-help p {
  max-width: 180px;
  color: #637286;
  font-size: 12.6px;
  line-height: 1.32;
}

@media (max-width: 1260px) {
  .support-sidebar-help {
    padding: 15px 14px;
  }

  .support-sidebar-help > span {
    width: 52px;
    height: 52px;
    border-radius: 16px;
  }

  .support-sidebar-help .support-sidebar-help-icon {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
  }
}

/* Section cards: replace emblem feel with serious editorial photo thumbnails. */
.support-section-card {
  grid-template-columns: 92px minmax(0, 1fr) 20px;
  gap: 13px;
  min-height: 108px;
  padding: 8px;
}

.support-section-card img {
  width: 92px;
  min-width: 92px;
  height: 92px;
  border-radius: 12px;
  background: #edf6f2;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.7),
    0 8px 18px rgba(45, 74, 68, 0.08);
  filter: saturate(0.96) contrast(1.02);
}

@media (max-width: 1260px) {
  .support-section-card {
    grid-template-columns: 76px minmax(0, 1fr) 18px;
    gap: 10px;
    min-height: 96px;
  }

  .support-section-card img {
    width: 76px;
    min-width: 76px;
    height: 78px;
    border-radius: 10px;
  }
}

/* Hero reference pass: generated PNG icons instead of CSS-built markers. */
.support-hero-points {
  grid-template-columns: repeat(3, minmax(118px, 1fr));
  gap: 16px;
  max-width: 560px;
}

.support-hero-points span {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-height: 40px;
  padding-left: 0;
}

.support-hero-points span::before {
  display: none;
}

.support-hero-points img {
  display: block;
  width: 32px;
  min-width: 32px;
  height: 32px;
  object-fit: contain;
  filter: saturate(1.03) drop-shadow(0 5px 9px rgba(20, 121, 77, 0.1));
}

.support-secondary-icon {
  display: block;
  width: 18px;
  min-width: 18px;
  height: 18px;
  object-fit: contain;
}

.support-trust-row {
  align-items: center;
  padding: 15px 20px;
}

.support-trust-row span {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  min-height: 42px;
}

.support-trust-row img {
  display: block;
  width: 38px;
  min-width: 38px;
  height: 38px;
  object-fit: contain;
  filter: saturate(1.02) drop-shadow(0 5px 9px rgba(20, 121, 77, 0.1));
}

@media (max-width: 1260px) {
  .support-hero-points {
    gap: 10px;
  }

  .support-hero-points span {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 7px;
  }

  .support-hero-points img {
    width: 28px;
    min-width: 28px;
    height: 28px;
  }

  .support-trust-row {
    padding: 11px 14px;
  }

  .support-trust-row span {
    grid-template-columns: 31px minmax(0, 1fr);
    gap: 8px;
  }

  .support-trust-row img {
    width: 31px;
    min-width: 31px;
    height: 31px;
  }
}

/* Hero generated-icon sizing pass. */
.support-hero-copy {
  width: min(560px, 62%);
}

.support-hero-points {
  grid-template-columns: repeat(3, minmax(142px, 1fr));
  gap: 14px;
}

.support-hero-points span {
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  font-size: 11.4px;
}

.support-hero-points img {
  width: 42px;
  min-width: 42px;
  height: 42px;
}

.support-trust-row span {
  grid-template-columns: 48px minmax(0, 1fr);
}

.support-trust-row img {
  width: 48px;
  min-width: 48px;
  height: 48px;
}

@media (max-width: 1260px) {
  .support-hero-copy {
    width: min(470px, 58%);
  }

  .support-hero-points {
    grid-template-columns: repeat(3, minmax(108px, 1fr));
    gap: 8px;
  }

  .support-hero-points span {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 7px;
    font-size: 10px;
  }

  .support-hero-points img {
    width: 30px;
    min-width: 30px;
    height: 30px;
  }

  .support-trust-row span {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .support-trust-row img {
    width: 34px;
    min-width: 34px;
    height: 34px;
  }
}

/* Note card reference pass: generated PNG document icon, compact horizontal layout. */
.support-note-card {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  column-gap: 16px;
  min-height: 82px;
  padding: 14px 20px;
  border: 1px solid rgba(215, 229, 222, 0.92);
  border-radius: 16px;
  background:
    linear-gradient(90deg, rgba(253, 255, 251, 0.99), rgba(249, 253, 247, 0.97));
  box-shadow: 0 12px 28px rgba(53, 82, 74, 0.06);
}

.support-note-card > span {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.support-note-card > span img {
  display: block;
  width: 54px;
  min-width: 54px;
  height: 54px;
  object-fit: contain;
  filter: saturate(0.98);
}

.support-note-card p {
  margin: 0;
  color: #4c5b70;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 780;
}

.support-note-card a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-left: 16px;
  color: #1f8a58;
  text-decoration: none;
  font-size: 13px;
  line-height: 1.1;
  font-weight: 950;
  white-space: nowrap;
}

.support-note-card a span {
  font-size: 17px;
  line-height: 1;
}

@media (max-width: 1260px) {
  .support-note-card {
    grid-template-columns: 48px minmax(0, 1fr);
    column-gap: 13px;
    min-height: 74px;
    padding: 12px 16px;
  }

  .support-note-card > span {
    width: 48px;
    height: 48px;
  }

  .support-note-card > span img {
    width: 47px;
    min-width: 47px;
    height: 47px;
  }

  .support-note-card p,
  .support-note-card a {
    font-size: 11.5px;
  }
}

/* Note card final fit: keep the compact reference card above the floating chat bubble. */
.support-home-right {
  position: relative;
  z-index: 95;
}

.support-note-card {
  position: relative;
  z-index: 95;
  overflow: hidden;
  background: linear-gradient(90deg, #fffefb, #fbfef8);
}

.support-note-card p a {
  margin-left: 14px;
}

.dashboard-ai-launcher,
.dashboard-ai-minimized {
  z-index: 120 !important;
}

body.portal-dashboard-home .dashboard-ai-launcher,
body.portal-dashboard-home .dashboard-ai-minimized {
  position: fixed !important;
  inset: auto 20px 16px auto !important;
  z-index: 220 !important;
  display: inline-grid !important;
}

/* Homepage assistant triggers: open the current agent without leaving the page. */
.support-helper-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 266px;
  max-width: calc(100% + 58px);
  min-width: 0;
  min-height: 44px;
  margin-top: 6px;
  padding: 0 14px 0 18px;
  border: 0;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(180deg, #2d9a62, #19804e);
  box-shadow: 0 12px 24px rgba(22, 128, 78, 0.18);
  font: inherit;
  font-size: 13.5px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}

.support-helper-open > span {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 23px;
  height: 23px;
  border-radius: 999px;
  color: #168a54;
  background: #ffffff;
}

.support-helper-open svg {
  width: 15px;
  height: 15px;
}

.support-note-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-left: 14px;
  padding: 0;
  border: 0;
  color: #1f8a58;
  background: transparent;
  font: inherit;
  font-size: 13px;
  line-height: 1.1;
  font-weight: 950;
  white-space: nowrap;
  cursor: pointer;
}

.support-note-link span {
  font-size: 17px;
  line-height: 1;
}

/* Helper clipboard fit: keep the generated PNG fully inside the rounded card. */
.support-helper-visual {
  right: 20px;
  width: 158px !important;
  max-width: 158px !important;
  height: 242px !important;
  max-height: 242px !important;
  margin-right: 0;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 1260px) {
  .support-helper-visual {
    right: 18px;
    width: 132px !important;
    max-width: 132px !important;
    height: 222px !important;
    max-height: 222px !important;
    margin-right: 0;
  }

  .support-helper-open {
    width: 248px;
    min-height: 40px;
    padding-right: 12px;
    padding-left: 14px;
    font-size: 11.4px;
  }

  .support-note-link {
    font-size: 11.5px;
  }
}

/* Sidebar brand mark: make the portal emblem lead the header visually. */
.support-brand {
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding-top: 2px;
  padding-bottom: 10px;
}

.support-brand img {
  width: 84px;
  height: 84px;
  object-fit: contain;
}

/* Assistant opens only from page CTAs and must sit above dashboard content. */
.dashboard-ai-fullscreen-layer {
  z-index: 1000;
}

/* Editorial assistant workspace: a real portal surface, not a stretched modal. */
.dashboard-ai-fullscreen-layer {
  place-items: stretch;
  padding: 0;
  background: #ffffff;
  backdrop-filter: none;
}

.dashboard-ai-fullscreen {
  grid-template-columns: clamp(264px, 20.625vw, 330px) minmax(0, 1fr);
  width: 100vw;
  height: 100dvh;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}

.dashboard-ai-full-rail {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 0;
  padding: 20px 30px 30px;
  border-right: 1px solid #dfe6e8;
  background: #ffffff;
}

.dashboard-ai-full-portal-brand {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin-bottom: 34px;
  color: #0d2343;
  text-decoration: none;
}

.dashboard-ai-full-portal-brand img {
  width: 52px;
  height: 66px;
  object-fit: contain;
}

.dashboard-ai-full-portal-brand span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 0.92;
}

.dashboard-ai-full-brand {
  display: block;
  margin-bottom: 22px;
}

.dashboard-ai-full-brand strong {
  font-size: 17px;
  font-weight: 760;
  letter-spacing: -0.01em;
}

.dashboard-ai-full-brand small {
  margin-top: 7px;
  color: #60718a;
  font-size: 12px;
  font-weight: 650;
}

.dashboard-ai-full-brand small::before {
  width: 7px;
  height: 7px;
  background: #24915d;
}

.dashboard-ai-full-new {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  margin-bottom: 28px;
  border: 1px solid #248356;
  border-radius: 6px;
  color: #176d48;
  background: #ffffff;
  box-shadow: none;
  font-size: 14px;
  font-weight: 700;
}

.dashboard-ai-full-new:hover,
.dashboard-ai-full-new:focus-visible {
  color: #ffffff;
  background: #1d7d52;
}

.dashboard-ai-full-new svg {
  width: 22px;
  height: 22px;
}

.dashboard-ai-full-sections {
  display: grid;
  align-content: start;
  gap: 0;
  padding-top: 18px;
  border-top: 1px solid #dfe6e8;
}

.dashboard-ai-full-sections button {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 57px;
  padding: 8px 2px;
  border: 0;
  color: #18304f;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  text-align: left;
}

.dashboard-ai-full-sections button:hover,
.dashboard-ai-full-sections button:focus-visible {
  color: #1e8255;
}

.dashboard-ai-full-sections svg {
  width: 25px;
  height: 25px;
}

.dashboard-ai-full-rail-note {
  margin: 18px 0 0;
  color: #738096;
  font-size: 11.5px;
  line-height: 1.45;
}

.dashboard-ai-full-main {
  grid-template-rows: 74px minmax(0, 1fr) auto;
  background: #ffffff;
}

.dashboard-ai-full-head {
  min-height: 74px;
  padding: 0 34px;
  border-bottom: 1px solid #dfe6e8;
}

.dashboard-ai-full-head p {
  color: #1a2f4d;
  font-size: 14px;
  font-weight: 620;
  letter-spacing: 0;
  text-transform: none;
}

.dashboard-ai-full-controls button {
  width: 42px;
  min-height: 42px;
  border-color: #d4dde1;
  border-radius: 50%;
  color: #16304f;
  background: #ffffff;
  box-shadow: none;
}

.dashboard-ai-full-controls button:hover,
.dashboard-ai-full-controls button:focus-visible {
  border-color: #1d7d52;
  color: #1d7d52;
}

.dashboard-ai-full-controls button svg {
  width: 22px;
  height: 22px;
}

.dashboard-ai-full-chat {
  display: block;
  padding: 0;
  overflow: auto;
  scrollbar-gutter: stable;
}

.dashboard-ai-full-welcome {
  width: min(980px, calc(100% - 80px));
  margin: 0 auto;
  padding: clamp(48px, 7vh, 82px) 0 44px;
}

.dashboard-ai-full-welcome h2 {
  max-width: 820px;
  margin: 0;
  color: #0c2345;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(54px, 5.6vw, 82px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.dashboard-ai-full-welcome > p {
  max-width: 810px;
  margin: 28px 0 30px;
  color: #203753;
  font-size: 17px;
  line-height: 1.55;
}

.dashboard-ai-full-prompts {
  display: grid;
  width: 100%;
  border-top: 1px solid #d8e0e3;
}

.dashboard-ai-full-prompts button {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 28px;
  gap: 16px;
  align-items: center;
  min-height: 66px;
  padding: 8px 14px 8px 8px;
  border: 0;
  border-bottom: 1px solid #d8e0e3;
  border-radius: 0;
  color: #132b4a;
  background: #ffffff;
  cursor: pointer;
  font: inherit;
  font-size: 16px;
  font-weight: 500;
  text-align: left;
}

.dashboard-ai-full-prompts button:hover,
.dashboard-ai-full-prompts button:focus-visible {
  color: #1a7e52;
  background: #f8fbf9;
}

.dashboard-ai-full-prompts button svg {
  width: 28px;
  height: 28px;
}

.dashboard-ai-full-prompts button svg:last-child {
  width: 22px;
  height: 22px;
  justify-self: end;
}

.dashboard-ai-full-note {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 44px;
  margin-top: 22px;
  padding: 0 12px;
  color: #6c7c91;
  background: #f7f9fa;
  font-size: 12px;
}

.dashboard-ai-full-note svg {
  width: 21px;
  height: 21px;
  flex: 0 0 auto;
}

.dashboard-ai-full-conversation {
  width: min(900px, calc(100% - 80px));
  margin: 0 auto;
  padding: 34px 0 52px;
}

.dashboard-ai-full-conversation-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid #dfe6e8;
  color: #6b7a8f;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dashboard-ai-full-conversation-head button {
  padding: 0;
  border: 0;
  color: #1e7f54;
  background: transparent;
  cursor: pointer;
  font: inherit;
  letter-spacing: 0;
  text-transform: none;
}

.dashboard-ai-full-messages {
  width: 100%;
  gap: 20px;
}

.dashboard-ai-full-messages .dashboard-ai-message {
  display: flex;
}

.dashboard-ai-full-messages .dashboard-ai-message.is-user {
  justify-content: flex-end;
}

.dashboard-ai-full-messages .dashboard-ai-message p {
  max-width: min(720px, 86%);
  margin: 0;
  padding: 14px 17px;
  border-radius: 3px;
  color: #17304f;
  background: #f2f6f7;
  font-size: 15px;
  line-height: 1.55;
}

.dashboard-ai-full-messages .dashboard-ai-message.is-user p {
  color: #ffffff;
  background: #1f7e54;
}

.dashboard-ai-full-thinking {
  margin: 18px 0 0;
  color: #6c7c91;
  font-size: 13px;
}

.dashboard-ai-full-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  padding: 24px 34px 20px;
  border-top: 1px solid #dfe6e8;
  background: #ffffff;
}

.dashboard-ai-full-composer {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 52px !important;
  gap: 12px !important;
  align-items: center !important;
  width: min(920px, 100%);
  margin: 0 auto;
}

.dashboard-ai-full-form textarea {
  min-height: 58px;
  max-height: 132px;
  padding: 18px 20px;
  border: 1px solid #cbd6da;
  border-radius: 6px;
  resize: none;
  color: #132b4a;
  box-shadow: none;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
}

.dashboard-ai-full-form textarea:focus {
  border-color: #29845a;
  box-shadow: 0 0 0 3px rgba(41, 132, 90, 0.1);
}

.dashboard-ai-full-form .dashboard-ai-full-composer button[type="submit"] {
  display: grid;
  place-items: center;
  width: 52px;
  min-height: 52px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #ffffff;
  background: #208153;
  box-shadow: none;
}

.dashboard-ai-full-form .dashboard-ai-full-composer button[type="submit"]:hover,
.dashboard-ai-full-form .dashboard-ai-full-composer button[type="submit"]:focus-visible {
  background: #0f6841;
}

.dashboard-ai-full-form .dashboard-ai-full-composer button[type="submit"]:disabled {
  cursor: not-allowed;
  opacity: 0.38;
}

.dashboard-ai-full-composer button svg {
  width: 25px;
  height: 25px;
}

.dashboard-ai-full-form > small {
  width: min(920px, 100%);
  margin: 0 auto;
  color: #8390a1;
  font-size: 10.5px;
}

@media (max-width: 920px) {
  .dashboard-ai-fullscreen {
    grid-template-columns: 1fr;
  }

  .dashboard-ai-full-rail {
    display: none;
  }

  .dashboard-ai-full-main {
    grid-template-rows: 62px minmax(0, 1fr) auto;
  }

  .dashboard-ai-full-head {
    min-height: 62px;
    padding: 0 16px;
  }

  .dashboard-ai-full-controls button:first-child {
    display: grid;
  }

  .dashboard-ai-full-welcome,
  .dashboard-ai-full-conversation {
    width: calc(100% - 32px);
  }

  .dashboard-ai-full-welcome {
    padding: 34px 0 28px;
  }

  .dashboard-ai-full-welcome h2 {
    font-size: clamp(42px, 13vw, 58px);
  }

  .dashboard-ai-full-welcome > p {
    margin: 20px 0 22px;
    font-size: 14px;
    line-height: 1.5;
  }

  .dashboard-ai-full-prompts button {
    grid-template-columns: 31px minmax(0, 1fr) 22px;
    gap: 10px;
    min-height: 58px;
    padding-right: 5px;
    font-size: 13px;
  }

  .dashboard-ai-full-prompts button svg {
    width: 24px;
    height: 24px;
  }

  .dashboard-ai-full-note {
    align-items: flex-start;
    padding: 10px;
    line-height: 1.35;
  }

  .dashboard-ai-full-conversation {
    padding: 24px 0 36px;
  }

  .dashboard-ai-full-form {
    grid-template-columns: 1fr;
    padding: 12px 16px 10px;
  }

  .dashboard-ai-full-composer {
    grid-template-columns: minmax(0, 1fr) 46px !important;
    gap: 9px !important;
  }

  .dashboard-ai-full-form textarea {
    min-height: 50px;
    padding: 14px 15px;
  }

  .dashboard-ai-full-form .dashboard-ai-full-composer button[type="submit"] {
    width: 46px;
    min-height: 46px;
  }

  .dashboard-ai-full-form > small {
    display: none;
  }
}

@media (min-width: 921px) and (max-width: 1180px) {
  .dashboard-ai-fullscreen {
    grid-template-columns: 228px minmax(0, 1fr);
  }

  .dashboard-ai-full-rail {
    padding: 20px 18px 30px;
  }
}

/* Selected assistant preset: document-kit visual with real text controls. */
.support-helper-card {
  min-height: 468px;
  padding: 24px 22px 20px;
  overflow: hidden;
  border-radius: 20px;
  background:
    radial-gradient(circle at 86% 28%, rgba(211, 234, 255, 0.76), transparent 34%),
    radial-gradient(circle at 88% 70%, rgba(218, 247, 235, 0.78), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(253, 255, 254, 0.97));
  box-shadow:
    0 18px 44px rgba(48, 71, 92, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

.support-helper-copy {
  display: grid;
  align-content: start;
  gap: 15px;
  width: 100%;
  min-height: 424px;
  padding-bottom: 78px;
}

.support-helper-copy p {
  width: 100%;
  max-width: 302px;
  gap: 12px;
  color: #10213f;
  font-size: 26px;
  line-height: 1.05;
  font-weight: 950;
}

.support-helper-copy p::before {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  color: #168a54;
  background: #e9f9f1;
  font-size: 26px;
}

.support-helper-copy h2 {
  width: 100%;
  max-width: 312px;
  color: #58677f;
  font-size: 16px;
  line-height: 1.42;
  font-weight: 850;
}

.support-helper-copy ul {
  display: grid;
  gap: 9px;
  width: 244px;
  max-width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.support-helper-copy li {
  position: relative;
  grid-template-columns: 42px minmax(0, 1fr) 12px;
  gap: 12px;
  min-height: 58px;
  padding: 9px 12px;
  border: 1px solid rgba(222, 231, 229, 0.96);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 12px 26px rgba(58, 78, 94, 0.055);
}

.support-helper-copy li + li {
  border-top: 1px solid rgba(222, 231, 229, 0.96);
}

.support-helper-copy li::after {
  content: "›";
  align-self: center;
  justify-self: end;
  color: #536986;
  font-size: 30px;
  line-height: 0.8;
  font-weight: 500;
}

.support-helper-copy li strong {
  font-size: 15px;
  line-height: 1.08;
  font-weight: 950;
}

.support-helper-copy li small {
  display: none;
}

.support-helper-visual {
  top: 142px;
  right: 6px;
  z-index: 1;
  width: 198px !important;
  max-width: 198px !important;
  height: auto !important;
  max-height: none !important;
  filter: drop-shadow(0 24px 30px rgba(48, 93, 119, 0.14));
  transform: rotate(-1deg);
}

.support-helper-copy .support-helper-open {
  position: absolute;
  right: 22px;
  bottom: 20px;
  left: 22px;
  width: auto;
  max-width: none;
  min-height: 54px;
  margin-top: 0;
  border-radius: 14px;
  font-size: 15.5px;
  box-shadow: 0 18px 34px rgba(22, 128, 78, 0.24);
}

.support-helper-copy .support-helper-open > span {
  width: 28px;
  height: 28px;
  margin-left: 4px;
}

.support-helper-copy .support-helper-open svg {
  width: 18px;
  height: 18px;
  overflow: visible;
}

.support-helper-copy .support-helper-open svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 1260px) {
  .support-helper-card {
    min-height: 430px;
    padding: 22px 18px 18px;
  }

  .support-helper-copy {
    min-height: 390px;
    gap: 13px;
    padding-bottom: 64px;
  }

  .support-helper-copy p {
    max-width: 288px;
    font-size: 23px;
  }

  .support-helper-copy p::before {
    width: 32px;
    height: 32px;
    font-size: 23px;
  }

  .support-helper-copy h2 {
    max-width: 286px;
    font-size: 14px;
  }

  .support-helper-copy ul {
    width: 222px;
    gap: 8px;
  }

  .support-helper-copy li {
    grid-template-columns: 38px minmax(0, 1fr) 10px;
    min-height: 52px;
    padding: 8px 10px;
  }

  .support-helper-copy li strong {
    font-size: 13px;
  }

  .support-helper-visual {
    top: 136px;
    right: 6px;
    width: 174px !important;
    max-width: 174px !important;
    height: auto !important;
    max-height: none !important;
  }

  .support-helper-copy .support-helper-open {
    right: 18px;
    bottom: 18px;
    left: 18px;
    width: auto;
    min-height: 48px;
    font-size: 13px;
  }

  .support-brand {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 10px;
  }

  .support-brand img {
    width: 76px;
    height: 76px;
  }
}

@media (min-width: 1101px) {
  body.portal-with-sidebar {
    padding-left: 238px !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar.support-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 70 !important;
    box-sizing: border-box !important;
    width: 238px !important;
    height: 100vh !important;
    border-radius: 0 !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar {
    gap: 22px !important;
    padding: 28px 18px 20px !important;
    border-radius: 0 !important;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 255, 252, 0.97)),
      radial-gradient(circle at 14% 11%, rgba(38, 154, 96, 0.08), transparent 36%) !important;
    box-shadow: 14px 0 36px rgba(43, 84, 77, 0.07) !important;
  }

  body.portal-with-sidebar .home-brand {
    display: grid !important;
    grid-template-columns: 62px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-items: start !important;
    gap: 14px !important;
    padding: 0 4px 4px !important;
    text-align: left !important;
  }

  body.portal-with-sidebar .home-brand img {
    width: 62px !important;
    height: 62px !important;
  }

  body.portal-with-sidebar .home-brand span {
    color: #13243d !important;
    font-size: inherit !important;
    line-height: 1 !important;
  }

  body.portal-with-sidebar .home-brand strong,
  body.portal-with-sidebar .home-brand small {
    display: block !important;
    letter-spacing: 0 !important;
  }

  body.portal-with-sidebar .home-brand strong {
    color: #13243d !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.04 !important;
  }

  body.portal-with-sidebar .home-brand small {
    margin-top: 6px !important;
    color: #748196 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
  }

  body.portal-with-sidebar .home-nav {
    gap: 8px !important;
    padding-top: 4px !important;
  }

  body.portal-with-sidebar .home-nav-item {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 50px !important;
    padding: 0 14px !important;
    border: 1px solid transparent !important;
    border-radius: 14px !important;
    color: #2b3b52 !important;
    font-size: 14.2px !important;
    font-weight: 900 !important;
    line-height: 1.12 !important;
  }

  body.portal-with-sidebar .home-nav-item:hover,
  body.portal-with-sidebar .home-nav-item:focus-visible {
    color: #12223c !important;
    border-color: rgba(202, 225, 216, 0.78) !important;
    background: rgba(239, 249, 244, 0.88) !important;
  }

  body.portal-with-sidebar .home-nav-item.is-active {
    color: #148653 !important;
    border-color: rgba(194, 225, 211, 0.82) !important;
    background: linear-gradient(90deg, #e7f8ee, #f1fbf6) !important;
    box-shadow: 0 10px 24px rgba(32, 143, 89, 0.08) !important;
  }

  body.portal-with-sidebar .home-nav-item span {
    width: 38px !important;
    height: 38px !important;
  }

  body.portal-with-sidebar .home-nav-image {
    width: 34px !important;
    height: 34px !important;
    filter: saturate(0.94) !important;
  }

  body.portal-with-sidebar .home-nav-item.is-active .home-nav-image {
    filter: saturate(1.08) drop-shadow(0 5px 8px rgba(22, 134, 83, 0.14)) !important;
  }
}

/* Responsive rehabilitation/internal pages pass: keep the shared rail useful without stealing the first viewport. */
body.portal-with-sidebar {
  max-width: 100%;
  overflow-x: clip;
}

body.portal-with-sidebar .page-shell,
body.portal-with-sidebar .imported-content,
body.portal-with-sidebar .imported-block,
body.portal-with-sidebar .imported-card-grid,
body.portal-with-sidebar .content-stat-strip {
  box-sizing: border-box;
  min-width: 0;
}

body.portal-with-sidebar .page-shell {
  margin-right: auto;
  margin-left: auto;
}

body.portal-with-sidebar .imported-head h1,
body.portal-with-sidebar .imported-card h3,
body.portal-with-sidebar .imported-card p,
body.portal-with-sidebar .imported-source-row,
body.portal-with-sidebar .content-stat-strip span,
body.portal-with-sidebar .support-brand strong,
body.portal-with-sidebar .support-brand small,
body.portal-with-sidebar .support-nav a {
  overflow-wrap: anywhere;
}

body.portal-with-sidebar .imported-card-media img {
  display: block;
}

/* The portal name is a fixed brand lockup, not flowing article copy. */
body.portal-with-sidebar .portal-shared-sidebar .support-brand strong,
body.portal-with-sidebar .portal-shared-sidebar .support-brand small {
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body.portal-with-sidebar .neo-portal-footer,
body.portal-with-sidebar .neo-footer-inner,
body.portal-with-sidebar .neo-footer-main,
body.portal-with-sidebar .neo-footer-contact {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

body.portal-with-sidebar .neo-footer-contact a {
  overflow-wrap: anywhere;
}

@media (min-width: 1200px) {
  body.portal-with-sidebar .imported-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  body.portal-with-sidebar {
    padding-left: 96px !important;
  }

  body.portal-with-sidebar .page-shell {
    width: min(100% - 32px, 1040px) !important;
    padding-top: 24px !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar.support-sidebar,
  body.portal-with-sidebar .portal-shared-sidebar {
    position: fixed !important;
    inset: 10px auto 10px 10px !important;
    display: grid !important;
    width: 76px !important;
    height: auto !important;
    padding: 12px 8px !important;
    gap: 10px !important;
    overflow-y: auto !important;
    border-radius: 18px !important;
    border: 1px solid rgba(203, 218, 232, 0.76) !important;
    background: rgba(255, 255, 255, 0.9) !important;
    box-shadow: 0 18px 45px rgba(43, 69, 101, 0.1) !important;
  }

  body.portal-with-sidebar .support-brand,
  body.portal-with-sidebar .home-brand {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 0 !important;
    padding: 0 !important;
  }

  body.portal-with-sidebar .support-brand img,
  body.portal-with-sidebar .home-brand img {
    width: 48px !important;
    height: 48px !important;
  }

  body.portal-with-sidebar .support-brand span,
  body.portal-with-sidebar .home-brand span,
  body.portal-with-sidebar .support-brand strong,
  body.portal-with-sidebar .support-brand small,
  body.portal-with-sidebar .home-brand strong,
  body.portal-with-sidebar .home-brand small,
  body.portal-with-sidebar .support-nav a > :not(span),
  body.portal-with-sidebar .home-nav-item > :not(span) {
    display: none !important;
  }

  body.portal-with-sidebar .support-nav,
  body.portal-with-sidebar .home-nav {
    display: grid !important;
    gap: 8px !important;
    padding-top: 4px !important;
    overflow: visible !important;
  }

  body.portal-with-sidebar .support-nav a,
  body.portal-with-sidebar .home-nav-item {
    display: grid !important;
    grid-template-columns: 1fr !important;
    place-items: center !important;
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 !important;
    border-radius: 16px !important;
    font-size: 0 !important;
  }

  body.portal-with-sidebar .support-nav span,
  body.portal-with-sidebar .home-nav-item span {
    width: 40px !important;
    height: 40px !important;
  }

  body.portal-with-sidebar .support-nav-icon,
  body.portal-with-sidebar .home-nav-image {
    width: 36px !important;
    height: 36px !important;
  }

  body.portal-with-sidebar .imported-head {
    max-width: 100% !important;
  }

  body.portal-with-sidebar .imported-card-grid,
  body.portal-with-sidebar .directory-grid,
  body.portal-with-sidebar .doctor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.portal-with-sidebar .neo-footer-main {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  body.portal-with-sidebar .neo-footer-contact {
    grid-column: 1 / -1;
  }
}

@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) {
  body.portal-with-sidebar {
    padding-left: 0 !important;
  }

  body.portal-with-sidebar .page-shell {
    width: min(100% - 28px, 760px) !important;
    padding-top: 18px !important;
    padding-bottom: 44px !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar.support-sidebar,
  body.portal-with-sidebar .portal-shared-sidebar {
    position: sticky !important;
    top: 0 !important;
    z-index: 90 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    gap: 10px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(203, 218, 232, 0.78) !important;
    border-radius: 0 !important;
    background: rgba(250, 253, 255, 0.94) !important;
    box-shadow: 0 10px 24px rgba(43, 69, 101, 0.08) !important;
    backdrop-filter: blur(18px) !important;
  }

  body.portal-with-sidebar .support-brand,
  body.portal-with-sidebar .home-brand {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  body.portal-with-sidebar .support-brand img,
  body.portal-with-sidebar .home-brand img {
    width: 46px !important;
    height: 46px !important;
  }

  body.portal-with-sidebar .support-brand strong,
  body.portal-with-sidebar .home-brand strong {
    font-size: 13px !important;
    line-height: 1.04 !important;
  }

  body.portal-with-sidebar .support-brand small,
  body.portal-with-sidebar .home-brand small {
    display: none !important;
  }

  body.portal-with-sidebar .support-nav,
  body.portal-with-sidebar .home-nav {
    display: flex !important;
    gap: 8px !important;
    min-width: 0 !important;
    padding: 2px 2px 4px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none !important;
  }

  body.portal-with-sidebar .support-nav::-webkit-scrollbar,
  body.portal-with-sidebar .home-nav::-webkit-scrollbar {
    display: none;
  }

  body.portal-with-sidebar .support-nav a,
  body.portal-with-sidebar .home-nav-item {
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: 32px max-content !important;
    align-items: center !important;
    gap: 7px !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 0 11px 0 7px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }

  body.portal-with-sidebar .support-nav span,
  body.portal-with-sidebar .home-nav-item span {
    width: 32px !important;
    height: 32px !important;
  }

  body.portal-with-sidebar .support-nav-icon,
  body.portal-with-sidebar .home-nav-image {
    width: 29px !important;
    height: 29px !important;
  }

  body.portal-with-sidebar .imported-head {
    max-width: 100% !important;
    margin-bottom: 14px !important;
  }

  body.portal-with-sidebar .imported-head h1 {
    font-size: clamp(34px, 9vw, 54px) !important;
    line-height: 0.98 !important;
  }

  body.portal-with-sidebar .imported-head .lead {
    font-size: clamp(15px, 3.2vw, 18px) !important;
    line-height: 1.38 !important;
  }

  body.portal-with-sidebar .imported-content .imported-block {
    margin-top: 14px !important;
    padding: clamp(14px, 3vw, 20px) !important;
  }

  body.portal-with-sidebar .content-stat-strip {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.portal-with-sidebar .imported-card-grid,
  body.portal-with-sidebar .directory-grid,
  body.portal-with-sidebar .doctor-grid,
  body.portal-with-sidebar .education-group-grid,
  body.portal-with-sidebar .details-grid,
  body.portal-with-sidebar .payment-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.portal-with-sidebar .imported-card > :not(.imported-card-media),
  body.portal-with-sidebar .doctor-card > :not(.doctor-card-photo) {
    margin-left: 14px !important;
    margin-right: 14px !important;
  }

  body.portal-with-sidebar .imported-card h3,
  body.portal-with-sidebar .doctor-card h3 {
    font-size: 18px !important;
  }

  body.portal-with-sidebar .imported-card p,
  body.portal-with-sidebar .doctor-card p {
    -webkit-line-clamp: 3 !important;
  }

  body.portal-with-sidebar .neo-footer-main {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  body.portal-with-sidebar .page-shell {
    width: min(100% - 20px, 430px) !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar.support-sidebar,
  body.portal-with-sidebar .portal-shared-sidebar {
    grid-template-columns: 1fr !important;
    align-items: start !important;
    padding: 9px 10px 8px !important;
  }

  body.portal-with-sidebar .support-brand,
  body.portal-with-sidebar .home-brand {
    grid-template-columns: 38px minmax(0, 1fr) !important;
  }

  body.portal-with-sidebar .support-brand img,
  body.portal-with-sidebar .home-brand img {
    width: 38px !important;
    height: 38px !important;
  }

  body.portal-with-sidebar .support-brand strong,
  body.portal-with-sidebar .home-brand strong {
    font-size: 12.5px !important;
  }

  body.portal-with-sidebar .support-nav,
  body.portal-with-sidebar .home-nav {
    margin-right: -10px !important;
    margin-left: -2px !important;
    padding-right: 10px !important;
  }

  body.portal-with-sidebar .content-stat-strip,
  body.portal-with-sidebar .imported-card-grid,
  body.portal-with-sidebar .directory-grid,
  body.portal-with-sidebar .doctor-grid,
  body.portal-with-sidebar .education-group-grid,
  body.portal-with-sidebar .details-grid,
  body.portal-with-sidebar .payment-layout {
    grid-template-columns: 1fr !important;
  }

  body.portal-with-sidebar .imported-card-media {
    aspect-ratio: 16 / 9 !important;
  }

  body.portal-with-sidebar .imported-source-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.portal-with-sidebar .imported-source-row span,
  body.portal-with-sidebar .imported-source-row a,
  body.portal-with-sidebar .content-stat-strip span {
    justify-content: center !important;
    width: 100% !important;
  }
}

/* Rehabilitation materials list: scoped refresh for the selected modular material concept. */
.imported-content-rehabilitation {
  display: grid;
  gap: clamp(16px, 1.6vw, 24px);
}

@media (min-width: 1101px) {
  body.portal-with-sidebar.rehabilitation-list-page .page-shell {
    width: min(calc(100vw - 318px), clamp(1320px, 78vw, 2400px)) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: clamp(12px, 1.2vw, 28px) !important;
  }
}

.imported-content-rehabilitation .imported-head {
  max-width: 100%;
  display: grid;
  gap: 12px;
  margin-bottom: 0;
  padding: clamp(26px, 3vw, 46px);
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 26px;
  background:
    radial-gradient(circle at 12% 18%, rgba(35, 182, 134, 0.16), transparent 34%),
    radial-gradient(circle at 86% 14%, rgba(45, 126, 220, 0.12), transparent 30%),
    rgba(255, 255, 255, 0.9);
  box-shadow: 0 24px 58px rgba(28, 45, 76, 0.09);
}

.imported-content-rehabilitation .imported-head h1 {
  max-width: 980px;
  font-size: clamp(44px, 4.7vw, 78px);
}

.imported-content-rehabilitation .imported-head .lead {
  max-width: 860px;
  margin: 0;
  color: #43536a;
}

.imported-content-rehabilitation .imported-source-row {
  margin-top: 2px;
}

.imported-content-rehabilitation .content-stat-strip {
  margin-top: 0;
}

.imported-content-rehabilitation .content-stat-strip span {
  min-height: 42px;
  padding: 0 16px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 34px rgba(24, 52, 80, 0.07);
}

.rehabilitation-materials-block {
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 252, 255, 0.9)),
    rgba(255, 255, 255, 0.9);
  box-shadow: 0 24px 58px rgba(28, 45, 76, 0.09);
}

.rehabilitation-materials-block h2 {
  margin-bottom: clamp(18px, 1.6vw, 24px);
}

.rehabilitation-material-grid {
  gap: clamp(16px, 1.5vw, 22px);
  align-items: stretch;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.portal-with-sidebar .imported-content-rehabilitation .rehabilitation-material-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.rehabilitation-material-card {
  position: relative;
  align-content: start;
  grid-template-rows: auto;
  overflow: hidden;
  border-radius: 22px;
  background:
    radial-gradient(circle at 18% 12%, rgba(35, 182, 134, 0.12), transparent 30%),
    rgba(255, 255, 255, 0.94);
  box-shadow:
    0 18px 42px rgba(28, 45, 76, 0.08),
    inset 0 0 0 1px rgba(255, 255, 255, 0.74);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.rehabilitation-material-card:hover,
.rehabilitation-material-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(29, 158, 117, 0.24);
  box-shadow:
    0 24px 56px rgba(28, 45, 76, 0.12),
    inset 0 0 0 1px rgba(255, 255, 255, 0.74);
}

.rehabilitation-material-card .imported-card-media {
  margin: 10px 10px 0;
  border-radius: 18px;
  aspect-ratio: 16 / 10;
}

.rehabilitation-material-card .imported-card-meta {
  width: max-content;
  margin-top: 18px;
  padding: 7px 10px;
  border-radius: 999px;
  color: #0f6e56;
  background: rgba(232, 248, 240, 0.92);
  letter-spacing: 0.02em;
}

.rehabilitation-material-card h3 {
  margin-top: 10px;
  font-size: clamp(20px, 1.22vw, 25px);
  line-height: 1.12;
}

.rehabilitation-material-card p {
  display: block;
  overflow: visible;
  margin-top: 0;
  margin-bottom: clamp(20px, 1.4vw, 28px);
  color: #526176;
  line-height: 1.48;
  -webkit-box-orient: initial;
  -webkit-line-clamp: unset !important;
}

@media (max-width: 1740px) {
  .rehabilitation-material-card h3 {
    font-size: clamp(21px, 1.75vw, 26px);
  }
}

@media (max-width: 1180px) {
  body.portal-with-sidebar .imported-content-rehabilitation .rehabilitation-material-grid {
    grid-template-columns: 1fr !important;
  }

  .rehabilitation-material-card .imported-card-media {
    aspect-ratio: 16 / 8.5;
  }

  .rehabilitation-material-card h3 {
    font-size: clamp(22px, 4vw, 30px);
  }
}

@media (min-width: 2800px) {
  body.portal-with-sidebar .imported-content-rehabilitation .rehabilitation-material-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 3800px) {
  body.portal-with-sidebar .imported-content-rehabilitation .rehabilitation-material-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@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) {
  .imported-content-rehabilitation .imported-head {
    padding: clamp(22px, 5vw, 34px);
    border-radius: 22px;
  }

  .rehabilitation-materials-block {
    border-radius: 22px;
  }
}

@media (max-width: 560px) {
  .rehabilitation-material-card .imported-card-meta {
    width: auto;
    max-width: calc(100% - 28px);
  }

  .rehabilitation-material-card .imported-card-media {
    margin: 8px 8px 0;
    border-radius: 16px;
  }
}

/* Rehabilitation article pages: local detail pages generated from imported material cards. */
.imported-article-content {
  display: block;
}

.article-detail {
  display: grid;
  gap: clamp(14px, 1.45vw, 22px);
  color: #111b35;
}

.rehabilitation-article-page .article-detail,
.rehabilitation-article-page .article-detail *,
.rehabilitation-article-page .article-detail-toolbar,
.rehabilitation-article-page .article-hero-main,
.rehabilitation-article-page .article-hero-card,
.rehabilitation-article-page .article-lead-card,
.rehabilitation-article-page .article-body-card,
.rehabilitation-article-page .article-note-grid article,
.rehabilitation-article-page .article-point-grid article,
.rehabilitation-article-page .article-step-grid article {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

.rehabilitation-article-page .article-detail h1,
.rehabilitation-article-page .article-detail h2,
.rehabilitation-article-page .article-detail h3,
.rehabilitation-article-page .article-detail p,
.rehabilitation-article-page .article-detail a {
  overflow-wrap: anywhere;
}

.article-detail-modular {
  max-width: min(100%, 1700px);
  margin: 0 auto;
}

.rehabilitation-article-page .article-hero-block {
  display: grid;
  gap: clamp(8px, 0.9vw, 14px);
}

.rehabilitation-article-page .article-hero-main {
  overflow: hidden;
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 22px;
  background:
    radial-gradient(circle at 16% 18%, rgba(255, 255, 255, 0.92), transparent 34%),
    linear-gradient(135deg, rgba(22, 163, 74, 0.1), rgba(34, 118, 210, 0.1));
  box-shadow: 0 20px 50px rgba(28, 45, 76, 0.08);
}

.rehabilitation-article-page .article-detail-photo {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.rehabilitation-article-page .article-detail-photo img {
  width: 100%;
  margin: 0;
}

.rehabilitation-article-page .article-hero-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  border: 0;
  border-radius: 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 88% 14%, rgba(255, 255, 255, 0.18), transparent 30%),
    linear-gradient(145deg, rgba(21, 118, 86, 0.98), rgba(47, 151, 107, 0.94));
  box-shadow: none;
}

.rehabilitation-article-page .article-hero-category {
  color: #d9f6e8;
  background: rgba(255, 255, 255, 0.14);
}

.rehabilitation-article-page .article-hero-card h1 {
  color: #ffffff;
}

.rehabilitation-article-page .article-lead-card {
  margin-top: 0;
  border-top: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 22px;
}

@media (min-width: 1101px) {
  body.portal-with-sidebar.rehabilitation-article-page {
    --rehab-article-max-width: 9999px;
    --rehab-article-side-gap: clamp(44px, 3vw, 86px);
    --rehab-article-left-gap: clamp(14px, 1.2vw, 30px);
    --rehab-card-pad-y: clamp(28px, 2.2vw, 56px);
    --rehab-card-pad-x: clamp(28px, 2vw, 58px);
    --rehab-card-radius: clamp(22px, 0.72vw, 30px);
    --rehab-title-size: clamp(30px, 1.65vw, 52px);
    --rehab-lead-size: clamp(15px, 0.72vw, 20px);
    --rehab-photo-width: 100%;
    --rehab-text-width: 100%;
  }

  body.portal-with-sidebar.rehabilitation-article-page .page-shell {
    width: min(
      calc(100vw - var(--portal-sidebar-width) - var(--rehab-article-side-gap)),
      var(--rehab-article-max-width)
    ) !important;
    max-width: none !important;
    margin-right: clamp(20px, 1.8vw, 38px) !important;
    margin-left: var(--rehab-article-left-gap) !important;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-detail-modular {
    max-width: 100%;
    margin-right: auto;
    margin-left: 0;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-detail {
    gap: clamp(14px, 1.1vw, 36px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-hero-block {
    display: grid;
    gap: clamp(8px, 0.7vw, 14px);
    justify-self: stretch;
    width: var(--rehab-photo-width);
    max-width: 100%;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-hero-main {
    display: grid;
    grid-template-columns: minmax(560px, 1.08fr) minmax(420px, 0.92fr);
    align-items: stretch;
    overflow: hidden;
    border: 1px solid rgba(31, 44, 69, 0.08);
    border-radius: var(--rehab-card-radius);
    background:
      radial-gradient(circle at 16% 18%, rgba(255, 255, 255, 0.92), transparent 34%),
      linear-gradient(135deg, rgba(22, 163, 74, 0.1), rgba(34, 118, 210, 0.1));
    box-shadow: 0 20px 50px rgba(28, 45, 76, 0.08);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-detail-photo {
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-detail-photo img {
    width: 100%;
    margin: 0;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-detail-photo::after {
    content: "";
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-note-grid,
  body.portal-with-sidebar.rehabilitation-article-page .article-body-card,
  body.portal-with-sidebar.rehabilitation-article-page .article-related {
    justify-self: stretch;
    width: var(--rehab-text-width);
    max-width: 100%;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-back-link {
    min-height: clamp(42px, 1.35vw, 52px);
    padding: clamp(10px, 0.35vw, 12px) clamp(16px, 0.65vw, 22px);
    font-size: clamp(14px, 0.45vw, 17px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-hero-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    padding: var(--rehab-card-pad-y) var(--rehab-card-pad-x) calc(var(--rehab-card-pad-y) + 4px);
    border: 0;
    border-radius: 0;
    color: #ffffff;
    background:
      radial-gradient(circle at 88% 14%, rgba(255, 255, 255, 0.18), transparent 30%),
      linear-gradient(145deg, rgba(21, 118, 86, 0.98), rgba(47, 151, 107, 0.94));
    box-shadow: none;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-hero-category {
    min-height: clamp(30px, 1vw, 38px);
    margin-bottom: clamp(14px, 0.5vw, 18px);
    padding: 0 clamp(12px, 0.45vw, 16px);
    border-radius: clamp(9px, 0.3vw, 11px);
    color: #d9f6e8;
    background: rgba(255, 255, 255, 0.14);
    font-size: clamp(12px, 0.36vw, 14px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-hero-card h1 {
    max-width: none;
    margin-bottom: 0;
    color: #ffffff;
    font-size: var(--rehab-title-size);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-lead-card {
    margin-top: 0;
    border-top: 1px solid rgba(31, 44, 69, 0.08);
    border-radius: var(--rehab-card-radius);
    padding: clamp(22px, 1.65vw, 40px) clamp(24px, 2vw, 52px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-lead-card p {
    max-width: none;
    font-size: var(--rehab-lead-size);
    line-height: 1.55;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-note-grid {
    gap: clamp(12px, 0.85vw, 22px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-note-grid article {
    min-height: clamp(100px, 6.2vw, 132px);
    padding: clamp(16px, 1vw, 24px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-note-grid h2 {
    font-size: clamp(18px, 0.9vw, 24px);
    line-height: 1.1;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-note-grid p {
    font-size: clamp(13px, 0.56vw, 15px);
    line-height: 1.42;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-body-card {
    gap: clamp(18px, 1.45vw, 30px);
    padding: clamp(22px, 1.65vw, 40px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-body-section {
    gap: clamp(10px, 0.75vw, 14px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-body-section h2 {
    max-width: none;
    font-size: clamp(24px, 1.28vw, 34px);
    line-height: 1.1;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-body-section p {
    max-width: none;
    font-size: clamp(15px, 0.74vw, 18px);
    line-height: 1.58;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-body-section:has(.article-point-grid) h2,
  body.portal-with-sidebar.rehabilitation-article-page .article-body-section:has(.article-step-grid) h2 {
    font-size: clamp(20px, 0.95vw, 25px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-body-section:has(.article-point-grid) > p,
  body.portal-with-sidebar.rehabilitation-article-page .article-body-section:has(.article-step-grid) > p {
    font-size: clamp(13px, 0.56vw, 15px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-point-grid article,
  body.portal-with-sidebar.rehabilitation-article-page .article-step-grid article {
    min-height: clamp(134px, 6.5vw, 164px);
    padding: clamp(16px, 0.9vw, 20px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-point-grid span,
  body.portal-with-sidebar.rehabilitation-article-page .article-step-grid span {
    font-size: clamp(58px, 2.4vw, 76px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-point-grid h3,
  body.portal-with-sidebar.rehabilitation-article-page .article-step-grid h3 {
    font-size: clamp(15px, 0.55vw, 17px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-point-grid p,
  body.portal-with-sidebar.rehabilitation-article-page .article-step-grid p {
    font-size: clamp(14px, 0.45vw, 15px);
  }
}

.article-detail-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  min-width: 0;
}

.article-back-link {
  justify-self: start;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  border: 1px solid rgba(31, 44, 69, 0.1);
  border-radius: 999px;
  color: #0f6e56;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 14px 34px rgba(24, 52, 80, 0.08);
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
}

.article-back-link::before {
  content: "←";
  margin-right: 8px;
}

.article-title-card,
.article-hero-card,
.article-lead-card,
.article-note-grid article {
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 20px 50px rgba(28, 45, 76, 0.08);
}

.article-title-card {
  min-height: 176px;
  display: grid;
  align-content: center;
  gap: 10px;
  padding: clamp(26px, 2.3vw, 36px);
}

.article-title-card .eyebrow {
  margin: 0;
  color: #1d9e75;
  font-size: 14px;
  font-weight: 950;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.article-title-card h1 {
  max-width: 1080px;
  margin: 0;
  color: #111b35;
  font-size: clamp(30px, 2.35vw, 44px);
  font-weight: 950;
  line-height: 1.1;
  letter-spacing: 0;
}

.article-media-row,
.article-hero-main,
.article-hero-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
}

.article-hero-block {
  position: relative;
}

.article-detail-photo {
  position: relative;
  min-width: 0;
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 22px;
  overflow: hidden;
  display: block;
  background:
    radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.98), transparent 32%),
    linear-gradient(135deg, rgba(22, 163, 74, 0.12), rgba(34, 118, 210, 0.12));
  box-shadow: 0 20px 50px rgba(28, 45, 76, 0.08);
}

.article-detail-photo::after {
  content: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  z-index: 1;
  width: clamp(92px, 13%, 170px);
  height: auto;
  background: linear-gradient(
    90deg,
    rgba(21, 118, 86, 0) 0%,
    rgba(21, 118, 86, 0.08) 36%,
    rgba(21, 118, 86, 0.4) 72%,
    rgba(21, 118, 86, 0.78) 100%
  );
  pointer-events: none;
}

.article-detail-photo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center center;
}

.article-hero-card {
  position: relative;
  z-index: 2;
  margin: calc(-1 * clamp(36px, 3.2vw, 54px)) clamp(24px, 3vw, 46px) 0;
  padding: clamp(24px, 2.4vw, 40px) clamp(28px, 2.8vw, 48px) clamp(28px, 2.6vw, 44px);
  background: rgba(255, 255, 255, 0.98);
  box-shadow:
    0 18px 46px rgba(20, 38, 31, 0.08),
    inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}

.article-hero-category {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-bottom: 14px;
  padding: 0 12px;
  border-radius: 9px;
  color: #2f7d59;
  background: #eaf4ef;
  font-size: 12px;
  font-weight: 760;
  line-height: 1;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.article-hero-card h1 {
  max-width: 1080px;
  margin: 0 0 14px;
  color: #16261f;
  font-size: clamp(30px, 2.35vw, 44px);
  font-weight: 820;
  line-height: 1.12;
  letter-spacing: 0;
}

.article-hero-card p {
  max-width: 1160px;
  margin: 0;
  color: #4b586a;
  font-size: clamp(18px, 1.28vw, 23px);
  font-weight: 720;
  line-height: 1.6;
}

.article-lead-card {
  margin-top: calc(-1 * clamp(14px, 1.45vw, 22px) - 1px);
  position: relative;
  z-index: 2;
  border-top: 0;
  border-radius: 0 0 22px 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 253, 255, 0.94)),
    rgba(255, 255, 255, 0.96);
  padding: clamp(28px, 2.5vw, 40px) clamp(28px, 2.7vw, 46px) clamp(30px, 2.7vw, 44px);
}

.article-lead-card p {
  margin: 0;
  max-width: 1120px;
  color: #415067;
  font-size: clamp(18px, 1.35vw, 23px);
  font-weight: 760;
  line-height: 1.56;
}

.article-note-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.45vw, 22px);
}

.article-note-grid article {
  min-height: 150px;
  padding: clamp(20px, 1.8vw, 26px);
}

.article-note-grid h2 {
  margin: 0 0 8px;
  color: #111b35;
  font-size: clamp(22px, 1.75vw, 30px);
  font-weight: 950;
  line-height: 1.06;
}

.article-note-grid p {
  margin: 0;
  color: #5b6677;
  font-size: 15px;
  font-weight: 780;
  line-height: 1.42;
}

.article-body-card {
  display: grid;
  gap: clamp(24px, 2.1vw, 34px);
  padding: clamp(26px, 2.6vw, 44px);
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 22px;
  color: #111b35;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 252, 255, 0.94)),
    rgba(255, 255, 255, 0.92);
  box-shadow: 0 22px 54px rgba(28, 45, 76, 0.08);
}

.article-body-section {
  display: grid;
  gap: 14px;
  padding-bottom: clamp(22px, 2vw, 30px);
  border-bottom: 1px solid rgba(31, 44, 69, 0.08);
}

.article-body-section:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.article-body-section:has(.article-point-grid),
.article-body-section:has(.article-step-grid) {
  padding: 22px;
  border: 0;
  border-radius: 18px;
  background: #f4f8f5;
}

.article-body-section:has(.article-point-grid) + .article-body-section,
.article-body-section:has(.article-step-grid) + .article-body-section {
  margin-top: 28px;
}

.article-body-section h2 {
  max-width: 860px;
  margin: 0;
  color: #111b35;
  font-size: clamp(26px, 2vw, 36px);
  font-weight: 950;
  line-height: 1.08;
}

.article-body-section:has(.article-point-grid) h2,
.article-body-section:has(.article-step-grid) h2 {
  margin-bottom: -2px;
  color: #16261f;
  font-size: clamp(22px, 1.7vw, 27px);
  font-weight: 760;
}

.article-body-section p {
  max-width: 1040px;
  margin: 0;
  color: #4c596e;
  font-size: clamp(16px, 1.12vw, 19px);
  font-weight: 650;
  line-height: 1.62;
}

.article-body-section:has(.article-point-grid) > p,
.article-body-section:has(.article-step-grid) > p {
  max-width: 92%;
  margin-bottom: 2px;
  color: #46524c;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.55;
}

.article-point-grid,
.article-step-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 4px;
}

.article-step-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.article-point-grid article,
.article-step-grid article {
  position: relative;
  overflow: hidden;
  display: block;
  min-height: 164px;
  padding: 18px 20px;
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: none;
}

.article-point-grid article::before,
.article-step-grid article::before {
  content: "";
  display: block;
  width: 18px;
  height: 3px;
  margin-bottom: 12px;
  border-radius: 999px;
  background: #3f9970;
}

.article-point-grid span,
.article-step-grid span {
  position: absolute;
  top: 2px;
  right: 8px;
  color: #3f9970;
  font-size: 76px;
  font-weight: 600;
  line-height: 1;
  opacity: 0.13;
  pointer-events: none;
}

.article-point-grid h3,
.article-step-grid h3 {
  position: relative;
  max-width: calc(100% - 44px);
  margin: 0 0 9px;
  color: #16261f;
  font-size: 17px;
  font-weight: 760;
  line-height: 1.22;
}

.article-point-grid p,
.article-step-grid p {
  position: relative;
  margin: 0;
  color: #5a655f;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.55;
}

.article-point-grid article:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.article-detail-card {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: clamp(20px, 2.2vw, 30px);
  border: 1px solid rgba(31, 44, 69, 0.08);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 20px 50px rgba(28, 45, 76, 0.08);
}

.article-detail-card h1,
.article-detail-card h2 {
  margin: 0;
  color: #111b35;
  font-size: clamp(26px, 2vw, 34px);
  font-weight: 900;
  line-height: 1.08;
}

.article-detail-card p {
  margin: 0;
  color: #566174;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.5;
}

.article-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

.secondary-button.is-muted {
  color: #173761;
  background: rgba(34, 118, 210, 0.08);
  box-shadow: none;
}

.article-related {
  display: grid;
  gap: 16px;
  padding-top: 6px;
}

@media (max-width: 1050px) {
  .article-detail-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .article-media-row {
    grid-template-columns: 1fr;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-hero-main {
    grid-template-columns: 1fr;
    border-radius: 20px;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-hero-card {
    margin: 0;
    border-radius: 0;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-lead-card {
    margin-top: 0;
    border-radius: 20px;
  }

  .article-detail-photo {
    min-height: 0;
  }

  .article-note-grid {
    grid-template-columns: 1fr;
  }

  .article-point-grid,
  .article-step-grid {
    grid-template-columns: 1fr;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-hero-card h1 {
    font-size: clamp(26px, 4vw, 34px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-hero-card p {
    font-size: clamp(15px, 2vw, 17px);
    line-height: 1.55;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-note-grid h2,
  body.portal-with-sidebar.rehabilitation-article-page .article-body-section h2 {
    font-size: clamp(21px, 3vw, 28px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-note-grid p,
  body.portal-with-sidebar.rehabilitation-article-page .article-body-section p {
    font-size: clamp(14px, 1.85vw, 16px);
  }
}

@media (max-width: 680px) {
  .article-detail {
    gap: 14px;
  }

  .article-title-card {
    min-height: 0;
    padding: 22px;
    border-radius: 18px;
  }

  .article-title-card h1 {
    font-size: clamp(28px, 8.6vw, 40px);
    line-height: 1.08;
  }

  .article-hero-card {
    margin: -46px clamp(8px, 4vw, 14px) 0;
    padding: 20px clamp(16px, 5vw, 22px) 22px;
    border-radius: 16px;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-hero-main {
    border-radius: 18px;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-hero-card {
    margin: 0;
    padding: 22px 18px 24px;
    border-radius: 0;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-lead-card {
    margin-top: 0;
    padding: 20px 18px;
    border-radius: 18px;
  }

  .article-hero-category {
    min-height: 26px;
    margin-bottom: 10px;
    padding: 0 10px;
    border-radius: 7px;
    font-size: 11px;
  }

  .article-hero-card h1 {
    margin-bottom: 12px;
    font-size: clamp(25px, 7.3vw, 38px);
    line-height: 1.12;
  }

  .article-hero-card p {
    font-size: 15px;
    line-height: 1.6;
  }

  .article-detail-photo {
    min-height: 0;
    border-radius: 18px;
  }

  .article-detail-photo::after {
    content: none;
  }

  .article-lead-card {
    margin-top: -15px;
    border-radius: 0 0 18px 18px;
  }

  .article-lead-card,
  .article-note-grid article,
  .article-body-card,
  .article-detail-card {
    border-radius: 18px;
  }

  .article-lead-card {
    border-radius: 0 0 18px 18px;
  }

  .article-body-card {
    padding: 22px;
  }

  .article-body-section:has(.article-point-grid),
  .article-body-section:has(.article-step-grid) {
    padding: 18px;
  }

  .article-body-section:has(.article-point-grid) > p,
  .article-body-section:has(.article-step-grid) > p {
    max-width: none;
  }

  .article-point-grid article,
  .article-step-grid article {
    min-height: 0;
    padding: 18px;
  }

  .article-back-link {
    width: 100%;
  }

  .article-lead-card p,
  .article-detail-card p {
    font-size: 15px;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-hero-card h1 {
    font-size: clamp(24px, 6.2vw, 32px);
    line-height: 1.12;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-hero-card p {
    font-size: 14px;
    line-height: 1.55;
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-note-grid h2,
  body.portal-with-sidebar.rehabilitation-article-page .article-body-section h2 {
    font-size: clamp(20px, 5.4vw, 24px);
  }

  body.portal-with-sidebar.rehabilitation-article-page .article-note-grid p,
  body.portal-with-sidebar.rehabilitation-article-page .article-body-section p,
  body.portal-with-sidebar.rehabilitation-article-page .article-point-grid p,
  body.portal-with-sidebar.rehabilitation-article-page .article-step-grid p {
    font-size: 14px;
  }
}

/* Specialists catalog and local profiles: applies the supplied specialists/profile mockups in portal colors. */
body.specialists-list-page,
body.specialist-profile-page {
  color: #12213c;
  background:
    radial-gradient(circle at 12% 18%, rgba(36, 160, 103, 0.13), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(207, 231, 255, 0.5), transparent 34%),
    linear-gradient(135deg, #f5fbf7 0%, #f4f7ff 100%);
}

body.portal-with-sidebar.specialists-list-page .page-shell,
body.portal-with-sidebar.specialist-profile-page .page-shell {
  width: min(100% - 48px, 1760px) !important;
  padding-top: 30px !important;
}

.specialists-catalog,
.specialist-profile-layout {
  display: grid;
  gap: 22px;
}

.specialists-catalog-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  min-height: 248px;
  padding: clamp(28px, 3.4vw, 56px);
  overflow: hidden;
  border: 1px solid rgba(205, 223, 229, 0.86);
  border-radius: 28px;
  background:
    radial-gradient(circle at 86% 16%, rgba(205, 231, 255, 0.7), transparent 34%),
    radial-gradient(circle at 12% 8%, rgba(210, 248, 231, 0.84), transparent 35%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 253, 255, 0.92));
  box-shadow:
    0 24px 70px rgba(43, 76, 100, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.specialists-catalog-head .eyebrow {
  margin: 0 0 12px;
  color: #168653;
  font-size: 15px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.specialists-catalog-head h1 {
  max-width: 760px;
  margin: 0;
  color: #101a33;
  font-size: clamp(58px, 6.2vw, 108px);
  line-height: 0.92;
  font-weight: 950;
  letter-spacing: 0;
}

.specialists-catalog-head p:not(.eyebrow) {
  max-width: 1060px;
  margin: 20px 0 0;
  color: #4f607a;
  font-size: clamp(20px, 1.7vw, 31px);
  line-height: 1.32;
  font-weight: 850;
}

.specialists-catalog-count {
  display: grid;
  place-items: center;
  width: clamp(150px, 13vw, 218px);
  aspect-ratio: 1;
  border: 1px solid rgba(191, 223, 213, 0.9);
  border-radius: 999px;
  color: #156f4c;
  background:
    radial-gradient(circle at 32% 20%, rgba(255, 255, 255, 0.96), transparent 42%),
    linear-gradient(135deg, #e9fbf2, #f5fbff);
  box-shadow: 0 22px 52px rgba(38, 129, 96, 0.14);
}

.specialists-catalog-count strong {
  font-size: clamp(46px, 4.7vw, 82px);
  line-height: 0.9;
  font-weight: 950;
}

.specialists-catalog-count span {
  margin-top: -26px;
  color: #5a6b7f;
  font-size: 14px;
  font-weight: 900;
}

.specialists-catalog-panel,
.specialist-profile-panel,
.specialist-profile-head {
  border: 1px solid rgba(205, 223, 229, 0.86);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 22px 60px rgba(43, 76, 100, 0.1);
}

.specialists-catalog-panel {
  display: grid;
  gap: 20px;
  padding: clamp(22px, 2.3vw, 34px);
}

.specialists-catalog-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.specialists-catalog-tools h1,
.specialists-catalog-tools h2,
.specialist-profile-panel h2 {
  margin: 0;
  color: #101a33;
  font-size: clamp(26px, 2.1vw, 38px);
  line-height: 1;
  font-weight: 950;
}

.specialists-search {
  display: grid;
  grid-template-columns: 22px minmax(180px, 360px);
  gap: 10px;
  align-items: center;
  min-height: 52px;
  padding: 0 18px;
  border: 1px solid rgba(207, 224, 229, 0.9);
  border-radius: 16px;
  background: #f4faf7;
}

.specialists-search svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #748196;
  stroke-width: 2;
}

.specialists-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: #12213c;
  background: transparent;
  font: inherit;
  font-size: 15px;
  font-weight: 750;
}

.specialists-search input::placeholder {
  color: #8190a4;
}

.specialists-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.specialists-filter-row button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 14px 0 16px;
  border: 1px solid rgba(207, 224, 229, 0.9);
  border-radius: 999px;
  color: #536174;
  background: #ffffff;
  font: inherit;
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.specialists-filter-row button:hover,
.specialists-filter-row button:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(24, 145, 92, 0.32);
  color: #126f4d;
  background: #effbf5;
}

.specialists-filter-row button.is-active {
  color: #ffffff;
  border-color: #168653;
  background: linear-gradient(135deg, #18a66a, #167f72);
  box-shadow: 0 14px 28px rgba(23, 134, 83, 0.18);
}

.specialists-filter-row b {
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  color: currentColor;
  background: rgba(255, 255, 255, 0.2);
  font-size: 12px;
  font-weight: 950;
}

body.specialists-list-page .specialists-doctor-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

body.specialists-list-page .doctor-card[hidden] {
  display: none !important;
}

body.specialists-list-page .doctor-card {
  position: relative;
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  min-width: 0;
  min-height: 430px;
  overflow: hidden;
  border: 1px solid rgba(205, 223, 229, 0.86);
  border-radius: 24px;
  background:
    radial-gradient(circle at 16% 0%, rgba(223, 249, 239, 0.92), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 253, 255, 0.95));
  box-shadow: 0 18px 44px rgba(43, 76, 100, 0.08);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

body.specialists-list-page .doctor-card:hover,
body.specialists-list-page .doctor-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(24, 145, 92, 0.35);
  box-shadow: 0 28px 68px rgba(43, 76, 100, 0.14);
}

body.specialists-list-page .doctor-card-photo {
  position: relative;
  aspect-ratio: 1.42 / 1;
  margin: 12px 12px 0 !important;
  overflow: hidden;
  border: 1px solid rgba(205, 223, 229, 0.74);
  border-radius: 18px;
  background: #eff9fb;
}

body.specialists-list-page .doctor-card-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.specialists-list-page .doctor-card-body {
  display: grid;
  grid-template-rows: auto minmax(2.16em, auto) auto;
  align-content: start;
  align-items: start;
  align-self: start;
  justify-items: center;
  gap: 9px;
  min-width: 0;
  margin: 0 !important;
  padding: 14px 18px 18px;
  text-align: center;
}

body.specialists-list-page .doctor-card-label {
  width: fit-content;
  margin: 0 !important;
  padding: 6px 10px;
  border-radius: 10px;
  color: #168653;
  background: #e9f9f1;
  font-size: 10.5px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.specialists-list-page .doctor-card h3 {
  display: grid;
  align-content: center;
  min-height: 2.12em;
  margin: 0;
  color: #111b35;
  font-size: clamp(19px, 1.22vw, 24px);
  line-height: 1.06;
  font-weight: 950;
  letter-spacing: 0;
  text-align: center;
}

body.specialists-list-page .doctor-card h3 .doctor-card-name-line {
  display: block;
  margin-top: 0 !important;
  color: inherit;
  font: inherit;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}

body.specialists-list-page .doctor-card p {
  display: block;
  min-height: 0;
  margin: 0;
  overflow: visible;
  color: #59677d;
  font-size: clamp(14px, 0.9vw, 16px);
  line-height: 1.42;
  font-weight: 820;
  text-align: center;
  -webkit-line-clamp: unset;
}

.specialists-empty {
  margin: 18px 0 4px;
  padding: 26px;
  border: 1px dashed rgba(24, 145, 92, 0.3);
  border-radius: 18px;
  color: #59677d;
  background: #f4faf7;
  text-align: center;
  font-size: 16px;
  font-weight: 800;
}

.specialist-profile-toolbar {
  display: flex;
  align-items: center;
}

.specialist-back-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 0 28px;
  border: 1px solid rgba(218, 226, 232, 0.78);
  border-radius: 999px;
  color: #137a55;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 32px rgba(43, 76, 100, 0.08);
  font-size: 18px;
  font-weight: 950;
}

.specialist-back-link::before {
  content: "←";
  font-size: 21px;
  line-height: 1;
}

.specialist-profile-head {
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 46px);
  align-items: stretch;
  padding: clamp(22px, 2.8vw, 40px);
}

.specialist-profile-photo {
  min-height: 420px;
  overflow: hidden;
  border: 1px solid rgba(205, 223, 229, 0.86);
  border-radius: 24px;
  background:
    radial-gradient(circle at 20% 16%, rgba(255, 255, 255, 0.95), transparent 36%),
    linear-gradient(135deg, #e7f8ee, #eef7ff);
}

.specialist-profile-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.specialist-profile-intro {
  container-type: inline-size;
  display: grid;
  align-content: start;
  gap: 16px;
  min-width: 0;
}

.specialist-profile-label {
  width: fit-content;
  max-width: 100%;
  padding: 8px 13px;
  border: 1px solid rgba(194, 225, 211, 0.9);
  border-radius: 11px;
  color: #168653;
  background: #e9f9f1;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.specialist-profile-intro h1 {
  max-width: 100%;
  margin: 0;
  color: #101a33;
  font-size: clamp(34px, 5.2cqw, 66px);
  line-height: 0.98;
  font-weight: 950;
  letter-spacing: 0;
  white-space: nowrap;
}

.specialist-profile-intro > p {
  max-width: 980px;
  margin: 0;
  color: #59677d;
  font-size: clamp(18px, 1.45vw, 26px);
  line-height: 1.35;
  font-weight: 850;
}

.specialist-profile-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 4px;
}

.specialist-profile-fact {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 7px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(218, 226, 232, 0.86);
  border-radius: 16px;
  background: #f7fbf9;
  text-align: center;
}

.specialist-profile-fact span {
  color: #748196;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
}

.specialist-profile-fact b {
  color: #12213c;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.specialist-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: auto;
}

.specialist-profile-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid rgba(194, 225, 211, 0.9);
  border-radius: 14px;
  color: #137a55;
  background: #ffffff;
  font-size: 15px;
  line-height: 1;
  font-weight: 950;
}

.specialist-profile-button.is-primary {
  color: #ffffff;
  border-color: #168653;
  background: linear-gradient(135deg, #18a66a, #2276d2);
  box-shadow: 0 14px 30px rgba(29, 125, 154, 0.2);
}

.specialist-profile-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
  gap: 22px;
  align-items: start;
}

.specialist-profile-main {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.specialist-profile-aside {
  position: sticky;
  top: 24px;
  display: grid;
  gap: 18px;
  min-width: 0;
}

.specialist-profile-panel {
  padding: clamp(20px, 2.2vw, 32px);
}

.specialist-profile-text-block {
  display: grid;
  gap: 14px;
}

.specialist-profile-text-block p {
  max-width: 1180px;
  margin: 0;
  color: #4f607a;
  font-size: clamp(17px, 1.2vw, 21px);
  line-height: 1.62;
  font-weight: 780;
}

.specialist-profile-short {
  display: grid;
  gap: 0;
  margin: 18px 0 0;
}

.specialist-profile-short div {
  display: grid;
  grid-template-columns: minmax(94px, 0.8fr) minmax(0, 1.2fr);
  gap: 14px;
  padding: 13px 0;
  border-top: 1px solid rgba(218, 226, 232, 0.86);
}

.specialist-profile-short div:first-child {
  border-top: 0;
}

.specialist-profile-short dt {
  color: #748196;
  font-size: 14px;
  font-weight: 900;
}

.specialist-profile-short dd {
  min-width: 0;
  margin: 0;
  color: #12213c;
  text-align: right;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 950;
}

.specialist-profile-help {
  display: grid;
  gap: 16px;
  padding: 22px;
  border: 1px solid rgba(194, 225, 211, 0.9);
  border-radius: 24px;
  background:
    radial-gradient(circle at 86% 8%, rgba(203, 231, 255, 0.72), transparent 42%),
    linear-gradient(135deg, #eaf9f1, #f7fbff);
  box-shadow: 0 18px 44px rgba(43, 76, 100, 0.08);
}

.specialist-profile-help p {
  margin: 0;
  color: #3c4d63;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 850;
}

@media (max-width: 1420px) {
  body.specialists-list-page .specialists-doctor-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .specialist-profile-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1120px) {
  .specialists-catalog-head {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .specialists-catalog-count {
    justify-self: start;
    width: 128px;
  }

  .specialists-catalog-count span {
    margin-top: -18px;
  }

  .specialist-profile-head,
  .specialist-profile-columns {
    grid-template-columns: 1fr;
  }

  .specialist-profile-photo {
    width: min(360px, 100%);
    min-height: 0;
    aspect-ratio: 3 / 4;
  }

  .specialist-profile-aside {
    position: static;
  }
}

@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) {
  body.portal-with-sidebar.specialists-list-page .page-shell,
  body.portal-with-sidebar.specialist-profile-page .page-shell {
    width: min(100% - 24px, 900px) !important;
    padding-top: 18px !important;
  }

  .specialists-catalog,
  .specialist-profile-layout {
    gap: 16px;
  }

  .specialists-catalog-head,
  .specialists-catalog-panel,
  .specialist-profile-head,
  .specialist-profile-panel {
    border-radius: 20px;
  }

  .specialists-catalog-head {
    padding: 26px;
  }

  .specialists-catalog-head h1 {
    font-size: clamp(42px, 12vw, 72px);
  }

  .specialists-catalog-head p:not(.eyebrow) {
    font-size: clamp(16px, 4vw, 22px);
  }

  .specialists-catalog-tools {
    align-items: stretch;
    flex-direction: column;
  }

  .specialists-search {
    grid-template-columns: 22px minmax(0, 1fr);
    width: 100%;
  }

  body.specialists-list-page .specialists-doctor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.specialists-list-page .doctor-card {
    min-height: 0;
  }

  body.specialists-list-page .doctor-card h3 {
    font-size: 22px !important;
  }

  .specialist-back-link {
    width: 100%;
    min-height: 52px;
    justify-content: center;
    font-size: 16px;
  }
}

@media (max-width: 620px) {
  body.portal-with-sidebar.specialists-list-page .page-shell,
  body.portal-with-sidebar.specialist-profile-page .page-shell {
    width: min(100% - 20px, 440px) !important;
  }

  .specialists-catalog-head,
  .specialists-catalog-panel,
  .specialist-profile-head,
  .specialist-profile-panel {
    padding: 20px;
    border-radius: 18px;
  }

  .specialists-catalog-count {
    width: 112px;
  }

  body.specialists-list-page .specialists-doctor-grid,
  .specialist-profile-facts {
    grid-template-columns: 1fr !important;
  }

  body.specialists-list-page .doctor-card-photo {
    aspect-ratio: 1.32 / 1;
  }

  .specialist-profile-actions,
  .specialist-profile-button {
    width: 100%;
  }

  .specialist-profile-photo {
    width: 100%;
  }

  .specialist-profile-intro h1 {
    font-size: clamp(32px, 9vw, 44px);
    white-space: normal;
  }

  .specialist-profile-intro > p,
  .specialist-profile-text-block p {
    font-size: 16px;
  }

  .specialist-profile-short div {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .specialist-profile-short dd {
    text-align: left;
  }
}

/* v226: tighter responsive behavior for catalog pages next to the shared sidebar. */
@media (min-width: 1200px) and (max-width: 1500px) {
  body.portal-with-sidebar.rehabilitation-list-page,
  body.portal-with-sidebar.specialists-list-page {
    --portal-sidebar-width: clamp(214px, 17vw, 230px) !important;
    padding-left: calc(var(--portal-sidebar-width) + clamp(20px, 2.2vw, 32px)) !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .portal-shared-sidebar,
  body.portal-with-sidebar.specialists-list-page .portal-shared-sidebar {
    width: var(--portal-sidebar-width) !important;
    padding: clamp(14px, 1.7vh, 20px) clamp(12px, 1.1vw, 18px) !important;
    gap: clamp(8px, 1vh, 12px) !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-brand,
  body.portal-with-sidebar.specialists-list-page .support-brand {
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 0 2px 4px !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-brand img,
  body.portal-with-sidebar.specialists-list-page .support-brand img {
    width: 54px !important;
    height: 54px !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-brand strong,
  body.portal-with-sidebar.specialists-list-page .support-brand strong {
    font-size: clamp(13px, 0.92vw, 14.5px) !important;
    line-height: 1.04 !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-brand small,
  body.portal-with-sidebar.specialists-list-page .support-brand small {
    margin-top: 4px !important;
    font-size: clamp(10.5px, 0.75vw, 11.5px) !important;
    line-height: 1.15 !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .home-brand,
  body.portal-with-sidebar.specialists-list-page .home-brand,
  body.portal-with-sidebar.rehabilitation-list-page .home-nav,
  body.portal-with-sidebar.specialists-list-page .home-nav,
  body.portal-with-sidebar.rehabilitation-list-page .support-nav,
  body.portal-with-sidebar.specialists-list-page .support-nav {
    gap: clamp(4px, 0.55vh, 7px) !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-nav a,
  body.portal-with-sidebar.specialists-list-page .support-nav a,
  body.portal-with-sidebar.rehabilitation-list-page .home-nav-item,
  body.portal-with-sidebar.specialists-list-page .home-nav-item {
    grid-template-columns: 30px minmax(0, 1fr) !important;
    min-height: clamp(32px, 3.6vh, 42px) !important;
    gap: clamp(8px, 0.8vw, 12px) !important;
    padding: 0 clamp(9px, 0.8vw, 13px) !important;
    font-size: clamp(10.5px, 0.74vw, 12px) !important;
    line-height: 1.08 !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-nav span,
  body.portal-with-sidebar.specialists-list-page .support-nav span,
  body.portal-with-sidebar.rehabilitation-list-page .home-nav-item span,
  body.portal-with-sidebar.specialists-list-page .home-nav-item span {
    width: clamp(20px, 1.35vw, 24px) !important;
    height: clamp(20px, 1.35vw, 24px) !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-nav-icon,
  body.portal-with-sidebar.specialists-list-page .support-nav-icon {
    width: clamp(24px, 1.5vw, 28px) !important;
    height: clamp(24px, 1.5vw, 28px) !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .page-shell {
    width: min(calc(100vw - var(--portal-sidebar-width) - clamp(56px, 5vw, 78px)), 1240px) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  body.portal-with-sidebar.specialists-list-page .page-shell {
    width: min(calc(100vw - var(--portal-sidebar-width) - clamp(56px, 5vw, 78px)), 1240px) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

@media (min-width: 1200px) {
  body.portal-with-sidebar.rehabilitation-list-page .page-shell,
  body.portal-with-sidebar.specialists-list-page .page-shell {
    width: calc(100vw - var(--portal-sidebar-width) - clamp(8px, 0.8vw, 18px)) !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

@media (min-width: 1200px) and (max-width: 1500px) {
  body.portal-with-sidebar.rehabilitation-list-page .page-shell,
  body.portal-with-sidebar.specialists-list-page .page-shell {
    width: calc(100vw - var(--portal-sidebar-width) - clamp(50px, 4.5vw, 66px)) !important;
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  body.portal-with-sidebar .imported-content-rehabilitation .rehabilitation-material-grid,
  body.portal-with-sidebar.specialists-list-page .specialists-doctor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.portal-with-sidebar.specialists-list-page .doctor-card {
    min-height: 460px;
  }
}

/* v228: specialists and rehabilitation keep the same dashboard rail as the homepage. */
@media (min-width: 1200px) {
  body.portal-with-sidebar.rehabilitation-list-page,
  body.portal-with-sidebar.specialists-list-page {
    --portal-sidebar-width: 238px !important;
    padding-left: 238px !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .portal-shared-sidebar,
  body.portal-with-sidebar.specialists-list-page .portal-shared-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 70 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    width: 238px !important;
    height: 100vh !important;
    gap: 22px !important;
    padding: 28px 18px 20px !important;
    overflow-y: auto !important;
    border-width: 0 1px 0 0 !important;
    border-style: solid !important;
    border-color: rgba(197, 222, 214, 0.9) !important;
    border-radius: 0 !important;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 255, 252, 0.97)),
      radial-gradient(circle at 14% 11%, rgba(38, 154, 96, 0.08), transparent 36%) !important;
    box-shadow: 14px 0 36px rgba(43, 84, 77, 0.07) !important;
    backdrop-filter: none !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-brand,
  body.portal-with-sidebar.specialists-list-page .support-brand {
    display: grid !important;
    grid-template-columns: 84px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-items: start !important;
    gap: 12px !important;
    padding: 2px 4px 10px !important;
    text-align: left !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-brand img,
  body.portal-with-sidebar.specialists-list-page .support-brand img {
    width: 84px !important;
    height: 84px !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-brand span,
  body.portal-with-sidebar.specialists-list-page .support-brand span,
  body.portal-with-sidebar.rehabilitation-list-page .support-brand strong,
  body.portal-with-sidebar.specialists-list-page .support-brand strong,
  body.portal-with-sidebar.rehabilitation-list-page .support-brand small,
  body.portal-with-sidebar.specialists-list-page .support-brand small {
    display: block !important;
    letter-spacing: 0 !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-brand strong,
  body.portal-with-sidebar.specialists-list-page .support-brand strong {
    color: #13243d !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.04 !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-brand small,
  body.portal-with-sidebar.specialists-list-page .support-brand small {
    margin-top: 6px !important;
    color: #748196 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-nav,
  body.portal-with-sidebar.specialists-list-page .support-nav {
    display: grid !important;
    gap: 8px !important;
    width: 100% !important;
    padding-top: 4px !important;
    overflow: visible !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-nav a,
  body.portal-with-sidebar.specialists-list-page .support-nav a {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-items: stretch !important;
    gap: 14px !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 50px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    font-size: 14.2px !important;
    line-height: 1.12 !important;
    white-space: normal !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-nav span,
  body.portal-with-sidebar.specialists-list-page .support-nav span {
    width: 38px !important;
    height: 38px !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-nav-icon,
  body.portal-with-sidebar.specialists-list-page .support-nav-icon {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .page-shell,
  body.portal-with-sidebar.specialists-list-page .page-shell {
    width: calc(100vw - 238px - clamp(8px, 0.8vw, 18px)) !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  body.portal-with-sidebar.rehabilitation-list-page,
  body.portal-with-sidebar.specialists-list-page {
    --portal-sidebar-width: 224px !important;
    padding-left: 224px !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .portal-shared-sidebar,
  body.portal-with-sidebar.specialists-list-page .portal-shared-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 70 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    width: 224px !important;
    height: 100vh !important;
    gap: 18px !important;
    padding: 24px 14px 18px !important;
    overflow-y: auto !important;
    border-width: 0 1px 0 0 !important;
    border-style: solid !important;
    border-color: rgba(197, 222, 214, 0.9) !important;
    border-radius: 0 !important;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 255, 252, 0.97)),
      radial-gradient(circle at 14% 11%, rgba(38, 154, 96, 0.08), transparent 36%) !important;
    box-shadow: 14px 0 36px rgba(43, 84, 77, 0.07) !important;
    backdrop-filter: none !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-brand,
  body.portal-with-sidebar.specialists-list-page .support-brand {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-items: start !important;
    gap: 10px !important;
    padding: 2px 4px 10px !important;
    text-align: left !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-brand img,
  body.portal-with-sidebar.specialists-list-page .support-brand img {
    width: 76px !important;
    height: 76px !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-brand span,
  body.portal-with-sidebar.specialists-list-page .support-brand span,
  body.portal-with-sidebar.rehabilitation-list-page .support-brand strong,
  body.portal-with-sidebar.specialists-list-page .support-brand strong,
  body.portal-with-sidebar.rehabilitation-list-page .support-brand small,
  body.portal-with-sidebar.specialists-list-page .support-brand small {
    display: block !important;
    letter-spacing: 0 !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-brand strong,
  body.portal-with-sidebar.specialists-list-page .support-brand strong {
    color: #13243d !important;
    font-size: 15.5px !important;
    font-weight: 900 !important;
    line-height: 1.04 !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-brand small,
  body.portal-with-sidebar.specialists-list-page .support-brand small {
    margin-top: 6px !important;
    color: #748196 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-nav,
  body.portal-with-sidebar.specialists-list-page .support-nav {
    display: grid !important;
    gap: 6px !important;
    width: 100% !important;
    padding-top: 4px !important;
    overflow: visible !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-nav a,
  body.portal-with-sidebar.specialists-list-page .support-nav a {
    display: grid !important;
    grid-template-columns: 35px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-items: stretch !important;
    gap: 12px !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 46px !important;
    padding: 0 12px !important;
    border-radius: 14px !important;
    font-size: 13.2px !important;
    line-height: 1.12 !important;
    white-space: normal !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-nav span,
  body.portal-with-sidebar.specialists-list-page .support-nav span {
    width: 35px !important;
    height: 35px !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .support-nav-icon,
  body.portal-with-sidebar.specialists-list-page .support-nav-icon {
    width: 31px !important;
    min-width: 31px !important;
    max-width: 31px !important;
    height: 31px !important;
    min-height: 31px !important;
    max-height: 31px !important;
  }

  body.portal-with-sidebar.rehabilitation-list-page .page-shell,
  body.portal-with-sidebar.specialists-list-page .page-shell {
    width: calc(100vw - 224px - 16px) !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

/* v229: active tabs must stay visibly selected after the dashboard rail overrides. */
body.portal-with-sidebar .support-nav a.is-active,
body.portal-with-sidebar .support-nav a[aria-current="page"] {
  color: #12804f !important;
  border-color: rgba(116, 202, 162, 0.64) !important;
  background:
    linear-gradient(90deg, rgba(226, 250, 237, 0.98), rgba(244, 253, 248, 0.98)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.78),
    0 12px 26px rgba(23, 134, 83, 0.12) !important;
}

body.portal-with-sidebar .support-nav a.is-active span,
body.portal-with-sidebar .support-nav a[aria-current="page"] span {
  border-radius: 12px !important;
  background: rgba(232, 249, 240, 0.78) !important;
}

body.portal-with-sidebar .support-nav a.is-active .support-nav-icon,
body.portal-with-sidebar .support-nav a[aria-current="page"] .support-nav-icon {
  filter: saturate(1.12) drop-shadow(0 5px 8px rgba(22, 134, 83, 0.16)) !important;
}

body.specialists-list-page .specialists-filter-row button.is-active {
  color: #ffffff !important;
  border-color: #168653 !important;
  background: linear-gradient(135deg, #18a66a, #167f72) !important;
  box-shadow: 0 14px 28px rgba(23, 134, 83, 0.2) !important;
}

/* v230: methods reuse the approved rehabilitation materials dashboard, with a blue-teal accent. */
.imported-content-methods {
  display: grid;
  gap: clamp(16px, 1.6vw, 24px);
}

.methods-materials-block {
  border-color: rgba(32, 91, 145, 0.1);
  background:
    radial-gradient(circle at 15% 8%, rgba(68, 167, 219, 0.14), transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(39, 174, 126, 0.1), transparent 31%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 252, 255, 0.92));
}

.methods-materials-block h2 {
  color: #10214a;
  font-size: clamp(28px, 2.35vw, 44px);
  line-height: 1.04;
}

.methods-material-card {
  border-color: rgba(47, 114, 177, 0.1);
  background:
    radial-gradient(circle at 18% 10%, rgba(76, 174, 223, 0.13), transparent 31%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 254, 255, 0.94));
}

.methods-material-card:hover,
.methods-material-card:focus-visible {
  border-color: rgba(45, 129, 197, 0.28);
  box-shadow:
    0 24px 56px rgba(28, 61, 91, 0.13),
    inset 0 0 0 1px rgba(255, 255, 255, 0.74);
}

.methods-material-card .imported-card-meta {
  color: #155d85;
  background: rgba(229, 246, 255, 0.94);
}

body.portal-with-sidebar .imported-content-methods .methods-material-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.portal-with-sidebar.methods-article-page .article-hero-main,
.methods-article-page .article-hero-main {
  background:
    radial-gradient(circle at 16% 18%, rgba(255, 255, 255, 0.92), transparent 34%),
    linear-gradient(135deg, rgba(35, 156, 206, 0.12), rgba(35, 169, 122, 0.1));
}

body.portal-with-sidebar.methods-article-page .article-hero-card,
.methods-article-page .article-hero-card {
  background:
    radial-gradient(circle at 88% 14%, rgba(255, 255, 255, 0.18), transparent 30%),
    linear-gradient(145deg, rgba(26, 91, 136, 0.98), rgba(31, 147, 124, 0.94));
}

body.portal-with-sidebar.methods-article-page .article-hero-category,
.methods-article-page .article-hero-category {
  color: #dff4ff;
}

body.portal-with-sidebar.methods-article-page .article-back-link,
.methods-article-page .article-back-link {
  color: #155d85;
}

.methods-article-page .article-point-grid article::before,
.methods-article-page .article-step-grid article::before {
  background: #2b83bd;
}

.methods-article-page .article-point-grid span,
.methods-article-page .article-step-grid span {
  color: #2b83bd;
}

@media (min-width: 901px) and (max-width: 1199px) {
  body.portal-with-sidebar .imported-content-methods .methods-material-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* v237: final hard reset for the homepage assistant rail. Keep it compact, green, and free of legacy SVG/decoration leaks. */
body.portal-dashboard-home .support-home-grid {
  align-items: start !important;
}

body.portal-dashboard-home .support-home-right {
  min-width: 0 !important;
}

body.portal-dashboard-home .support-helper-card {
  box-sizing: border-box !important;
  position: relative !important;
  isolation: isolate !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  align-content: start !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(196, 222, 212, 0.96) !important;
  border-radius: 22px !important;
  color: #13243d !important;
  background:
    radial-gradient(circle at 90% 12%, rgba(226, 243, 252, 0.88), transparent 34%),
    radial-gradient(circle at 86% 88%, rgba(222, 248, 237, 0.9), transparent 36%),
    linear-gradient(145deg, #ffffff 0%, #fbfffd 60%, #f4fbf8 100%) !important;
  box-shadow:
    0 18px 42px rgba(43, 80, 69, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.98) !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

body.portal-dashboard-home .support-helper-card::before {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  right: -92px !important;
  top: 112px !important;
  width: 236px !important;
  height: 236px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(226, 244, 252, 0.5) !important;
}

body.portal-dashboard-home .support-helper-copy {
  display: grid !important;
  align-content: start !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body.portal-dashboard-home .support-helper-topline {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body.portal-dashboard-home .support-helper-badge,
body.portal-dashboard-home .support-helper-security {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 34px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(35, 145, 89, 0.16) !important;
  border-radius: 13px !important;
  color: #1a8052 !important;
  background: rgba(236, 250, 243, 0.95) !important;
  font-size: 11.2px !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

body.portal-dashboard-home .support-helper-security {
  color: #52637c !important;
  background: rgba(255, 255, 255, 0.9) !important;
}

body.portal-dashboard-home .support-helper-badge > span,
body.portal-dashboard-home .support-helper-security-mark {
  position: relative !important;
  display: grid !important;
  flex: 0 0 auto !important;
  place-items: center !important;
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  border-radius: 999px !important;
  background: linear-gradient(145deg, #31a86d, #178551) !important;
}

body.portal-dashboard-home .support-helper-badge > span::before,
body.portal-dashboard-home .support-helper-badge > span::after,
body.portal-dashboard-home .support-helper-security-mark::before {
  content: "" !important;
  position: absolute !important;
  width: 7px !important;
  height: 4px !important;
  border: 0 !important;
  border-bottom: 2px solid #ffffff !important;
  border-left: 2px solid #ffffff !important;
  border-radius: 1px !important;
  background: transparent !important;
  clip-path: none !important;
  transform: translateY(-1px) rotate(-45deg) !important;
}

body.portal-dashboard-home .support-helper-security svg,
body.portal-dashboard-home .support-helper-security svg *,
body.portal-dashboard-home .support-helper-security path {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  fill: none !important;
  stroke: none !important;
}

body.portal-dashboard-home .support-helper-copy h2 {
  width: 100% !important;
  max-width: none !important;
  margin: 2px 0 0 !important;
  color: #10213f !important;
  font-size: clamp(25px, 2vw, 31px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

body.portal-dashboard-home .support-helper-copy .support-helper-lead {
  display: block !important;
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 !important;
  color: #5e6c83 !important;
  font-size: 13.2px !important;
  font-weight: 760 !important;
  line-height: 1.34 !important;
  letter-spacing: 0 !important;
}

body.portal-dashboard-home .support-helper-copy .support-helper-lead::before {
  content: none !important;
  display: none !important;
}

body.portal-dashboard-home .support-helper-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.portal-dashboard-home .support-helper-steps {
  display: grid !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  list-style: none !important;
}

body.portal-dashboard-home .support-helper-steps li {
  box-sizing: border-box !important;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 18px !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  min-height: 56px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(218, 232, 226, 0.96) !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 10px 22px rgba(52, 86, 74, 0.055) !important;
}

body.portal-dashboard-home .support-helper-steps li + li {
  border-top: 1px solid rgba(218, 232, 226, 0.96) !important;
}

body.portal-dashboard-home .support-helper-steps li::after {
  content: none !important;
  display: none !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-action-icon {
  display: grid !important;
  flex: 0 0 auto !important;
  place-items: center !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  border: 1px solid rgba(205, 227, 218, 0.9) !important;
  border-radius: 13px !important;
  background: linear-gradient(145deg, rgba(239, 250, 245, 0.98), rgba(247, 252, 250, 0.86)) !important;
  box-shadow: none !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-emblem {
  display: block !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  object-fit: contain !important;
}

body.portal-dashboard-home .support-helper-steps li > span:nth-child(2) {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}

body.portal-dashboard-home .support-helper-steps li strong,
body.portal-dashboard-home .support-helper-steps li small {
  display: block !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  letter-spacing: 0 !important;
}

body.portal-dashboard-home .support-helper-steps li strong {
  color: #11243f !important;
  font-size: 13.3px !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
}

body.portal-dashboard-home .support-helper-steps li small {
  color: #657289 !important;
  font-size: 10.3px !important;
  font-weight: 730 !important;
  line-height: 1.16 !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
}

body.portal-dashboard-home .support-helper-row-arrow {
  display: grid !important;
  place-items: center !important;
  width: 18px !important;
  height: 18px !important;
  color: #1d8c59 !important;
  background: transparent !important;
}

body.portal-dashboard-home .support-helper-row-arrow svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-width: 2.2 !important;
}

body.portal-dashboard-home .support-helper-row-arrow svg path {
  fill: none !important;
  stroke: currentColor !important;
}

body.portal-dashboard-home .support-helper-visual-wrap {
  display: none !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open {
  box-sizing: border-box !important;
  position: relative !important;
  inset: auto !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 40px !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 11px 12px 11px 16px !important;
  border: 0 !important;
  border-radius: 16px !important;
  color: #ffffff !important;
  background:
    radial-gradient(circle at 88% 16%, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 28%),
    linear-gradient(135deg, #2faa6a, #168451) !important;
  box-shadow: 0 16px 30px rgba(24, 129, 78, 0.22) !important;
  text-align: left !important;
  text-decoration: none !important;
  white-space: normal !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-mark {
  display: none !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-copy {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
  color: #ffffff !important;
  background: transparent !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-copy strong,
body.portal-dashboard-home .support-helper-card .support-helper-open-copy small {
  display: block !important;
  overflow: visible !important;
  color: #ffffff !important;
  text-overflow: clip !important;
  white-space: normal !important;
  letter-spacing: 0 !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-copy strong {
  font-size: 14.6px !important;
  font-weight: 950 !important;
  line-height: 1.12 !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-copy small {
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 10.6px !important;
  font-weight: 720 !important;
  line-height: 1.2 !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-arrow {
  display: grid !important;
  place-items: center !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  color: #168451 !important;
  background: #ffffff !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-arrow svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-width: 2.4 !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-arrow svg path {
  fill: none !important;
  stroke: currentColor !important;
}

body.portal-dashboard-home .support-helper-trust {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 9px 7px !important;
  border: 1px solid rgba(216, 231, 225, 0.96) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.82) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

body.portal-dashboard-home .support-helper-trust > span {
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  gap: 5px !important;
  min-width: 0 !important;
  text-align: center !important;
}

body.portal-dashboard-home .support-helper-trust i {
  display: grid !important;
  place-items: center !important;
  width: 22px !important;
  height: 22px !important;
  border: 1px solid rgba(204, 226, 218, 0.95) !important;
  border-radius: 999px !important;
  background: #f1faf6 !important;
}

body.portal-dashboard-home .support-helper-trust i::before {
  content: "" !important;
  width: 10px !important;
  height: 6px !important;
  border: 0 !important;
  border-bottom: 2px solid #1d9660 !important;
  border-left: 2px solid #1d9660 !important;
  border-radius: 1px !important;
  transform: translateY(-1px) rotate(-45deg) !important;
}

body.portal-dashboard-home .support-helper-trust strong,
body.portal-dashboard-home .support-helper-trust small {
  display: block !important;
  overflow: visible !important;
  max-width: none !important;
  color: #13243d !important;
  text-overflow: clip !important;
  white-space: normal !important;
  letter-spacing: 0 !important;
}

body.portal-dashboard-home .support-helper-trust strong {
  font-size: 9.5px !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
}

body.portal-dashboard-home .support-helper-trust small {
  display: none !important;
}

@media (min-width: 1600px) {
  body.portal-dashboard-home .support-home-grid {
    grid-template-columns: minmax(0, 1fr) clamp(500px, 27vw, 560px) !important;
    gap: 24px !important;
  }

  body.portal-dashboard-home .support-helper-card {
    gap: 14px !important;
    padding: 22px !important;
  }

  body.portal-dashboard-home .support-helper-body {
    grid-template-columns: minmax(0, 1fr) 144px !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  body.portal-dashboard-home .support-helper-visual-wrap {
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    min-height: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    background:
      radial-gradient(circle at 48% 42%, rgba(208, 239, 250, 0.82), transparent 55%),
      linear-gradient(180deg, rgba(247, 253, 251, 0.78), rgba(235, 249, 243, 0.7)) !important;
  }

  body.portal-dashboard-home .support-helper-visual-wrap::before,
  body.portal-dashboard-home .support-helper-file-chip,
  body.portal-dashboard-home .support-helper-checkmark {
    display: none !important;
  }

  body.portal-dashboard-home .support-helper-visual {
    position: absolute !important;
    right: 8px !important;
    bottom: 8px !important;
    z-index: 1 !important;
    display: block !important;
    width: 128px !important;
    min-width: 0 !important;
    max-width: 128px !important;
    height: auto !important;
    max-height: 190px !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    opacity: 0.94 !important;
    filter: drop-shadow(0 16px 24px rgba(36, 100, 83, 0.12)) !important;
    transform: none !important;
  }

  body.portal-dashboard-home .support-helper-trust small {
    display: block !important;
    max-width: 92px !important;
    color: #68778e !important;
    font-size: 8.8px !important;
    line-height: 1.1 !important;
  }
}

@media (max-width: 1260px), (max-height: 850px) and (min-width: 1100px) {
  body.portal-dashboard-home .support-helper-card {
    gap: 10px !important;
    padding: 16px !important;
    border-radius: 20px !important;
  }

  body.portal-dashboard-home .support-helper-badge,
  body.portal-dashboard-home .support-helper-security {
    min-height: 30px !important;
    padding: 7px 8px !important;
    font-size: 10.3px !important;
  }

  body.portal-dashboard-home .support-helper-copy h2 {
    font-size: 23px !important;
    line-height: 1 !important;
  }

  body.portal-dashboard-home .support-helper-copy .support-helper-lead {
    font-size: 11.2px !important;
    line-height: 1.25 !important;
  }

  body.portal-dashboard-home .support-helper-steps {
    gap: 6px !important;
  }

  body.portal-dashboard-home .support-helper-steps li {
    grid-template-columns: 36px minmax(0, 1fr) 16px !important;
    gap: 8px !important;
    min-height: 50px !important;
    padding: 7px 8px !important;
    border-radius: 13px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-action-icon {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-emblem {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
  }

  body.portal-dashboard-home .support-helper-steps li strong {
    font-size: 11.6px !important;
  }

  body.portal-dashboard-home .support-helper-steps li small {
    font-size: 9.1px !important;
    line-height: 1.12 !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open {
    min-height: 54px !important;
    padding: 9px 10px 9px 13px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open-copy strong {
    font-size: 12.3px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open-copy small {
    font-size: 9.2px !important;
  }

  body.portal-dashboard-home .support-helper-trust {
    padding: 8px 6px !important;
  }

  body.portal-dashboard-home .support-helper-trust strong {
    font-size: 8.5px !important;
  }
}

/* v233: homepage assistant block, scoped to the Next dashboard only. */
body.portal-dashboard-home .support-helper-card {
  position: relative !important;
  isolation: isolate;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 15px !important;
  min-height: 0 !important;
  padding: 22px !important;
  overflow: hidden !important;
  border: 1px solid rgba(218, 226, 242, 0.98) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 74% 28%, rgba(225, 231, 255, 0.92), rgba(255, 255, 255, 0) 42%),
    radial-gradient(circle at 82% 70%, rgba(214, 247, 235, 0.86), rgba(255, 255, 255, 0) 36%),
    linear-gradient(145deg, #ffffff 0%, #fbfdff 58%, #f7fbff 100%) !important;
  box-shadow:
    0 24px 54px rgba(51, 67, 100, 0.11),
    inset 0 1px 0 rgba(255, 255, 255, 0.98) !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

body.portal-dashboard-home .support-helper-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: -58px;
  top: 132px;
  width: 270px;
  height: 270px;
  border: 1px solid rgba(139, 131, 232, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.46);
}

body.portal-dashboard-home .support-helper-copy {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  width: 100% !important;
  min-height: 0 !important;
  gap: 12px !important;
  padding: 0 !important;
}

body.portal-dashboard-home .support-helper-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

body.portal-dashboard-home .support-helper-badge,
body.portal-dashboard-home .support-helper-security {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  border: 1px solid rgba(111, 98, 233, 0.1);
  border-radius: 14px;
  background: rgba(246, 244, 255, 0.9);
  color: #5b52e4;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: 0;
}

body.portal-dashboard-home .support-helper-badge {
  gap: 8px;
  padding: 10px 12px;
}

body.portal-dashboard-home .support-helper-badge > span {
  position: relative;
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
}

body.portal-dashboard-home .support-helper-badge > span::before {
  content: "";
  width: 15px;
  height: 15px;
  background: linear-gradient(135deg, #7d6df5, #39c6d6);
  clip-path: polygon(50% 0, 62% 37%, 100% 50%, 62% 63%, 50% 100%, 38% 63%, 0 50%, 38% 37%);
}

body.portal-dashboard-home .support-helper-security {
  gap: 8px;
  padding: 8px 10px;
  color: #617091;
  background: rgba(255, 255, 255, 0.82);
}

body.portal-dashboard-home .support-helper-security svg {
  width: 19px;
  height: 19px;
  color: #655cf0;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

body.portal-dashboard-home .support-helper-copy h2 {
  width: auto !important;
  max-width: 310px !important;
  margin: 4px 0 0 !important;
  color: #10213f !important;
  font-size: 31px !important;
  font-weight: 950 !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
}

body.portal-dashboard-home .support-helper-copy .support-helper-lead {
  display: block !important;
  width: auto !important;
  max-width: 322px !important;
  margin: 0 !important;
  color: #5f6e8c !important;
  font-size: 14px !important;
  font-weight: 760 !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
}

body.portal-dashboard-home .support-helper-copy .support-helper-lead::before {
  content: none !important;
  display: none !important;
}

body.portal-dashboard-home .support-helper-steps {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  gap: 10px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  list-style: none !important;
}

body.portal-dashboard-home .support-helper-steps li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) 22px !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 74px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(224, 231, 242, 0.95) !important;
  border-radius: 17px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 14px 30px rgba(54, 72, 105, 0.06) !important;
}

body.portal-dashboard-home .support-helper-steps li + li {
  border-top: 1px solid rgba(224, 231, 242, 0.95) !important;
}

body.portal-dashboard-home .support-helper-steps li::after {
  content: none !important;
  display: none !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-action-icon {
  display: grid !important;
  place-items: center !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, rgba(239, 235, 255, 0.98), rgba(229, 224, 255, 0.72)) !important;
  box-shadow: 0 12px 24px rgba(117, 94, 229, 0.12) !important;
}

body.portal-dashboard-home .support-helper-steps li:nth-child(2) .support-helper-action-icon {
  background: linear-gradient(145deg, rgba(226, 249, 235, 0.98), rgba(208, 239, 221, 0.74)) !important;
  box-shadow: 0 12px 24px rgba(41, 160, 96, 0.1) !important;
}

body.portal-dashboard-home .support-helper-steps li:nth-child(3) .support-helper-action-icon {
  background: linear-gradient(145deg, rgba(230, 241, 255, 0.98), rgba(211, 226, 254, 0.78)) !important;
  box-shadow: 0 12px 24px rgba(67, 125, 216, 0.1) !important;
}

body.portal-dashboard-home .support-helper-steps li:nth-child(4) .support-helper-action-icon {
  background: linear-gradient(145deg, rgba(255, 239, 218, 0.98), rgba(255, 224, 185, 0.75)) !important;
  box-shadow: 0 12px 24px rgba(236, 141, 51, 0.11) !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-emblem {
  display: block !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  object-fit: contain !important;
}

body.portal-dashboard-home .support-helper-steps li > span:nth-child(2) {
  display: grid !important;
  min-width: 0 !important;
  gap: 4px !important;
}

body.portal-dashboard-home .support-helper-steps li strong {
  overflow: hidden !important;
  color: #10213f !important;
  font-size: 14.2px !important;
  font-weight: 950 !important;
  line-height: 1.08 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}

body.portal-dashboard-home .support-helper-steps li small {
  display: -webkit-box !important;
  overflow: hidden !important;
  color: #667493 !important;
  font-size: 11.7px !important;
  font-weight: 730 !important;
  line-height: 1.22 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  white-space: normal !important;
  letter-spacing: 0 !important;
}

body.portal-dashboard-home .support-helper-row-arrow {
  display: grid !important;
  place-items: center !important;
  width: 22px !important;
  height: 22px !important;
  color: #8b7bf0 !important;
  background: transparent !important;
}

body.portal-dashboard-home .support-helper-row-arrow svg {
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-width: 2.2 !important;
}

body.portal-dashboard-home .support-helper-visual-wrap {
  position: relative;
  z-index: 1;
  min-height: 178px;
  margin: 0 -4px -2px;
  overflow: visible;
}

body.portal-dashboard-home .support-helper-visual-wrap::before {
  content: "";
  position: absolute;
  inset: 4px 42px 10px 42px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 52% 46%, rgba(117, 107, 255, 0.18), rgba(255, 255, 255, 0) 54%),
    rgba(255, 255, 255, 0.7);
  box-shadow: inset 0 0 0 1px rgba(130, 143, 190, 0.08);
}

body.portal-dashboard-home .support-helper-visual {
  position: absolute !important;
  inset: auto 52px -16px auto !important;
  z-index: 2 !important;
  display: block !important;
  width: 218px !important;
  max-width: 66% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: drop-shadow(0 28px 36px rgba(83, 78, 164, 0.16)) !important;
  transform: rotate(-1deg) !important;
  background: transparent !important;
}

body.portal-dashboard-home .support-helper-file-chip {
  position: absolute;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 14px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: 0;
  box-shadow: 0 14px 28px rgba(80, 91, 143, 0.14);
  transform: rotate(-8deg);
}

body.portal-dashboard-home .support-helper-file-pdf {
  top: 16px;
  left: 28px;
  background: linear-gradient(145deg, #ff908e, #f15f6f);
}

body.portal-dashboard-home .support-helper-file-doc {
  left: 2px;
  bottom: 32px;
  background: linear-gradient(145deg, #7fc5ff, #4c91e7);
  transform: rotate(-10deg);
}

body.portal-dashboard-home .support-helper-file-jpg {
  right: 10px;
  top: 54px;
  background: linear-gradient(145deg, #9de4bd, #62c897);
  transform: rotate(10deg);
}

body.portal-dashboard-home .support-helper-checkmark {
  position: absolute;
  z-index: 4;
  right: 128px;
  bottom: 20px;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 36% 28%, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.58) 46%, rgba(104, 93, 236, 0.18) 100%);
  box-shadow: 0 16px 30px rgba(87, 83, 203, 0.2);
}

body.portal-dashboard-home .support-helper-checkmark::before {
  content: "";
  width: 23px;
  height: 13px;
  border-bottom: 5px solid #6358eb;
  border-left: 5px solid #6358eb;
  border-radius: 3px;
  transform: translateY(-2px) rotate(-45deg);
}

body.portal-dashboard-home .support-helper-card .support-helper-open {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 3 !important;
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) 44px !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 76px !important;
  margin: 0 !important;
  padding: 14px 15px !important;
  border: 0 !important;
  border-radius: 18px !important;
  color: #ffffff !important;
  background:
    radial-gradient(circle at 86% 14%, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 26%),
    linear-gradient(135deg, #675cf1, #453bd5) !important;
  box-shadow: 0 20px 36px rgba(82, 72, 218, 0.24) !important;
  text-align: left !important;
  text-decoration: none !important;
  white-space: normal !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-mark {
  display: grid !important;
  place-items: center !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.16) !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-mark::before {
  content: "";
  width: 24px;
  height: 24px;
  background: #ffffff;
  clip-path: polygon(50% 0, 62% 37%, 100% 50%, 62% 63%, 50% 100%, 38% 63%, 0 50%, 38% 37%);
}

body.portal-dashboard-home .support-helper-card .support-helper-open-copy {
  display: grid !important;
  place-items: stretch !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  background: transparent !important;
  gap: 4px !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-copy strong {
  overflow: hidden;
  color: #ffffff;
  font-size: 15.5px;
  font-weight: 950;
  line-height: 1.12;
  text-overflow: ellipsis;
  white-space: nowrap;
  letter-spacing: 0;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-copy small {
  color: rgba(255, 255, 255, 0.84);
  font-size: 11.5px;
  font-weight: 720;
  line-height: 1.24;
  letter-spacing: 0;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-arrow {
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  color: #564be4 !important;
  background: #ffffff !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-arrow svg {
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-width: 2.4 !important;
}

body.portal-dashboard-home .support-helper-trust {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 10px;
  padding: 12px;
  border: 1px solid rgba(226, 232, 243, 0.9);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

body.portal-dashboard-home .support-helper-trust > span {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
}

body.portal-dashboard-home .support-helper-trust i {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #f3efff;
}

body.portal-dashboard-home .support-helper-trust i::before {
  content: "";
  width: 13px;
  height: 13px;
  border: 2px solid #7568ee;
  border-radius: 4px;
}

body.portal-dashboard-home .support-helper-trust > span:nth-child(2) i {
  background: #eefaf4;
}

body.portal-dashboard-home .support-helper-trust > span:nth-child(2) i::before {
  border-color: #32a66b;
  border-radius: 999px;
}

body.portal-dashboard-home .support-helper-trust > span:nth-child(3) i {
  background: #eef5ff;
}

body.portal-dashboard-home .support-helper-trust > span:nth-child(3) i::before {
  border-color: #4f8fe8;
  border-radius: 999px 999px 4px 4px;
}

body.portal-dashboard-home .support-helper-trust > span:nth-child(4) i {
  background: #f5f0ff;
}

body.portal-dashboard-home .support-helper-trust > span:nth-child(4) i::before {
  border-color: #8a6cf0;
  border-radius: 999px;
}

body.portal-dashboard-home .support-helper-trust strong,
body.portal-dashboard-home .support-helper-trust small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  letter-spacing: 0;
}

body.portal-dashboard-home .support-helper-trust strong {
  color: #10213f;
  font-size: 11.6px;
  font-weight: 950;
  line-height: 1.08;
}

body.portal-dashboard-home .support-helper-trust small {
  margin-top: 2px;
  color: #697691;
  font-size: 10px;
  font-weight: 710;
  line-height: 1.08;
}

@media (max-width: 1260px) {
  body.portal-dashboard-home .support-helper-card {
    gap: 13px !important;
    padding: 18px !important;
    border-radius: 22px !important;
  }

  body.portal-dashboard-home .support-helper-copy {
    gap: 10px !important;
  }

  body.portal-dashboard-home .support-helper-badge,
  body.portal-dashboard-home .support-helper-security {
    font-size: 11px;
  }

  body.portal-dashboard-home .support-helper-badge {
    padding: 9px 10px;
  }

  body.portal-dashboard-home .support-helper-security {
    padding: 7px 9px;
  }

  body.portal-dashboard-home .support-helper-copy h2 {
    max-width: 288px !important;
    font-size: 27px !important;
  }

  body.portal-dashboard-home .support-helper-copy .support-helper-lead {
    font-size: 12.8px !important;
  }

  body.portal-dashboard-home .support-helper-steps {
    gap: 8px !important;
  }

  body.portal-dashboard-home .support-helper-steps li {
    grid-template-columns: 46px minmax(0, 1fr) 20px !important;
    gap: 10px !important;
    min-height: 66px !important;
    padding: 9px 10px !important;
    border-radius: 15px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-action-icon {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    border-radius: 14px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-emblem {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
  }

  body.portal-dashboard-home .support-helper-steps li strong {
    font-size: 12.8px !important;
  }

  body.portal-dashboard-home .support-helper-steps li small {
    font-size: 10.4px !important;
  }

  body.portal-dashboard-home .support-helper-visual-wrap {
    min-height: 148px;
    margin-top: -2px;
  }

  body.portal-dashboard-home .support-helper-visual {
    right: 44px !important;
    bottom: -18px !important;
    width: 188px !important;
  }

  body.portal-dashboard-home .support-helper-file-chip {
    width: 42px;
    height: 42px;
    font-size: 10.8px;
    border-radius: 13px;
  }

  body.portal-dashboard-home .support-helper-file-pdf {
    top: 10px;
    left: 22px;
  }

  body.portal-dashboard-home .support-helper-file-doc {
    left: 0;
    bottom: 24px;
  }

  body.portal-dashboard-home .support-helper-file-jpg {
    right: 5px;
    top: 44px;
  }

  body.portal-dashboard-home .support-helper-checkmark {
    right: 108px;
    bottom: 16px;
    width: 48px;
    height: 48px;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open {
    grid-template-columns: 40px minmax(0, 1fr) 38px !important;
    gap: 10px !important;
    min-height: 68px !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open-mark,
  body.portal-dashboard-home .support-helper-card .support-helper-open-arrow {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open-copy strong {
    font-size: 13.6px;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open-copy small {
    font-size: 10.4px;
  }

  body.portal-dashboard-home .support-helper-trust {
    gap: 8px;
    padding: 10px;
  }

  body.portal-dashboard-home .support-helper-trust > span {
    grid-template-columns: 25px minmax(0, 1fr);
    gap: 7px;
  }

  body.portal-dashboard-home .support-helper-trust i {
    width: 25px;
    height: 25px;
  }

  body.portal-dashboard-home .support-helper-trust strong {
    font-size: 10.6px;
  }

  body.portal-dashboard-home .support-helper-trust small {
    font-size: 9px;
  }
}

@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) {
  body.portal-dashboard-home .support-helper-card {
    padding: 20px !important;
  }

  body.portal-dashboard-home .support-helper-copy h2 {
    max-width: 360px !important;
    font-size: 32px !important;
  }

  body.portal-dashboard-home .support-helper-copy .support-helper-lead {
    max-width: 420px !important;
    font-size: 14px !important;
  }

  body.portal-dashboard-home .support-helper-visual-wrap {
    min-height: 178px;
  }
}

@media (max-width: 520px) {
  body.portal-dashboard-home .support-helper-topline,
  body.portal-dashboard-home .support-helper-trust {
    grid-template-columns: 1fr;
  }

  body.portal-dashboard-home .support-helper-topline {
    display: grid;
  }

  body.portal-dashboard-home .support-helper-security {
    justify-self: start;
  }

  body.portal-dashboard-home .support-helper-steps li {
    grid-template-columns: 46px minmax(0, 1fr) 20px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open {
    grid-template-columns: 38px minmax(0, 1fr) 36px !important;
  }
}

/* v234: keep the assistant concept usable inside the homepage right rail. */
body.portal-dashboard-home .support-helper-card {
  gap: 10px !important;
  padding: 18px !important;
}

body.portal-dashboard-home .support-helper-topline {
  gap: 8px;
}

body.portal-dashboard-home .support-helper-badge,
body.portal-dashboard-home .support-helper-security {
  border-radius: 12px;
  font-size: 10.8px;
}

body.portal-dashboard-home .support-helper-badge {
  gap: 7px;
  padding: 8px 10px;
}

body.portal-dashboard-home .support-helper-security {
  gap: 7px;
  padding: 7px 9px;
}

body.portal-dashboard-home .support-helper-security svg {
  width: 17px;
  height: 17px;
}

body.portal-dashboard-home .support-helper-copy {
  gap: 9px !important;
}

body.portal-dashboard-home .support-helper-copy h2 {
  max-width: 282px !important;
  margin-top: 2px !important;
  font-size: 27px !important;
  line-height: 1 !important;
}

body.portal-dashboard-home .support-helper-copy .support-helper-lead {
  max-width: 306px !important;
  font-size: 12.6px !important;
  line-height: 1.34 !important;
}

body.portal-dashboard-home .support-helper-steps {
  position: relative;
  z-index: 3;
  gap: 7px !important;
  margin-top: 0 !important;
}

body.portal-dashboard-home .support-helper-steps li {
  grid-template-columns: 44px minmax(0, 1fr) 19px !important;
  gap: 10px !important;
  min-height: 58px !important;
  padding: 7px 10px !important;
  border-radius: 15px !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-action-icon {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  border-radius: 14px !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-emblem {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
}

body.portal-dashboard-home .support-helper-steps li strong {
  font-size: 12.6px !important;
}

body.portal-dashboard-home .support-helper-steps li small {
  font-size: 10.3px !important;
  line-height: 1.16 !important;
}

body.portal-dashboard-home .support-helper-row-arrow,
body.portal-dashboard-home .support-helper-row-arrow svg {
  width: 18px !important;
  height: 18px !important;
}

body.portal-dashboard-home .support-helper-visual-wrap {
  z-index: 1;
  min-height: 90px;
  margin: -2px -3px -1px;
  overflow: hidden;
}

body.portal-dashboard-home .support-helper-visual-wrap::before {
  inset: 0 54px 4px 54px;
}

body.portal-dashboard-home .support-helper-visual {
  right: 30px !important;
  bottom: -66px !important;
  width: 166px !important;
  max-width: 58% !important;
  opacity: 0.92 !important;
}

body.portal-dashboard-home .support-helper-file-chip {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  font-size: 9.8px;
}

body.portal-dashboard-home .support-helper-file-pdf {
  top: 8px;
  left: 64px;
}

body.portal-dashboard-home .support-helper-file-doc {
  left: 38px;
  bottom: 16px;
}

body.portal-dashboard-home .support-helper-file-jpg {
  right: 54px;
  top: 24px;
}

body.portal-dashboard-home .support-helper-checkmark {
  right: 120px;
  bottom: 12px;
  width: 42px;
  height: 42px;
}

body.portal-dashboard-home .support-helper-checkmark::before {
  width: 18px;
  height: 10px;
  border-bottom-width: 4px;
  border-left-width: 4px;
}

body.portal-dashboard-home .support-helper-card .support-helper-open {
  grid-template-columns: 39px minmax(0, 1fr) 38px !important;
  gap: 10px !important;
  min-height: 62px !important;
  padding: 10px 12px !important;
  border-radius: 16px !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-mark,
body.portal-dashboard-home .support-helper-card .support-helper-open-arrow {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-mark::before {
  width: 20px;
  height: 20px;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-copy strong {
  font-size: 13.8px;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-copy small {
  font-size: 10.6px;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-arrow svg {
  width: 19px !important;
  height: 19px !important;
}

body.portal-dashboard-home .support-helper-trust {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 9px 7px;
  border-radius: 16px;
}

body.portal-dashboard-home .support-helper-trust > span {
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 5px;
  text-align: center;
}

body.portal-dashboard-home .support-helper-trust i {
  width: 22px;
  height: 22px;
}

body.portal-dashboard-home .support-helper-trust i::before {
  width: 10px;
  height: 10px;
  border-width: 2px;
}

body.portal-dashboard-home .support-helper-trust strong {
  max-width: 74px;
  font-size: 9.6px;
}

body.portal-dashboard-home .support-helper-trust small {
  display: none;
}

@media (max-width: 1260px) {
  body.portal-dashboard-home .support-helper-card {
    padding: 16px !important;
  }

  body.portal-dashboard-home .support-helper-copy h2 {
    max-width: 260px !important;
    font-size: 24px !important;
  }

  body.portal-dashboard-home .support-helper-copy .support-helper-lead {
    font-size: 11.7px !important;
  }

  body.portal-dashboard-home .support-helper-steps li {
    min-height: 54px !important;
  }

  body.portal-dashboard-home .support-helper-visual-wrap {
    min-height: 78px;
  }

  body.portal-dashboard-home .support-helper-visual {
    right: 26px !important;
    bottom: -70px !important;
    width: 150px !important;
  }

  body.portal-dashboard-home .support-helper-file-pdf {
    left: 54px;
  }

  body.portal-dashboard-home .support-helper-file-doc {
    left: 28px;
  }

  body.portal-dashboard-home .support-helper-file-jpg {
    right: 44px;
  }

  body.portal-dashboard-home .support-helper-checkmark {
    right: 104px;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open {
    min-height: 58px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open-copy strong {
    font-size: 12.8px;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open-copy small {
    font-size: 9.9px;
  }
}

/* v232: match homepage sidebar text rendering with internal portal pages. */
body.portal-dashboard-home .support-sidebar,
body.portal-dashboard-home .support-brand,
body.portal-dashboard-home .support-brand strong,
body.portal-dashboard-home .support-brand small,
body.portal-dashboard-home .support-nav,
body.portal-dashboard-home .support-nav a {
  font-family: Arial, Helvetica, sans-serif !important;
}

body.portal-dashboard-home .support-brand strong {
  color: #13243d;
  font-weight: 900 !important;
}

body.portal-dashboard-home .support-brand small {
  color: #748196;
  font-weight: 850 !important;
}

/* v235: responsive repair for the homepage assistant concept and hero crop. */
body.portal-dashboard-home .support-hero > img {
  object-position: center 38% !important;
}

body.portal-dashboard-home .support-helper-card {
  align-content: start !important;
  gap: 12px !important;
}

body.portal-dashboard-home .support-helper-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-width: 0;
}

body.portal-dashboard-home .support-helper-body .support-helper-steps {
  min-width: 0;
}

body.portal-dashboard-home .support-helper-body .support-helper-visual-wrap {
  min-height: 206px;
  margin: 0;
  overflow: visible;
}

body.portal-dashboard-home .support-helper-body .support-helper-visual-wrap::before {
  inset: 8px 62px 10px 62px;
}

body.portal-dashboard-home .support-helper-body .support-helper-visual {
  right: calc(50% - 64px) !important;
  bottom: 8px !important;
  width: 128px !important;
  max-width: 128px !important;
  opacity: 1 !important;
  transform: rotate(-1deg) !important;
}

body.portal-dashboard-home .support-helper-body .support-helper-file-pdf {
  top: 18px;
  left: calc(50% - 112px);
}

body.portal-dashboard-home .support-helper-body .support-helper-file-doc {
  left: calc(50% - 132px);
  bottom: 52px;
}

body.portal-dashboard-home .support-helper-body .support-helper-file-jpg {
  right: calc(50% - 134px);
  top: 60px;
}

body.portal-dashboard-home .support-helper-body .support-helper-checkmark {
  right: calc(50% - 28px);
  bottom: 34px;
}

@media (min-width: 1600px) {
  body.portal-dashboard-home .support-home-grid {
    grid-template-columns: minmax(0, 1fr) clamp(500px, 27vw, 560px) !important;
    gap: 24px !important;
  }

  body.portal-dashboard-home .support-home-right {
    gap: 22px !important;
  }

  body.portal-dashboard-home .support-helper-card {
    gap: 16px !important;
    padding: 22px !important;
    border-radius: 25px !important;
  }

  body.portal-dashboard-home .support-helper-copy {
    gap: 12px !important;
  }

  body.portal-dashboard-home .support-helper-copy h2 {
    max-width: 430px !important;
    font-size: 34px !important;
    line-height: 0.98 !important;
  }

  body.portal-dashboard-home .support-helper-copy .support-helper-lead {
    max-width: 440px !important;
    font-size: 14px !important;
    line-height: 1.38 !important;
  }

  body.portal-dashboard-home .support-helper-body {
    grid-template-columns: minmax(0, 1fr) 166px;
    gap: 16px;
    align-items: stretch;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-steps {
    align-content: start;
  }

  body.portal-dashboard-home .support-helper-steps li {
    grid-template-columns: 50px minmax(0, 1fr) 20px !important;
    min-height: 64px !important;
    padding: 9px 11px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-action-icon {
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-emblem {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }

  body.portal-dashboard-home .support-helper-steps li strong {
    font-size: 13.6px !important;
  }

  body.portal-dashboard-home .support-helper-steps li small {
    font-size: 11px !important;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-visual-wrap {
    align-self: stretch;
    min-height: 100%;
    height: auto;
    margin: 0;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-visual-wrap::before {
    inset: 14px 4px 16px 4px;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-visual {
    right: 12px !important;
    bottom: 12px !important;
    width: 144px !important;
    max-width: 144px !important;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-file-chip {
    width: 40px;
    height: 40px;
    font-size: 10px;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-file-pdf {
    top: 22px;
    left: 18px;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-file-doc {
    left: 2px;
    bottom: 78px;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-file-jpg {
    top: 64px;
    right: 0;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-checkmark {
    right: 56px;
    bottom: 42px;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open {
    min-height: 72px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open-copy strong {
    font-size: 15.2px;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open-copy small {
    font-size: 11px;
  }

  body.portal-dashboard-home .support-helper-trust small {
    display: block;
    max-width: 104px;
    margin-right: auto;
    margin-left: auto;
    font-size: 9px;
    white-space: normal;
  }
}

@media (min-width: 1261px) and (max-width: 1599px) {
  body.portal-dashboard-home .support-helper-card {
    min-height: 0 !important;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-visual-wrap {
    min-height: 198px;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-visual {
    right: calc(50% - 60px) !important;
    width: 120px !important;
    max-width: 120px !important;
  }
}

@media (max-width: 1260px) {
  body.portal-dashboard-home .support-hero > img {
    object-position: center 34% !important;
  }

  body.portal-dashboard-home .support-helper-body {
    gap: 10px;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-visual-wrap {
    min-height: 174px;
    overflow: visible;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-visual-wrap::before {
    inset: 6px 54px 8px 54px;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-visual {
    right: calc(50% - 55px) !important;
    bottom: 7px !important;
    width: 110px !important;
    max-width: 110px !important;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-file-chip {
    width: 32px;
    height: 32px;
    font-size: 8.8px;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-file-pdf {
    top: 14px;
    left: calc(50% - 100px);
  }

  body.portal-dashboard-home .support-helper-body .support-helper-file-doc {
    left: calc(50% - 114px);
    bottom: 44px;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-file-jpg {
    right: calc(50% - 116px);
    top: 52px;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-checkmark {
    right: calc(50% - 24px);
    bottom: 30px;
    width: 38px;
    height: 38px;
  }
}

@media (max-height: 850px) and (min-width: 1100px) {
  body.portal-dashboard-home .support-helper-card {
    gap: 10px !important;
    padding: 16px !important;
  }

  body.portal-dashboard-home .support-helper-copy {
    gap: 8px !important;
  }

  body.portal-dashboard-home .support-helper-topline {
    gap: 7px;
  }

  body.portal-dashboard-home .support-helper-badge,
  body.portal-dashboard-home .support-helper-security {
    padding-top: 7px;
    padding-bottom: 7px;
    font-size: 10px;
  }

  body.portal-dashboard-home .support-helper-copy h2 {
    max-width: 300px !important;
    font-size: 24px !important;
    line-height: 1 !important;
  }

  body.portal-dashboard-home .support-helper-copy .support-helper-lead {
    max-width: 312px !important;
    font-size: 11.4px !important;
    line-height: 1.28 !important;
  }

  body.portal-dashboard-home .support-helper-body {
    grid-template-columns: minmax(0, 1fr) 92px;
    gap: 9px;
    align-items: stretch;
  }

  body.portal-dashboard-home .support-helper-steps {
    gap: 6px !important;
  }

  body.portal-dashboard-home .support-helper-steps li {
    grid-template-columns: 40px minmax(0, 1fr) 16px !important;
    gap: 8px !important;
    min-height: 54px !important;
    padding: 7px 8px !important;
    border-radius: 14px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-action-icon {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-emblem {
    width: 33px !important;
    min-width: 33px !important;
    max-width: 33px !important;
    height: 33px !important;
    min-height: 33px !important;
    max-height: 33px !important;
  }

  body.portal-dashboard-home .support-helper-steps li strong {
    font-size: 11.6px !important;
  }

  body.portal-dashboard-home .support-helper-steps li small {
    font-size: 9.2px !important;
    line-height: 1.12 !important;
  }

  body.portal-dashboard-home .support-helper-row-arrow,
  body.portal-dashboard-home .support-helper-row-arrow svg {
    width: 16px !important;
    height: 16px !important;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-visual-wrap {
    align-self: stretch;
    min-height: 100%;
    height: auto;
    margin: 0;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-visual-wrap::before {
    inset: 12px 0 12px 0;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-visual {
    right: 6px !important;
    bottom: 20px !important;
    width: 80px !important;
    max-width: 80px !important;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-file-chip {
    width: 28px;
    height: 28px;
    border-radius: 9px;
    font-size: 7.8px;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-file-pdf {
    top: 22px;
    left: 4px;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-file-doc {
    left: -2px;
    bottom: 64px;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-file-jpg {
    top: 56px;
    right: 0;
  }

  body.portal-dashboard-home .support-helper-body .support-helper-checkmark {
    right: 28px;
    bottom: 40px;
    width: 32px;
    height: 32px;
  }

  body.portal-dashboard-home .support-helper-checkmark::before {
    width: 15px;
    height: 8px;
    border-bottom-width: 3px;
    border-left-width: 3px;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open {
    grid-template-columns: 36px minmax(0, 1fr) 36px !important;
    min-height: 58px !important;
    padding: 9px 10px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open-mark,
  body.portal-dashboard-home .support-helper-card .support-helper-open-arrow {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open-copy strong {
    font-size: 12.4px;
  }

  body.portal-dashboard-home .support-helper-card .support-helper-open-copy small {
    font-size: 9.4px;
  }

  body.portal-dashboard-home .support-helper-trust {
    padding: 8px 6px;
    border-radius: 14px;
  }

  body.portal-dashboard-home .support-helper-trust i {
    width: 20px;
    height: 20px;
  }

  body.portal-dashboard-home .support-helper-trust strong {
    font-size: 8.8px;
  }
}

/* v236: align assistant card with portal palette and remove clipped helper text. */
body.portal-dashboard-home .support-helper-card {
  border-color: rgba(195, 222, 211, 0.96) !important;
  background:
    radial-gradient(circle at 80% 34%, rgba(222, 244, 237, 0.9), rgba(255, 255, 255, 0) 40%),
    radial-gradient(circle at 88% 75%, rgba(218, 239, 250, 0.72), rgba(255, 255, 255, 0) 34%),
    linear-gradient(145deg, #ffffff 0%, #fbfffd 58%, #f4fbf8 100%) !important;
  box-shadow:
    0 22px 48px rgba(45, 83, 72, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.98) !important;
}

body.portal-dashboard-home .support-helper-card::before {
  border-color: rgba(45, 145, 94, 0.08);
  background: rgba(245, 253, 250, 0.72);
}

body.portal-dashboard-home .support-helper-badge,
body.portal-dashboard-home .support-helper-security {
  border-color: rgba(34, 143, 88, 0.16);
  color: #1a8a58;
  background: rgba(235, 249, 242, 0.94);
}

body.portal-dashboard-home .support-helper-security {
  color: #52637e;
  background: rgba(255, 255, 255, 0.9);
}

body.portal-dashboard-home .support-helper-badge > span::before {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: linear-gradient(145deg, #2fa66a, #168753);
  clip-path: none;
}

body.portal-dashboard-home .support-helper-badge > span::after {
  content: "";
  position: absolute;
  width: 7px;
  height: 4px;
  border-bottom: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-radius: 1px;
  transform: translateY(-1px) rotate(-45deg);
}

body.portal-dashboard-home .support-helper-security svg {
  color: #1b8a58;
}

body.portal-dashboard-home .support-helper-steps li {
  border-color: rgba(218, 232, 226, 0.96) !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 12px 24px rgba(53, 88, 75, 0.055) !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-action-icon,
body.portal-dashboard-home .support-helper-steps li:nth-child(2) .support-helper-action-icon,
body.portal-dashboard-home .support-helper-steps li:nth-child(3) .support-helper-action-icon,
body.portal-dashboard-home .support-helper-steps li:nth-child(4) .support-helper-action-icon {
  border: 1px solid rgba(205, 227, 218, 0.9) !important;
  background: linear-gradient(145deg, rgba(239, 250, 245, 0.98), rgba(247, 252, 250, 0.86)) !important;
  box-shadow: none !important;
}

body.portal-dashboard-home .support-helper-steps li strong {
  overflow: visible !important;
  color: #11243f !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

body.portal-dashboard-home .support-helper-steps li small {
  display: block !important;
  overflow: visible !important;
  color: #657289 !important;
  text-overflow: clip !important;
  white-space: normal !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
}

body.portal-dashboard-home .support-helper-row-arrow {
  color: #1d8c59 !important;
}

body.portal-dashboard-home .support-helper-file-pdf {
  background: linear-gradient(145deg, #54b987, #258e5d);
}

body.portal-dashboard-home .support-helper-file-doc {
  background: linear-gradient(145deg, #69aee8, #357eb9);
}

body.portal-dashboard-home .support-helper-file-jpg {
  background: linear-gradient(145deg, #8bd6b2, #3cab74);
}

body.portal-dashboard-home .support-helper-checkmark {
  background:
    radial-gradient(circle at 36% 28%, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.62) 46%, rgba(40, 157, 97, 0.18) 100%);
  box-shadow: 0 15px 28px rgba(34, 135, 84, 0.16);
}

body.portal-dashboard-home .support-helper-checkmark::before {
  border-color: #1d9660;
}

body.portal-dashboard-home .support-helper-card .support-helper-open {
  color: #ffffff !important;
  background:
    radial-gradient(circle at 88% 18%, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 26%),
    linear-gradient(135deg, #2faa6a, #168451) !important;
  box-shadow: 0 18px 32px rgba(24, 129, 78, 0.24) !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-mark {
  background: rgba(255, 255, 255, 0.18) !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-mark::before {
  width: 18px;
  height: 11px;
  border-bottom: 4px solid #ffffff;
  border-left: 4px solid #ffffff;
  border-radius: 3px;
  background: transparent;
  clip-path: none;
  transform: translateY(-2px) rotate(-45deg);
}

body.portal-dashboard-home .support-helper-card .support-helper-open-copy strong {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-arrow {
  color: #168451 !important;
}

body.portal-dashboard-home .support-helper-trust {
  border-color: rgba(216, 231, 225, 0.96);
  background: rgba(255, 255, 255, 0.82);
}

body.portal-dashboard-home .support-helper-trust i {
  border: 1px solid rgba(204, 226, 218, 0.95);
  background: #f1faf6;
}

body.portal-dashboard-home .support-helper-trust i::before {
  width: 10px;
  height: 6px;
  border: 0;
  border-bottom: 2px solid #1d9660;
  border-left: 2px solid #1d9660;
  border-radius: 1px;
  transform: translateY(-1px) rotate(-45deg);
}

body.portal-dashboard-home .support-helper-trust > span:nth-child(2) i,
body.portal-dashboard-home .support-helper-trust > span:nth-child(3) i,
body.portal-dashboard-home .support-helper-trust > span:nth-child(4) i {
  background: #f1faf6;
}

body.portal-dashboard-home .support-helper-trust > span:nth-child(2) i::before,
body.portal-dashboard-home .support-helper-trust > span:nth-child(3) i::before,
body.portal-dashboard-home .support-helper-trust > span:nth-child(4) i::before {
  border-color: #1d9660;
  border-radius: 1px;
}

body.portal-dashboard-home .support-helper-trust strong,
body.portal-dashboard-home .support-helper-trust small {
  overflow: visible;
  color: #13243d;
  text-overflow: clip;
  white-space: normal;
}

body.portal-dashboard-home .support-helper-trust strong {
  max-width: none;
  line-height: 1.1;
}

body.portal-dashboard-home .support-helper-trust small {
  color: #68778e;
  line-height: 1.12;
}

@media (max-height: 850px) and (min-width: 1100px) {
  body.portal-dashboard-home .support-helper-steps li small {
    font-size: 9.4px !important;
    line-height: 1.16 !important;
  }

  body.portal-dashboard-home .support-helper-trust strong {
    font-size: 9.1px;
  }
}

body.portal-dashboard-home .support-nav a.is-active {
  color: #12804f;
}

/* v231: lift the main list blocks closer to the top on catalog pages. */
body.portal-with-sidebar.specialists-list-page .page-shell,
body.portal-with-sidebar.rehabilitation-list-page .page-shell,
body.portal-with-sidebar.methods-list-page .page-shell {
  padding-top: clamp(10px, 1vw, 16px) !important;
}

@media (min-width: 1200px) {
  body.portal-with-sidebar.specialists-list-page .page-shell,
  body.portal-with-sidebar.rehabilitation-list-page .page-shell,
  body.portal-with-sidebar.methods-list-page .page-shell {
    width: calc(100vw - var(--portal-sidebar-width) - 32px) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: 0 !important;
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  body.portal-with-sidebar.specialists-list-page .page-shell,
  body.portal-with-sidebar.rehabilitation-list-page .page-shell,
  body.portal-with-sidebar.methods-list-page .page-shell {
    width: calc(100vw - var(--portal-sidebar-width) - 28px) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: 0 !important;
    padding-top: 8px !important;
  }
}

@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) {
  body.portal-with-sidebar.specialists-list-page .page-shell,
  body.portal-with-sidebar.rehabilitation-list-page .page-shell,
  body.portal-with-sidebar.methods-list-page .page-shell {
    padding-top: 10px !important;
  }
}

@media (max-width: 1180px) {
  body.portal-with-sidebar .imported-content-methods .methods-material-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 2800px) {
  body.portal-with-sidebar .imported-content-methods .methods-material-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* v232: medical institutions catalog follows the approved portal catalog style. */
body.institutions-list-page {
  color: #12213c;
  background:
    radial-gradient(circle at 12% 18%, rgba(36, 160, 103, 0.13), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(207, 231, 255, 0.5), transparent 34%),
    linear-gradient(135deg, #f5fbf7 0%, #f4f7ff 100%);
}

body.portal-with-sidebar.institutions-list-page .page-shell {
  width: min(100% - 48px, 1760px) !important;
  padding-top: clamp(10px, 1vw, 16px) !important;
}

.institutions-catalog {
  display: grid;
  gap: 22px;
}

.institutions-catalog-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  min-height: 206px;
  padding: clamp(26px, 2.8vw, 46px);
  overflow: hidden;
  border: 1px solid rgba(205, 223, 229, 0.86);
  border-radius: 28px;
  background:
    radial-gradient(circle at 86% 16%, rgba(205, 231, 255, 0.72), transparent 34%),
    radial-gradient(circle at 12% 8%, rgba(210, 248, 231, 0.84), transparent 35%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 253, 255, 0.92));
  box-shadow:
    0 24px 70px rgba(43, 76, 100, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.institutions-catalog-head .eyebrow {
  margin: 0 0 12px;
  color: #168653;
  font-size: 15px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.institutions-catalog-head h1 {
  max-width: 860px;
  margin: 0;
  color: #101a33;
  font-size: clamp(50px, 4.6vw, 82px);
  line-height: 0.95;
  font-weight: 950;
  letter-spacing: 0;
}

.institutions-catalog-head p:not(.eyebrow) {
  max-width: 1180px;
  margin: 18px 0 0;
  color: #4f607a;
  font-size: clamp(18px, 1.35vw, 25px);
  line-height: 1.35;
  font-weight: 820;
}

.institutions-catalog-count {
  display: grid;
  place-items: center;
  width: clamp(130px, 11vw, 184px);
  aspect-ratio: 1;
  border: 1px solid rgba(191, 223, 213, 0.9);
  border-radius: 999px;
  color: #156f4c;
  background:
    radial-gradient(circle at 32% 20%, rgba(255, 255, 255, 0.96), transparent 42%),
    linear-gradient(135deg, #e9fbf2, #f5fbff);
  box-shadow: 0 22px 52px rgba(38, 129, 96, 0.14);
}

.institutions-catalog-count strong {
  font-size: clamp(42px, 4vw, 70px);
  line-height: 0.9;
  font-weight: 950;
}

.institutions-catalog-count span {
  margin-top: -20px;
  color: #5a6b7f;
  font-size: 13px;
  font-weight: 900;
}

.institutions-catalog-panel {
  display: grid;
  gap: 18px;
  padding: clamp(20px, 2vw, 30px);
  border: 1px solid rgba(205, 223, 229, 0.86);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 22px 60px rgba(43, 76, 100, 0.1);
}

.institutions-title-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.institutions-catalog-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.institutions-catalog-tools.is-search-only {
  justify-content: flex-start;
}

.institutions-catalog-tools h1,
.institutions-catalog-tools h2 {
  margin: 0;
  color: #101a33;
  font-size: clamp(32px, 3.2vw, 54px);
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0;
}

.institutions-catalog-tools p {
  margin: 8px 0 0;
  color: #6a778c;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 850;
}

.institutions-search {
  display: grid;
  grid-template-columns: 22px minmax(220px, 560px);
  gap: 10px;
  align-items: center;
  width: min(100%, 640px);
  min-height: 52px;
  padding: 0 18px;
  border: 1px solid rgba(207, 224, 229, 0.9);
  border-radius: 16px;
  background: #f4faf7;
}

.institutions-search svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #748196;
  stroke-width: 2;
}

.institutions-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: #12213c;
  background: transparent;
  font: inherit;
  font-size: 15px;
  font-weight: 750;
}

.institutions-search input::placeholder {
  color: #8190a4;
}

.institutions-summary,
.institutions-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.institutions-summary span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid rgba(194, 225, 211, 0.9);
  border-radius: 999px;
  color: #536174;
  background: #f7fbf9;
  font-size: 13px;
  font-weight: 850;
}

.institutions-summary b {
  color: #168653;
  font-size: 16px;
  font-weight: 950;
}

.institutions-filter-row button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 14px 0 16px;
  border: 1px solid rgba(207, 224, 229, 0.9);
  border-radius: 999px;
  color: #536174;
  background: #ffffff;
  font: inherit;
  font-size: 14px;
  line-height: 1;
  font-weight: 900;
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.institutions-filter-row button:hover,
.institutions-filter-row button:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(24, 145, 92, 0.32);
  color: #126f4d;
  background: #effbf5;
}

.institutions-filter-row button.is-active {
  color: #ffffff;
  border-color: #168653;
  background: linear-gradient(135deg, #18a66a, #167f72);
  box-shadow: 0 14px 28px rgba(23, 134, 83, 0.18);
}

.institutions-filter-row b {
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  color: currentColor;
  background: rgba(255, 255, 255, 0.2);
  font-size: 12px;
  font-weight: 950;
}

.institution-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.institution-card[hidden] {
  display: none !important;
}

.institution-card {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(42px, auto) minmax(34px, auto);
  align-content: start;
  gap: 14px;
  min-width: 0;
  min-height: 270px;
  padding: 18px;
  border: 1px solid rgba(205, 223, 229, 0.86);
  border-radius: 24px;
  background:
    radial-gradient(circle at 16% 0%, rgba(223, 249, 239, 0.92), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 253, 255, 0.95));
  box-shadow: 0 18px 44px rgba(43, 76, 100, 0.08);
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.institution-card:hover,
.institution-card:focus-within {
  transform: translateY(-4px);
  border-color: rgba(24, 145, 92, 0.35);
  box-shadow: 0 28px 68px rgba(43, 76, 100, 0.14);
}

.institution-card-hit {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
}

.institution-card-hit:focus-visible {
  outline: 3px solid rgba(24, 145, 92, 0.5);
  outline-offset: 4px;
}

.institution-card-top {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  min-width: 0;
}

.institution-card-logo {
  display: grid;
  place-items: center;
  width: 84px;
  height: 84px;
  overflow: hidden;
  border: 1px solid rgba(205, 223, 229, 0.74);
  border-radius: 22px;
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.96), transparent 36%),
    linear-gradient(135deg, #e7f8ee, #eef7ff);
}

.institution-card-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 9px;
}

.institution-card-logo.imported-card-fallback {
  color: #168653;
  font-size: 34px;
  font-weight: 950;
}

.institution-card-heading {
  min-width: 0;
}

.institution-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
  min-height: 25px;
}

.institution-card-tags span {
  width: fit-content;
  max-width: 100%;
  padding: 5px 8px;
  border-radius: 9px;
  color: #168653;
  background: #e9f9f1;
  font-size: 10.5px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.institution-card h3 {
  display: -webkit-box;
  min-height: 3.24em;
  margin: 0;
  overflow: hidden;
  color: #111b35;
  font-size: clamp(17px, 1vw, 20px);
  line-height: 1.08;
  font-weight: 950;
  letter-spacing: 0;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.institution-card h3 a {
  color: inherit;
}

.institution-card .institution-address {
  display: -webkit-box;
  min-height: 2.84em;
  margin: 0;
  overflow: hidden;
  color: #59677d;
  font-size: 15px;
  line-height: 1.42;
  font-weight: 780;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.institution-card .institution-meta {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-items: start;
  min-height: 34px;
  margin: 0;
}

.institution-card .institution-meta a {
  min-width: 0;
  max-width: 100%;
  padding: 8px 10px;
  overflow: hidden;
  border-radius: 999px;
  color: #173761;
  background: rgba(34, 118, 210, 0.08);
  font-size: 13px;
  line-height: 1;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* v233: local medical institution detail pages. */
body.institution-profile-page {
  color: #12213c;
}

.institution-profile,
.institution-profile-layout {
  min-width: 0;
}

.institution-profile-layout {
  display: grid;
  gap: 22px;
}

.institution-profile-toolbar {
  display: flex;
  justify-content: flex-start;
}

.institution-back-link {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(193, 224, 212, 0.9);
  border-radius: 999px;
  color: #16774f;
  background: rgba(255, 255, 255, 0.86);
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(43, 76, 100, 0.08);
}

.institution-back-link::before {
  content: "←";
  margin-right: 8px;
}

.institution-profile-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
  gap: clamp(18px, 2vw, 32px);
  align-items: stretch;
  padding: clamp(20px, 2vw, 30px);
  border: 1px solid rgba(205, 223, 229, 0.86);
  border-radius: 30px;
  background:
    radial-gradient(circle at 14% 8%, rgba(217, 249, 235, 0.88), transparent 34%),
    radial-gradient(circle at 90% 14%, rgba(207, 231, 255, 0.64), transparent 36%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 253, 255, 0.94));
  box-shadow: 0 24px 70px rgba(43, 76, 100, 0.12);
}

.institution-profile-visual {
  position: relative;
  min-height: clamp(320px, 28vw, 500px);
}

.institution-profile-photo {
  width: 100%;
  height: 100%;
  min-height: clamp(320px, 28vw, 500px);
  overflow: hidden;
  border: 1px solid rgba(205, 223, 229, 0.82);
  border-radius: 24px;
  background: #edf8f5;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.institution-profile-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.institution-profile-logo {
  position: absolute;
  left: clamp(16px, 1.8vw, 28px);
  bottom: clamp(16px, 1.8vw, 28px);
  width: clamp(96px, 8vw, 134px);
  height: clamp(96px, 8vw, 134px);
  padding: 12px;
  border: 1px solid rgba(202, 224, 230, 0.88);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 46px rgba(43, 76, 100, 0.18);
}

.institution-profile-logo-media {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 18px;
  background: #f5fbff;
}

.institution-profile-logo-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.institution-profile-intro {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(10px, 1.3vw, 18px);
}

.institution-profile-label {
  width: fit-content;
  max-width: 100%;
  margin-bottom: 14px;
  padding: 8px 12px;
  border-radius: 999px;
  color: #168653;
  background: #e7f9f0;
  font-size: 13px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.institution-profile-intro h1 {
  margin: 0;
  color: #101a33;
  font-size: clamp(34px, 3.2vw, 64px);
  line-height: 0.98;
  font-weight: 950;
  letter-spacing: 0;
}

.institution-profile-intro > p {
  max-width: 780px;
  margin: 18px 0 0;
  color: #58677e;
  font-size: clamp(17px, 1.15vw, 22px);
  line-height: 1.36;
  font-weight: 820;
}

.institution-profile-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 22px;
}

.institution-profile-fact {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(203, 225, 230, 0.86);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.74);
}

.institution-profile-fact span {
  display: block;
  color: #738198;
  font-size: 12px;
  font-weight: 850;
}

.institution-profile-fact b {
  display: block;
  margin-top: 5px;
  overflow: hidden;
  color: #11213c;
  font-size: 18px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.institution-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.institution-profile-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid rgba(185, 220, 207, 0.96);
  border-radius: 999px;
  color: #16774f;
  background: rgba(255, 255, 255, 0.9);
  font-size: 15px;
  font-weight: 950;
}

.institution-profile-button.is-primary {
  color: #ffffff;
  border-color: #168653;
  background: linear-gradient(135deg, #18a66a, #167f72);
  box-shadow: 0 16px 32px rgba(23, 134, 83, 0.18);
}

.institution-profile-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
  gap: 22px;
  align-items: start;
}

.institution-profile-main,
.institution-profile-aside {
  display: grid;
  min-width: 0;
  gap: 18px;
}

.institution-profile-panel,
.institution-profile-help {
  min-width: 0;
  padding: clamp(20px, 2vw, 30px);
  border: 1px solid rgba(205, 223, 229, 0.86);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 44px rgba(43, 76, 100, 0.08);
}

.institution-profile-panel h1,
.institution-profile-panel h2 {
  margin: 0 0 16px;
  color: #101a33;
  font-size: clamp(24px, 1.6vw, 34px);
  line-height: 1.05;
  font-weight: 950;
  letter-spacing: 0;
}

.institution-profile-text p,
.institution-profile-help p,
.institution-profile-address {
  margin: 0;
  color: #59677d;
  font-size: clamp(16px, 1vw, 19px);
  line-height: 1.55;
  font-weight: 760;
}

.institution-profile-text p + p {
  margin-top: 14px;
}

.institution-profile-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.institution-profile-chip-grid span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  color: #16774f;
  background: #e9f9f1;
  font-size: 13px;
  font-weight: 900;
}

.institution-profile-contact-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.institution-profile-contact-list a {
  min-width: 0;
  padding: 11px 13px;
  overflow: hidden;
  border-radius: 14px;
  color: #173761;
  background: rgba(34, 118, 210, 0.08);
  font-size: 14px;
  line-height: 1.1;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.institution-profile-help {
  background:
    radial-gradient(circle at 20% 10%, rgba(219, 249, 235, 0.88), transparent 42%),
    linear-gradient(135deg, #ffffff, #f4fbff);
}

.institution-profile-help .institution-profile-button {
  width: 100%;
  margin-top: 16px;
}

.institution-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.institution-gallery-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid rgba(205, 223, 229, 0.82);
  border-radius: 18px;
  background: #edf8f5;
}

@media (max-width: 1180px) {
  .institution-profile-hero,
  .institution-profile-columns {
    grid-template-columns: 1fr;
  }

  .institution-profile-aside {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@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) {
  .institution-profile-layout {
    gap: 16px;
  }

  .institution-profile-hero {
    padding: 20px;
    border-radius: 24px;
  }

  .institution-profile-visual,
  .institution-profile-photo {
    min-height: 280px;
  }

  .institution-profile-facts,
  .institution-gallery-grid,
  .institution-profile-aside {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .institution-profile-hero,
  .institution-profile-panel,
  .institution-profile-help {
    padding: 18px;
    border-radius: 20px;
  }

  .institution-profile-visual,
  .institution-profile-photo {
    min-height: 230px;
  }

  .institution-profile-logo {
    width: 82px;
    height: 82px;
    padding: 9px;
    border-radius: 20px;
  }

  .institution-profile-intro {
    padding: 0;
  }

  .institution-profile-intro h1 {
    font-size: clamp(30px, 9vw, 42px);
    line-height: 1.02;
  }

  .institution-profile-facts,
  .institution-gallery-grid,
  .institution-profile-aside {
    grid-template-columns: 1fr;
  }

  .institution-profile-actions,
  .institution-profile-button {
    width: 100%;
  }

  .institution-profile-contact-list a {
    white-space: normal;
  }
}

.institutions-empty {
  margin: 8px 0 0;
  padding: 26px;
  border: 1px dashed rgba(24, 145, 92, 0.3);
  border-radius: 18px;
  color: #59677d;
  background: #f4faf7;
  text-align: center;
  font-size: 16px;
  font-weight: 800;
}

@media (min-width: 1200px) {
  body.portal-with-sidebar.institutions-list-page {
    --portal-sidebar-width: 238px !important;
    padding-left: 238px !important;
  }

  body.portal-with-sidebar.institutions-list-page .portal-shared-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 70 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    width: 238px !important;
    height: 100vh !important;
    gap: 22px !important;
    padding: 28px 18px 20px !important;
    overflow-y: auto !important;
    border-width: 0 1px 0 0 !important;
    border-style: solid !important;
    border-color: rgba(197, 222, 214, 0.9) !important;
    border-radius: 0 !important;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 255, 252, 0.97)),
      radial-gradient(circle at 14% 11%, rgba(38, 154, 96, 0.08), transparent 36%) !important;
    box-shadow: 14px 0 36px rgba(43, 84, 77, 0.07) !important;
    backdrop-filter: none !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-brand {
    display: grid !important;
    grid-template-columns: 84px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-items: start !important;
    gap: 12px !important;
    padding: 2px 4px 10px !important;
    text-align: left !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-brand img {
    width: 84px !important;
    height: 84px !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-brand span,
  body.portal-with-sidebar.institutions-list-page .support-brand strong,
  body.portal-with-sidebar.institutions-list-page .support-brand small {
    display: block !important;
    letter-spacing: 0 !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-brand strong {
    color: #13243d !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.04 !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-brand small {
    margin-top: 6px !important;
    color: #748196 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-nav {
    display: grid !important;
    gap: 8px !important;
    width: 100% !important;
    padding-top: 4px !important;
    overflow: visible !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-nav a {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-items: stretch !important;
    gap: 14px !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 50px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    font-size: 14.2px !important;
    line-height: 1.12 !important;
    white-space: normal !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-nav span {
    width: 38px !important;
    height: 38px !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-nav-icon {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
  }

  body.portal-with-sidebar.institutions-list-page .page-shell {
    width: calc(100vw - 238px - 32px) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: 0 !important;
  }
}

@media (min-width: 1200px) and (max-width: 1500px) {
  body.portal-with-sidebar.institutions-list-page {
    --portal-sidebar-width: clamp(214px, 17vw, 230px) !important;
    padding-left: calc(var(--portal-sidebar-width) + clamp(20px, 2.2vw, 32px)) !important;
  }

  body.portal-with-sidebar.institutions-list-page .portal-shared-sidebar {
    width: var(--portal-sidebar-width) !important;
    padding: clamp(14px, 1.7vh, 20px) clamp(12px, 1.1vw, 18px) !important;
    gap: clamp(8px, 1vh, 12px) !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-brand {
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 0 2px 4px !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-brand img {
    width: 54px !important;
    height: 54px !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-brand strong {
    font-size: clamp(13px, 0.92vw, 14.5px) !important;
    line-height: 1.04 !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-brand small {
    margin-top: 4px !important;
    font-size: clamp(10.5px, 0.75vw, 11.5px) !important;
    line-height: 1.15 !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-nav {
    gap: clamp(4px, 0.55vh, 7px) !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-nav a {
    grid-template-columns: 30px minmax(0, 1fr) !important;
    min-height: clamp(32px, 3.6vh, 42px) !important;
    gap: clamp(8px, 0.8vw, 12px) !important;
    padding: 0 clamp(9px, 0.8vw, 13px) !important;
    font-size: clamp(10.5px, 0.74vw, 12px) !important;
    line-height: 1.08 !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-nav span {
    width: clamp(20px, 1.35vw, 24px) !important;
    height: clamp(20px, 1.35vw, 24px) !important;
  }

  body.portal-with-sidebar.institutions-list-page .support-nav-icon {
    width: clamp(24px, 1.5vw, 28px) !important;
    height: clamp(24px, 1.5vw, 28px) !important;
  }

  body.portal-with-sidebar.institutions-list-page .page-shell {
    width: calc(100vw - var(--portal-sidebar-width) - clamp(50px, 4.5vw, 66px)) !important;
  }

  .institution-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  body.portal-with-sidebar.institutions-list-page .page-shell {
    width: calc(100vw - var(--portal-sidebar-width) - 28px) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: 0 !important;
    padding-top: 8px !important;
  }

  .institution-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1180px) {
  .institutions-catalog-head,
  .institutions-catalog-tools {
    grid-template-columns: 1fr;
  }

  .institutions-catalog-head {
    min-height: 0;
  }

  .institutions-catalog-count {
    justify-self: start;
    width: 124px;
  }

  .institutions-catalog-count span {
    margin-top: -17px;
  }

  .institutions-search {
    grid-template-columns: 22px minmax(0, 1fr);
    width: 100%;
  }
}

@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) {
  body.portal-with-sidebar.institutions-list-page .page-shell {
    width: min(100% - 24px, 900px) !important;
    padding-top: 10px !important;
  }

  .institutions-catalog {
    gap: 16px;
  }

  .institutions-catalog-panel {
    padding: 24px;
    border-radius: 20px;
  }

  .institutions-catalog-tools h1 {
    font-size: clamp(40px, 10vw, 66px);
  }

  .institutions-catalog-tools {
    align-items: stretch;
    flex-direction: column;
  }

  .institution-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  body.portal-with-sidebar.institutions-list-page .page-shell {
    width: min(100% - 20px, 440px) !important;
  }

  .institutions-catalog-panel {
    padding: 19px;
    border-radius: 18px;
  }

  .institutions-catalog-count {
    width: 108px;
  }

  .institutions-summary,
  .institutions-filter-row {
    display: flex;
    flex-wrap: nowrap;
    margin-right: -19px;
    padding-right: 19px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }

  .institutions-summary::-webkit-scrollbar,
  .institutions-filter-row::-webkit-scrollbar {
    display: none;
  }

  .institutions-summary span,
  .institutions-filter-row button {
    flex: 0 0 auto;
    justify-content: center;
    width: auto;
  }

  .institution-grid {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 3800px) {
  body.portal-with-sidebar .imported-content-methods .methods-material-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@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) {
  .methods-materials-block {
    border-radius: 22px;
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  body.portal-with-sidebar .imported-content-methods .methods-material-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* v237 EOF guard: this final layer owns the Next homepage assistant block. */
body.portal-dashboard-home .support-helper-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  align-content: start !important;
  gap: 12px !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 20px !important;
  overflow: hidden !important;
}

body.portal-dashboard-home .support-helper-copy {
  display: grid !important;
  min-height: 0 !important;
  gap: 12px !important;
  padding: 0 !important;
}

body.portal-dashboard-home .support-helper-security svg,
body.portal-dashboard-home .support-helper-security svg *,
body.portal-dashboard-home .support-helper-security path {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  fill: none !important;
  stroke: none !important;
}

body.portal-dashboard-home .support-helper-security-mark {
  position: relative !important;
  display: grid !important;
  flex: 0 0 17px !important;
  place-items: center !important;
  width: 17px !important;
  height: 17px !important;
  border-radius: 999px !important;
  background: linear-gradient(145deg, #31a86d, #178551) !important;
}

body.portal-dashboard-home .support-helper-security-mark::before {
  content: "" !important;
  width: 7px !important;
  height: 4px !important;
  border-bottom: 2px solid #ffffff !important;
  border-left: 2px solid #ffffff !important;
  border-radius: 1px !important;
  transform: translateY(-1px) rotate(-45deg) !important;
}

body.portal-dashboard-home .support-helper-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
}

body.portal-dashboard-home .support-helper-steps,
body.portal-dashboard-home .support-helper-steps li > span:nth-child(2) {
  display: grid !important;
}

body.portal-dashboard-home .support-helper-steps li {
  grid-template-columns: 42px minmax(0, 1fr) 18px !important;
  min-height: 56px !important;
}

body.portal-dashboard-home .support-helper-steps li::after {
  content: none !important;
  display: none !important;
}

body.portal-dashboard-home .support-helper-steps li strong,
body.portal-dashboard-home .support-helper-steps li small,
body.portal-dashboard-home .support-helper-card .support-helper-open-copy strong,
body.portal-dashboard-home .support-helper-card .support-helper-open-copy small,
body.portal-dashboard-home .support-helper-trust strong,
body.portal-dashboard-home .support-helper-trust small {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

body.portal-dashboard-home .support-helper-visual-wrap {
  display: none !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 40px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 58px !important;
  margin: 0 !important;
}

body.portal-dashboard-home .support-helper-card .support-helper-open-mark {
  display: none !important;
}

body.portal-dashboard-home .support-helper-trust {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.portal-dashboard-home .support-helper-trust small {
  display: none !important;
}

@media (min-width: 1600px) {
  body.portal-dashboard-home .support-helper-body {
    grid-template-columns: minmax(0, 1fr) 144px !important;
  }

  body.portal-dashboard-home .support-helper-visual-wrap {
    display: block !important;
  }

  body.portal-dashboard-home .support-helper-file-chip,
  body.portal-dashboard-home .support-helper-checkmark,
  body.portal-dashboard-home .support-helper-visual-wrap::before {
    display: none !important;
  }

  body.portal-dashboard-home .support-helper-trust small {
    display: block !important;
  }
}

/* v238: rebuilt homepage assistant block with an isolated class namespace. */
body.portal-dashboard-home .home-assistant-card {
  box-sizing: border-box;
  display: grid;
  gap: 14px;
  width: 100%;
  min-width: 0;
  padding: 20px;
  overflow: hidden;
  border: 1px solid rgba(196, 222, 212, 0.96);
  border-radius: 22px;
  color: #13243d;
  background:
    radial-gradient(circle at 88% 16%, rgba(224, 242, 251, 0.8), transparent 34%),
    radial-gradient(circle at 86% 92%, rgba(221, 248, 237, 0.88), transparent 36%),
    linear-gradient(145deg, #ffffff 0%, #fbfffd 62%, #f4fbf8 100%);
  box-shadow:
    0 18px 42px rgba(43, 80, 69, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.98);
  font-family: Arial, Helvetica, sans-serif;
}

body.portal-dashboard-home .home-assistant-topline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

body.portal-dashboard-home .home-assistant-pill {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  min-height: 32px;
  padding: 7px 10px;
  border: 1px solid rgba(35, 145, 89, 0.16);
  border-radius: 13px;
  color: #1a8052;
  background: rgba(236, 250, 243, 0.95);
  font-size: 11.2px;
  font-weight: 850;
  line-height: 1.08;
  letter-spacing: 0;
  white-space: nowrap;
}

body.portal-dashboard-home .home-assistant-check,
body.portal-dashboard-home .home-assistant-symbol {
  position: relative;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(145deg, #31a86d, #178551);
}

body.portal-dashboard-home .home-assistant-check {
  width: 17px;
  height: 17px;
}

body.portal-dashboard-home .home-assistant-check::before,
body.portal-dashboard-home .home-assistant-symbol::before,
body.portal-dashboard-home .home-assistant-trust i::before {
  content: "";
  width: 7px;
  height: 4px;
  border-bottom: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-radius: 1px;
  transform: translateY(-1px) rotate(-45deg);
}

body.portal-dashboard-home .home-assistant-head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  min-width: 0;
}

body.portal-dashboard-home .home-assistant-symbol {
  width: 42px;
  height: 42px;
  margin-top: 2px;
  background: linear-gradient(145deg, #e9f9f1, #dff5e9);
  box-shadow: inset 0 0 0 1px rgba(35, 145, 89, 0.16);
}

body.portal-dashboard-home .home-assistant-symbol::before {
  width: 15px;
  height: 9px;
  border-bottom-width: 3px;
  border-left-width: 3px;
  border-color: #168451;
}

body.portal-dashboard-home .home-assistant-head p {
  margin: 0 0 6px;
  color: #66738a;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: 0;
}

body.portal-dashboard-home .home-assistant-head h2 {
  max-width: 440px;
  margin: 0;
  color: #10213f;
  font-size: clamp(24px, 2vw, 31px);
  font-weight: 950;
  line-height: 1.04;
  letter-spacing: 0;
}

body.portal-dashboard-home .home-assistant-actions {
  display: grid;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.portal-dashboard-home .home-assistant-actions li {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 58px;
  padding: 8px 10px;
  border: 1px solid rgba(218, 232, 226, 0.96);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 22px rgba(52, 86, 74, 0.055);
}

body.portal-dashboard-home .home-assistant-action-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(205, 227, 218, 0.9);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(239, 250, 245, 0.98), rgba(247, 252, 250, 0.86));
}

body.portal-dashboard-home .home-assistant-action-icon img {
  display: block;
  width: 34px;
  height: 34px;
  object-fit: contain;
}

body.portal-dashboard-home .home-assistant-actions li > span:nth-child(2) {
  display: grid;
  gap: 2px;
  min-width: 0;
}

body.portal-dashboard-home .home-assistant-actions strong,
body.portal-dashboard-home .home-assistant-actions small {
  display: block;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  letter-spacing: 0;
}

body.portal-dashboard-home .home-assistant-actions strong {
  color: #11243f;
  font-size: 13.3px;
  font-weight: 950;
  line-height: 1.1;
}

body.portal-dashboard-home .home-assistant-actions small {
  color: #657289;
  font-size: 10.3px;
  font-weight: 730;
  line-height: 1.16;
}

body.portal-dashboard-home .home-assistant-row-arrow,
body.portal-dashboard-home .home-assistant-cta-arrow {
  display: grid;
  place-items: center;
  color: #1d8c59;
}

body.portal-dashboard-home .home-assistant-row-arrow svg {
  width: 18px;
  height: 18px;
}

body.portal-dashboard-home .home-assistant-row-arrow svg,
body.portal-dashboard-home .home-assistant-cta-arrow svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
}

body.portal-dashboard-home .home-assistant-row-arrow svg path,
body.portal-dashboard-home .home-assistant-cta-arrow svg path {
  fill: none;
  stroke: currentColor;
}

body.portal-dashboard-home .home-assistant-cta {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 11px 12px 11px 16px;
  border: 0;
  border-radius: 16px;
  color: #ffffff;
  background:
    radial-gradient(circle at 88% 16%, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 28%),
    linear-gradient(135deg, #2faa6a, #168451);
  box-shadow: 0 16px 30px rgba(24, 129, 78, 0.22);
  text-align: left;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
}

body.portal-dashboard-home .home-assistant-cta-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

body.portal-dashboard-home .home-assistant-cta-copy strong,
body.portal-dashboard-home .home-assistant-cta-copy small {
  display: block;
  overflow: visible;
  color: #ffffff;
  text-overflow: clip;
  white-space: normal;
  letter-spacing: 0;
}

body.portal-dashboard-home .home-assistant-cta-copy strong {
  font-size: 14.6px;
  font-weight: 950;
  line-height: 1.12;
}

body.portal-dashboard-home .home-assistant-cta-copy small {
  color: rgba(255, 255, 255, 0.86);
  font-size: 10.6px;
  font-weight: 720;
  line-height: 1.2;
}

body.portal-dashboard-home .home-assistant-cta-arrow {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  color: #168451;
  background: #ffffff;
}

body.portal-dashboard-home .home-assistant-cta-arrow svg {
  width: 20px;
  height: 20px;
  stroke-width: 2.4;
}

body.portal-dashboard-home .home-assistant-trust {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  width: 100%;
  min-width: 0;
  padding: 9px 7px;
  border: 1px solid rgba(216, 231, 225, 0.96);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
}

body.portal-dashboard-home .home-assistant-trust > span {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 5px;
  min-width: 0;
  text-align: center;
}

body.portal-dashboard-home .home-assistant-trust i {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(204, 226, 218, 0.95);
  border-radius: 999px;
  background: #f1faf6;
}

body.portal-dashboard-home .home-assistant-trust i::before {
  border-color: #1d9660;
}

body.portal-dashboard-home .home-assistant-trust strong,
body.portal-dashboard-home .home-assistant-trust small {
  display: block;
  overflow: visible;
  max-width: none;
  color: #13243d;
  text-overflow: clip;
  white-space: normal;
  letter-spacing: 0;
}

body.portal-dashboard-home .home-assistant-trust strong {
  font-size: 9.5px;
  font-weight: 900;
  line-height: 1.08;
}

body.portal-dashboard-home .home-assistant-trust small {
  display: none;
}

@media (min-width: 1600px) {
  body.portal-dashboard-home .home-assistant-card {
    gap: 15px;
    padding: 22px;
  }

  body.portal-dashboard-home .home-assistant-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.portal-dashboard-home .home-assistant-trust small {
    display: block;
    max-width: 96px;
    color: #68778e;
    font-size: 8.8px;
    line-height: 1.1;
  }
}

@media (max-width: 1260px), (max-height: 850px) and (min-width: 1100px) {
  body.portal-dashboard-home .home-assistant-card {
    gap: 10px;
    padding: 16px;
    border-radius: 20px;
  }

  body.portal-dashboard-home .home-assistant-pill {
    min-height: 30px;
    padding: 7px 8px;
    font-size: 10.3px;
  }

  body.portal-dashboard-home .home-assistant-head {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
  }

  body.portal-dashboard-home .home-assistant-symbol {
    width: 36px;
    height: 36px;
  }

  body.portal-dashboard-home .home-assistant-head p {
    margin-bottom: 4px;
    font-size: 11.5px;
  }

  body.portal-dashboard-home .home-assistant-head h2 {
    font-size: 21px;
    line-height: 1.02;
  }

  body.portal-dashboard-home .home-assistant-actions {
    gap: 6px;
  }

  body.portal-dashboard-home .home-assistant-actions li {
    grid-template-columns: 36px minmax(0, 1fr) 20px;
    gap: 8px;
    min-height: 50px;
    padding: 7px 8px;
    border-radius: 13px;
  }

  body.portal-dashboard-home .home-assistant-action-icon {
    width: 36px;
    height: 36px;
  }

  body.portal-dashboard-home .home-assistant-action-icon img {
    width: 30px;
    height: 30px;
  }

  body.portal-dashboard-home .home-assistant-actions strong {
    font-size: 11.6px;
  }

  body.portal-dashboard-home .home-assistant-actions small {
    font-size: 9.1px;
    line-height: 1.12;
  }

  body.portal-dashboard-home .home-assistant-cta {
    min-height: 54px;
    padding: 9px 10px 9px 13px;
  }

  body.portal-dashboard-home .home-assistant-cta-copy strong {
    font-size: 12.3px;
  }

  body.portal-dashboard-home .home-assistant-cta-copy small {
    font-size: 9.2px;
  }

  body.portal-dashboard-home .home-assistant-trust {
    padding: 8px 6px;
  }

  body.portal-dashboard-home .home-assistant-trust strong {
    font-size: 8.5px;
  }
}

/* v239: replace assistant check marks with PNG emblems. */
body.portal-dashboard-home .home-assistant-pill-icon,
body.portal-dashboard-home .home-assistant-trust-icon {
  box-sizing: border-box;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(189, 224, 211, 0.95);
  background:
    radial-gradient(circle at 35% 22%, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0) 42%),
    linear-gradient(145deg, #eefbf6, #dff5ec);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94);
}

body.portal-dashboard-home .home-assistant-pill-icon {
  width: 22px;
  height: 22px;
  border-radius: 8px;
}

body.portal-dashboard-home .home-assistant-pill-icon img {
  display: block;
  width: 16px;
  height: 16px;
  object-fit: contain;
}

body.portal-dashboard-home .home-assistant-symbol {
  overflow: hidden;
  border-radius: 15px;
  background:
    radial-gradient(circle at 34% 20%, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0) 48%),
    linear-gradient(145deg, #eefbf7, #d9f3eb);
}

body.portal-dashboard-home .home-assistant-symbol::before,
body.portal-dashboard-home .home-assistant-trust i,
body.portal-dashboard-home .home-assistant-trust i::before {
  content: none !important;
  display: none !important;
}

body.portal-dashboard-home .home-assistant-symbol img {
  display: block;
  width: 38px;
  height: 38px;
  object-fit: contain;
}

body.portal-dashboard-home .home-assistant-trust-icon {
  width: 25px;
  height: 25px;
  border-radius: 9px;
}

body.portal-dashboard-home .home-assistant-trust-icon img {
  display: block;
  width: 18px;
  height: 18px;
  object-fit: contain;
}

@media (max-width: 1260px), (max-height: 850px) and (min-width: 1100px) {
  body.portal-dashboard-home .home-assistant-pill-icon {
    width: 20px;
    height: 20px;
    border-radius: 7px;
  }

  body.portal-dashboard-home .home-assistant-pill-icon img {
    width: 15px;
    height: 15px;
  }

  body.portal-dashboard-home .home-assistant-symbol img {
    width: 32px;
    height: 32px;
  }

  body.portal-dashboard-home .home-assistant-trust-icon {
    width: 22px;
    height: 22px;
    border-radius: 8px;
  }

  body.portal-dashboard-home .home-assistant-trust-icon img {
    width: 16px;
    height: 16px;
  }
}

/* v240: keep assistant SVG arrows constrained even if older generic SVG rules leak in. */
body.portal-dashboard-home .home-assistant-card .home-assistant-row-arrow svg,
body.portal-dashboard-home .home-assistant-card .home-assistant-cta-arrow svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  fill: none !important;
  stroke: currentColor !important;
}

body.portal-dashboard-home .home-assistant-card .home-assistant-cta-arrow svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
}

body.portal-dashboard-home .home-assistant-card .home-assistant-row-arrow svg path,
body.portal-dashboard-home .home-assistant-card .home-assistant-cta-arrow svg path {
  fill: none !important;
  stroke: currentColor !important;
}

/* v241: approved premium homepage concept with a dark document-assistant rail. */
body.portal-dashboard-home {
  --premium-ink: #0b1b38;
  --premium-muted: #5e6b82;
  --premium-green: #1f724a;
  --premium-green-dark: #155a39;
  --premium-line: #dce3e8;
  --premium-navy: #06294d;
  margin: 0;
  min-width: 0 !important;
  overflow-x: hidden;
  color: var(--premium-ink);
  background: #ffffff;
  font-family: Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
}

body.portal-dashboard-home .support-home-shell {
  display: grid;
  grid-template-columns: 238px minmax(0, 1fr);
  min-height: 100vh;
  background: #ffffff;
}

body.portal-dashboard-home .support-sidebar {
  position: sticky;
  top: 0;
  z-index: 4;
  box-sizing: border-box;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-content: start;
  gap: 28px;
  width: 238px;
  height: 100vh;
  padding: 34px 22px 28px;
  overflow: auto;
  border: 0;
  border-right: 1px solid var(--premium-line);
  background: #ffffff;
  box-shadow: none;
}

body.portal-dashboard-home .support-brand {
  position: relative;
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  min-width: 0;
  padding: 0 2px 16px;
  color: var(--premium-ink);
  text-decoration: none;
}

body.portal-dashboard-home .support-brand::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 35px;
  z-index: 1;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #ffffff;
  pointer-events: none;
}

body.portal-dashboard-home .support-brand::after {
  content: "";
  position: absolute;
  top: 18px;
  left: 39px;
  z-index: 2;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #2f8b51;
  box-shadow: 0 0 0 6px #ffffff;
  pointer-events: none;
}

body.portal-dashboard-home .support-brand img {
  display: block;
  width: 66px;
  height: 88px;
  object-fit: contain;
}

body.portal-dashboard-home .support-brand span {
  display: grid;
  gap: 8px;
  min-width: 0;
}

body.portal-dashboard-home .support-brand strong {
  color: var(--premium-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 0.94;
  letter-spacing: -0.04em;
}

body.portal-dashboard-home .support-brand small {
  color: #66738a;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
}

body.portal-dashboard-home .support-nav {
  display: grid;
  align-content: start;
  gap: 4px;
  min-width: 0;
}

body.portal-dashboard-home .support-nav a {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 5px 10px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--premium-ink);
  background: transparent;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.15;
  text-decoration: none;
  box-shadow: none;
  transition: color 160ms ease, background 160ms ease, border-color 160ms ease;
}

body.portal-dashboard-home .support-nav a:hover,
body.portal-dashboard-home .support-nav a:focus-visible {
  outline: 0;
  color: var(--premium-green-dark);
  background: #f5f8f7;
}

body.portal-dashboard-home .support-nav a.is-active {
  color: var(--premium-green-dark);
  border-color: #c9d9d1;
  background: #f5f8f6;
  box-shadow: none;
}

body.portal-dashboard-home .support-nav a > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.portal-dashboard-home .support-nav-icon {
  display: block;
  width: 27px;
  height: 27px;
  object-fit: contain;
  filter: grayscale(1) saturate(0) brightness(0.52) sepia(0.18) hue-rotate(169deg);
}

body.portal-dashboard-home .support-nav a.is-active .support-nav-icon {
  filter: grayscale(1) saturate(0) brightness(0.56) sepia(0.34) hue-rotate(90deg);
}

body.portal-dashboard-home .support-main {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(350px, 26vw, 398px);
  grid-template-rows: 78px auto;
  min-width: 0;
  padding: 0;
  background: #ffffff;
}

body.portal-dashboard-home .support-topbar {
  grid-column: 1;
  grid-row: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  min-width: 0;
  min-height: 78px;
  margin: 0;
  padding: 0 42px;
  border-bottom: 1px solid var(--premium-line);
  background: #ffffff;
}

body.portal-dashboard-home .support-topnav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(24px, 3vw, 48px);
  min-width: 0;
}

body.portal-dashboard-home .support-topnav a {
  color: var(--premium-ink);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: -0.01em;
}

body.portal-dashboard-home .support-topnav a:hover,
body.portal-dashboard-home .support-topnav a:focus-visible {
  color: var(--premium-green);
}

body.portal-dashboard-home .support-topbar .dashboard-login-trigger {
  width: auto !important;
  min-width: 72px;
  max-width: none;
  height: 36px;
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid #d7e0e5;
  border-radius: 8px;
  color: var(--premium-ink);
  background: #ffffff;
  box-shadow: none;
}

body.portal-dashboard-home .support-topbar .dashboard-login-trigger strong {
  font-size: 12px;
  font-weight: 650;
}

body.portal-dashboard-home .support-home-grid {
  display: contents;
}

body.portal-dashboard-home .support-home-left {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
  background: #ffffff;
}

body.portal-dashboard-home .support-hero {
  position: relative;
  min-height: 410px;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}

body.portal-dashboard-home .support-hero > img {
  position: absolute;
  inset: 0 0 0 auto;
  display: block;
  width: 62%;
  height: 100%;
  object-fit: cover;
  object-position: 70% 43%;
  filter: saturate(0.62) contrast(0.94) brightness(1.06);
}

body.portal-dashboard-home .support-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, #ffffff 0%, #ffffff 36%, rgba(255, 255, 255, 0.96) 43%, rgba(255, 255, 255, 0.2) 61%, rgba(255, 255, 255, 0) 72%);
}

body.portal-dashboard-home .support-hero-copy {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 24px;
  box-sizing: border-box;
  width: 57%;
  min-height: 410px;
  padding: 46px 18px 42px 46px;
}

body.portal-dashboard-home .support-hero h1 {
  max-width: 510px;
  margin: 0;
  color: var(--premium-ink);
  font-size: clamp(44px, 3.65vw, 56px);
  font-weight: 790;
  line-height: 0.99;
  letter-spacing: -0.055em;
}

body.portal-dashboard-home .support-hero h1 span {
  display: block;
  white-space: nowrap;
}

body.portal-dashboard-home .support-hero p {
  max-width: 460px;
  margin: 0;
  color: #4e5c73;
  font-size: clamp(15px, 1.25vw, 19px);
  font-weight: 480;
  line-height: 1.45;
}

body.portal-dashboard-home .support-hero-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
}

body.portal-dashboard-home .support-primary,
body.portal-dashboard-home .support-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 720;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
}

body.portal-dashboard-home .support-primary {
  border: 1px solid var(--premium-green-dark);
  color: #ffffff;
  background: var(--premium-green-dark);
}

body.portal-dashboard-home .support-secondary {
  border: 1px solid #8ca69a;
  color: var(--premium-ink);
  background: rgba(255, 255, 255, 0.94);
}

body.portal-dashboard-home .support-primary:hover,
body.portal-dashboard-home .support-primary:focus-visible,
body.portal-dashboard-home .support-secondary:hover,
body.portal-dashboard-home .support-secondary:focus-visible {
  outline: 0;
  transform: translateY(-1px);
}

body.portal-dashboard-home .support-trust-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0 32px;
  border: 0;
  border-top: 1px solid var(--premium-line);
  border-bottom: 1px solid var(--premium-line);
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}

body.portal-dashboard-home .support-trust-row > span {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 82px;
  padding: 0 22px;
  color: #526078;
  font-size: 12px;
  font-weight: 560;
  line-height: 1.25;
}

body.portal-dashboard-home .support-trust-row > span + span {
  border-left: 1px solid var(--premium-line);
}

body.portal-dashboard-home .support-trust-row img {
  display: block;
  width: 26px;
  height: 26px;
  object-fit: contain;
  filter: grayscale(1) saturate(0) brightness(0.47) sepia(0.12) hue-rotate(167deg);
}

body.portal-dashboard-home .support-sections {
  display: grid;
  gap: 24px;
  padding: 28px 42px 46px;
  background: #ffffff;
}

body.portal-dashboard-home .support-sections h2 {
  margin: 0;
  color: var(--premium-ink);
  font-size: 22px;
  font-weight: 760;
  line-height: 1.1;
  letter-spacing: -0.025em;
}

body.portal-dashboard-home .support-section-highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

body.portal-dashboard-home .support-section-highlight {
  display: grid;
  grid-template-rows: 120px minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  border: 0;
  border-radius: 7px;
  color: var(--premium-ink);
  background: transparent;
  text-decoration: none;
  box-shadow: none;
}

body.portal-dashboard-home .support-section-highlight > img {
  display: block;
  width: 100%;
  height: 120px;
  border-radius: 7px;
  object-fit: cover;
  object-position: center 28%;
  filter: saturate(0.72) contrast(0.94);
}

body.portal-dashboard-home .support-section-highlight > span {
  display: grid;
  align-content: start;
  gap: 8px;
  padding-top: 14px;
}

body.portal-dashboard-home .support-section-highlight strong {
  color: var(--premium-ink);
  font-size: 15px;
  font-weight: 760;
  line-height: 1.2;
}

body.portal-dashboard-home .support-section-highlight small {
  min-height: 44px;
  color: #627087;
  font-size: 11.5px;
  font-weight: 460;
  line-height: 1.42;
}

body.portal-dashboard-home .support-section-highlight em {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  margin-top: 4px;
  color: var(--premium-green);
  font-size: 11.5px;
  font-style: normal;
  font-weight: 650;
}

body.portal-dashboard-home .support-section-highlight em svg {
  display: block;
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
}

body.portal-dashboard-home .support-home-right {
  position: sticky;
  top: 0;
  z-index: 3;
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: start;
  display: grid;
  align-content: start;
  gap: 22px;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 100vh;
  padding: 42px 34px 26px;
  overflow: hidden;
  color: #ffffff;
  background: var(--premium-navy);
}

body.portal-dashboard-home .support-home-right::before {
  content: "";
  position: absolute;
  top: -44px;
  right: -52px;
  width: 250px;
  height: 150px;
  opacity: 0.1;
  border: 1px solid rgba(255, 255, 255, 0.48);
  border-radius: 2px;
  transform: rotate(19deg);
  box-shadow: -14px 14px 0 rgba(255, 255, 255, 0.22), -28px 28px 0 rgba(255, 255, 255, 0.13);
  pointer-events: none;
}

body.portal-dashboard-home .premium-assistant {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 15px;
  min-width: 0;
}

body.portal-dashboard-home .premium-assistant-kicker {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  font-weight: 720;
  line-height: 1;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

body.portal-dashboard-home .premium-assistant h2 {
  max-width: 330px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(28px, 2.05vw, 32px);
  font-weight: 730;
  line-height: 1.07;
  letter-spacing: -0.035em;
}

body.portal-dashboard-home .premium-assistant-intro {
  max-width: 330px;
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 13px;
  font-weight: 420;
  line-height: 1.45;
}

body.portal-dashboard-home .premium-assistant-steps {
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.28);
  list-style: none;
}

body.portal-dashboard-home .premium-assistant-steps li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  min-width: 0;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}

body.portal-dashboard-home .premium-assistant-steps li > span {
  color: rgba(255, 255, 255, 0.77);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}

body.portal-dashboard-home .premium-assistant-steps li > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

body.portal-dashboard-home .premium-assistant-steps strong {
  color: #ffffff;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.2;
}

body.portal-dashboard-home .premium-assistant-steps small {
  color: rgba(255, 255, 255, 0.7);
  font-size: 10.5px;
  font-weight: 420;
  line-height: 1.36;
}

body.portal-dashboard-home .premium-assistant-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid #ffffff;
  border-radius: 6px;
  color: var(--premium-ink);
  background: #ffffff;
  font-size: 13px;
  font-weight: 720;
  line-height: 1.1;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
}

body.portal-dashboard-home .premium-assistant-cta:hover,
body.portal-dashboard-home .premium-assistant-cta:focus-visible {
  outline: 0;
  color: var(--premium-green-dark);
  background: #f4f8f6;
}

body.portal-dashboard-home .premium-assistant-time {
  display: block;
  margin-top: -9px;
  color: rgba(255, 255, 255, 0.64);
  font-size: 9.5px;
  font-weight: 430;
  text-align: center;
}

body.portal-dashboard-home .premium-latest {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
  min-width: 0;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.24);
}

body.portal-dashboard-home .premium-latest .support-side-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 0;
}

body.portal-dashboard-home .premium-latest .support-side-head h2 {
  margin: 0;
  color: #ffffff;
  font-size: 17px;
  font-weight: 720;
  line-height: 1.1;
}

body.portal-dashboard-home .premium-latest .support-side-head a {
  flex: 0 0 auto;
  color: rgba(255, 255, 255, 0.9);
  font-size: 9.5px;
  font-weight: 560;
  text-decoration: none;
}

body.portal-dashboard-home .premium-latest .support-latest-list {
  display: grid;
  min-width: 0;
  padding: 0;
}

body.portal-dashboard-home .premium-latest .support-latest-list a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-width: 0;
  min-height: 37px;
  padding: 6px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.19);
  color: #ffffff;
  text-decoration: none;
}

body.portal-dashboard-home .premium-latest .support-latest-list strong {
  display: block;
  overflow: hidden;
  color: rgba(255, 255, 255, 0.88);
  font-size: 10px;
  font-weight: 470;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.portal-dashboard-home .premium-latest .support-latest-list time {
  color: rgba(255, 255, 255, 0.66);
  font-size: 9px;
  font-weight: 430;
  white-space: nowrap;
}

@media (max-height: 800px) and (min-width: 901px) {
  body.portal-dashboard-home .support-sidebar {
    gap: 18px;
    padding-top: 20px;
  }

  body.portal-dashboard-home .support-brand {
    grid-template-columns: 54px minmax(0, 1fr);
    padding-bottom: 6px;
  }

  body.portal-dashboard-home .support-brand img {
    width: 54px;
    height: 66px;
  }

  body.portal-dashboard-home .support-brand strong {
    font-size: 19px;
  }

  body.portal-dashboard-home .support-nav a {
    min-height: 40px;
    font-size: 11.5px;
  }

  body.portal-dashboard-home .support-main {
    grid-template-rows: 64px auto;
  }

  body.portal-dashboard-home .support-topbar {
    min-height: 64px;
  }

  body.portal-dashboard-home .support-hero,
  body.portal-dashboard-home .support-hero-copy {
    min-height: 340px;
  }

  body.portal-dashboard-home .support-hero-copy {
    gap: 18px;
    padding-top: 34px;
    padding-bottom: 30px;
  }

  body.portal-dashboard-home .support-trust-row > span {
    min-height: 64px;
  }

  body.portal-dashboard-home .support-sections {
    gap: 18px;
    padding-top: 22px;
  }

  body.portal-dashboard-home .support-section-highlight {
    grid-template-rows: 112px minmax(0, 1fr);
  }

  body.portal-dashboard-home .support-section-highlight > img {
    height: 112px;
  }

  body.portal-dashboard-home .support-home-right {
    gap: 18px;
    padding: 28px 28px 22px;
  }

  body.portal-dashboard-home .premium-assistant {
    gap: 12px;
  }

  body.portal-dashboard-home .premium-assistant h2 {
    font-size: 28px;
  }

  body.portal-dashboard-home .premium-assistant-intro {
    font-size: 11.5px;
  }

  body.portal-dashboard-home .premium-assistant-steps li {
    padding: 9px 0;
  }

  body.portal-dashboard-home .premium-assistant-cta {
    min-height: 42px;
  }

  body.portal-dashboard-home .premium-latest {
    padding-top: 16px;
  }

  body.portal-dashboard-home .premium-latest .support-latest-list a {
    min-height: 35px;
    padding: 6px 0;
  }
}

@media (max-width: 1180px) and (min-width: 901px) {
  body.portal-dashboard-home .support-home-shell {
    grid-template-columns: 208px minmax(0, 1fr);
  }

  body.portal-dashboard-home .support-sidebar {
    width: 208px;
    padding-right: 16px;
    padding-left: 16px;
  }

  body.portal-dashboard-home .support-main {
    grid-template-columns: minmax(0, 1fr) 340px;
  }

  body.portal-dashboard-home .support-topbar {
    padding-right: 28px;
    padding-left: 28px;
  }

  body.portal-dashboard-home .support-topnav {
    gap: 20px;
  }

  body.portal-dashboard-home .support-hero-copy {
    width: 58%;
    padding-left: 32px;
  }

  body.portal-dashboard-home .support-hero h1 {
    font-size: 43px;
  }

  body.portal-dashboard-home .support-trust-row {
    padding-right: 16px;
    padding-left: 16px;
  }

  body.portal-dashboard-home .support-trust-row > span {
    padding-right: 12px;
    padding-left: 12px;
    font-size: 10.5px;
  }

  body.portal-dashboard-home .support-sections {
    padding-right: 28px;
    padding-left: 28px;
  }

  body.portal-dashboard-home .support-section-highlights {
    gap: 16px;
  }
}

@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) {
  body.portal-dashboard-home .support-home-shell {
    display: block;
  }

  body.portal-dashboard-home .support-sidebar {
    position: relative;
    width: 100%;
    height: auto;
    gap: 12px;
    padding: 16px;
    border-right: 0;
    border-bottom: 1px solid var(--premium-line);
  }

  body.portal-dashboard-home .support-brand {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    padding: 0;
  }

  body.portal-dashboard-home .support-brand img {
    width: 42px;
    height: 50px;
  }

  body.portal-dashboard-home .support-brand strong {
    font-size: 18px;
  }

  body.portal-dashboard-home .support-brand small {
    font-size: 10px;
  }

  body.portal-dashboard-home .support-nav {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  body.portal-dashboard-home .support-nav::-webkit-scrollbar {
    display: none;
  }

  body.portal-dashboard-home .support-nav a {
    grid-template-columns: auto;
    flex: 0 0 auto;
    min-height: 36px;
    padding: 0 13px;
    font-size: 11px;
    white-space: nowrap;
  }

  body.portal-dashboard-home .support-nav a > span {
    display: none;
  }

  body.portal-dashboard-home .support-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
  }

  body.portal-dashboard-home .support-topbar,
  body.portal-dashboard-home .support-home-left,
  body.portal-dashboard-home .support-home-right {
    grid-column: 1;
  }

  body.portal-dashboard-home .support-topbar {
    grid-row: 1;
    min-height: 60px;
    padding: 0 16px;
  }

  body.portal-dashboard-home .support-topnav {
    gap: 16px;
    overflow-x: auto;
  }

  body.portal-dashboard-home .support-topnav a {
    font-size: 11px;
    white-space: nowrap;
  }

  body.portal-dashboard-home .support-home-left {
    grid-row: 2;
  }

  body.portal-dashboard-home .support-home-right {
    position: relative;
    grid-row: 3;
    min-height: 0;
    padding: 36px 24px;
  }

  body.portal-dashboard-home .support-hero,
  body.portal-dashboard-home .support-hero-copy {
    min-height: 460px;
  }

  body.portal-dashboard-home .support-hero > img {
    inset: auto 0 0;
    width: 100%;
    height: 58%;
    object-position: 72% 45%;
  }

  body.portal-dashboard-home .support-hero::after {
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 47%, rgba(255, 255, 255, 0.93) 58%, rgba(255, 255, 255, 0) 76%);
  }

  body.portal-dashboard-home .support-hero-copy {
    align-content: start;
    width: 100%;
    padding: 32px 22px;
  }

  body.portal-dashboard-home .support-hero-actions {
    flex-wrap: wrap;
  }

  body.portal-dashboard-home .support-hero h1 {
    font-size: clamp(38px, 12vw, 52px);
  }

  body.portal-dashboard-home .support-hero p {
    max-width: 520px;
  }

  body.portal-dashboard-home .support-trust-row {
    grid-template-columns: 1fr;
    padding: 0 22px;
  }

  body.portal-dashboard-home .support-trust-row > span {
    min-height: 58px;
    padding: 0;
  }

  body.portal-dashboard-home .support-trust-row > span + span {
    border-top: 1px solid var(--premium-line);
    border-left: 0;
  }

  body.portal-dashboard-home .support-sections {
    padding: 28px 22px 38px;
  }

  body.portal-dashboard-home .support-section-highlights {
    grid-template-columns: 1fr;
  }

  body.portal-dashboard-home .support-section-highlight {
    grid-template-columns: 40% minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 16px;
  }

body.portal-dashboard-home .support-section-highlight > img {
    height: 150px;
  }
}
/* v244: corrected approved light editorial homepage concept. */
body.portal-dashboard-home {
  --editorial-ink: #0b1b38;
  --editorial-muted: #516078;
  --editorial-green: #23834d;
  --editorial-green-dark: #1f7746;
  --editorial-line: #dce3e8;
  color: var(--editorial-ink);
  background: #ffffff;
}

body.portal-dashboard-home .support-home-shell {
  grid-template-columns: clamp(264px, 20.625vw, 330px) minmax(0, 1fr);
  background: #ffffff;
}

body.portal-dashboard-home .support-sidebar {
  width: 100%;
  gap: 34px;
  padding: 38px 30px 30px;
  border-right: 1px solid var(--editorial-line);
  background: #ffffff;
}

body.portal-dashboard-home .support-brand {
  grid-template-columns: 66px minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  padding: 12px 0 9px;
}

body.portal-dashboard-home .support-brand img {
  width: 66px;
  height: 94px;
}

body.portal-dashboard-home .support-brand span {
  gap: 11px;
}

body.portal-dashboard-home .support-brand strong {
  max-width: 155px;
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(25px, 1.8vw, 29px);
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: -0.045em;
}

body.portal-dashboard-home .support-brand small {
  font-size: 15px;
  font-weight: 500;
}

body.portal-dashboard-home .support-nav {
  gap: 9px;
}

body.portal-dashboard-home .support-nav a {
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 14px;
  min-height: 66px;
  padding: 6px 14px;
  border-radius: 11px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
}

body.portal-dashboard-home .support-nav a.is-active {
  border-color: #a9cdb9;
  color: var(--editorial-green-dark);
  background: #f8fbf9;
}

body.portal-dashboard-home .support-nav a > span {
  width: 40px;
  height: 40px;
}

body.portal-dashboard-home .support-nav-icon {
  width: 34px;
  height: 34px;
  color: var(--editorial-ink);
  filter: none;
}

body.portal-dashboard-home .support-nav a.is-active .support-nav-icon {
  color: var(--editorial-green-dark);
  filter: none;
}

body.portal-dashboard-home .support-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 82px auto;
  min-width: 0;
}

body.portal-dashboard-home .support-topbar {
  grid-column: 1;
  grid-row: 1;
  min-height: 82px;
  padding: 0 47px;
  border-bottom: 1px solid var(--editorial-line);
}

body.portal-dashboard-home .support-topnav {
  gap: clamp(42px, 4vw, 70px);
}

body.portal-dashboard-home .support-topnav a {
  color: var(--editorial-ink);
  font-size: 16px;
  font-weight: 450;
}

body.portal-dashboard-home .support-topbar .dashboard-login-trigger {
  min-width: 84px;
  height: 40px;
  min-height: 40px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--editorial-ink);
  background: transparent;
  gap: 9px;
}

body.portal-dashboard-home .support-topbar .dashboard-login-trigger > .dashboard-login-field-icon {
  display: block;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
}

body.portal-dashboard-home .support-topbar .dashboard-login-arrow-wrapper {
  display: none;
}

body.portal-dashboard-home .support-topbar .dashboard-login-trigger strong {
  font-size: 16px;
  font-weight: 500;
}

body.portal-dashboard-home .support-home-grid {
  grid-column: 1;
  grid-row: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 375px !important;
  min-width: 0;
}

body.portal-dashboard-home .support-home-left {
  grid-column: 1;
  grid-row: 1;
}

body.portal-dashboard-home .support-hero,
body.portal-dashboard-home .support-hero-copy {
  min-height: 530px;
}

body.portal-dashboard-home .support-hero {
  border-bottom: 1px solid var(--editorial-line);
}

body.portal-dashboard-home .support-hero > img {
  width: 56%;
  object-position: 74% 45%;
  filter: saturate(0.82) contrast(0.95) brightness(1.04);
}

body.portal-dashboard-home .support-hero::after {
  background: linear-gradient(90deg, #ffffff 0%, #ffffff 35%, rgba(255, 255, 255, 0.97) 43%, rgba(255, 255, 255, 0.24) 61%, rgba(255, 255, 255, 0) 72%);
}

body.portal-dashboard-home .support-hero-copy {
  align-content: center;
  gap: 24px;
  width: 62%;
  padding: 74px 12px 62px 52px;
  transform: translateY(18px);
}

body.portal-dashboard-home .support-hero h1 {
  max-width: 600px;
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(58px, 4.75vw, 76px);
  font-weight: 400;
  line-height: 0.93;
  letter-spacing: -0.055em;
}

body.portal-dashboard-home .support-hero h1 span {
  margin-top: 6px;
}

body.portal-dashboard-home .support-hero p {
  max-width: 475px;
  color: var(--editorial-muted);
  font-size: clamp(18px, 1.45vw, 22px);
  font-weight: 430;
  line-height: 1.44;
}

body.portal-dashboard-home .support-hero-actions {
  display: grid;
  gap: 14px;
  width: 270px;
}

body.portal-dashboard-home .support-primary,
body.portal-dashboard-home .support-secondary {
  min-height: 55px;
  padding: 0 20px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
}

body.portal-dashboard-home .support-primary {
  border-color: var(--editorial-green);
  background: var(--editorial-green);
}

body.portal-dashboard-home .support-secondary {
  border-color: #62a97f;
  color: var(--editorial-ink);
  background: #ffffff;
}

body.portal-dashboard-home .support-sections {
  gap: 24px;
  padding: 32px 42px 54px;
  background: #ffffff;
}

body.portal-dashboard-home .support-sections h2 {
  display: flex;
  align-items: center;
  gap: 28px;
  color: var(--editorial-ink);
  font-family: "Times New Roman", Times, serif;
  font-size: 38px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.035em;
}

body.portal-dashboard-home .support-sections h2::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: var(--editorial-line);
}

body.portal-dashboard-home .support-section-highlights {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

body.portal-dashboard-home .support-section-highlight {
  grid-template-columns: 46% minmax(0, 1fr);
  grid-template-rows: 218px;
  min-height: 218px;
  border: 1px solid var(--editorial-line);
  border-radius: 12px;
  background: #ffffff;
}

body.portal-dashboard-home .support-section-highlight > img {
  width: 100%;
  height: 218px;
  border-radius: 11px 0 0 11px;
  object-position: center 30%;
  filter: saturate(0.75) contrast(0.96);
}

body.portal-dashboard-home .support-section-highlight > span {
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 29px 12px 20px;
}

body.portal-dashboard-home .support-section-highlight strong {
  color: var(--editorial-ink);
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(17px, 1.35vw, 21px);
  font-weight: 400;
  line-height: 1.12;
}

body.portal-dashboard-home .support-section-highlight small {
  min-height: 0;
  color: var(--editorial-muted);
  font-size: 12px;
  font-weight: 430;
  line-height: 1.38;
}

body.portal-dashboard-home .support-section-highlight em {
  align-self: end;
  margin-top: auto;
  color: var(--editorial-green);
  font-size: 13px;
  font-weight: 600;
}

body.portal-dashboard-home .support-home-right {
  position: relative;
  top: auto;
  z-index: 1;
  grid-column: 2;
  grid-row: 1;
  align-self: stretch;
  gap: 0;
  min-height: calc(100vh - 82px);
  padding: 0;
  overflow: visible;
  color: var(--editorial-ink);
  border-left: 1px solid var(--editorial-line);
  background: #ffffff;
}

body.portal-dashboard-home .support-home-right::before {
  display: none;
}

body.portal-dashboard-home .premium-assistant {
  gap: 14px;
  padding: 28px 28px 20px;
  border-bottom: 1px solid var(--editorial-line);
}

body.portal-dashboard-home .premium-assistant-kicker {
  color: var(--editorial-green);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.035em;
}

body.portal-dashboard-home .premium-assistant h2 {
  max-width: 310px;
  color: var(--editorial-ink);
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(29px, 2vw, 32px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.035em;
}

body.portal-dashboard-home .premium-assistant-steps {
  border-top: 1px solid var(--editorial-line);
}

body.portal-dashboard-home .premium-assistant-steps li {
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  padding: 19px 0;
  border-bottom: 0;
}

body.portal-dashboard-home .premium-assistant-steps li > span {
  color: var(--editorial-green);
  font-size: 26px;
}

body.portal-dashboard-home .premium-assistant-steps li > div {
  gap: 5px;
}

body.portal-dashboard-home .premium-assistant-steps strong {
  color: var(--editorial-ink);
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.2;
}

body.portal-dashboard-home .premium-assistant-steps small {
  color: var(--editorial-muted);
  font-size: 11.5px;
  font-weight: 420;
  line-height: 1.36;
}

body.portal-dashboard-home .premium-assistant-cta {
  min-height: 54px;
  border-color: var(--editorial-green);
  border-radius: 8px;
  color: #ffffff;
  background: var(--editorial-green);
  font-size: 15px;
  font-weight: 700;
}

body.portal-dashboard-home .premium-assistant-cta:hover,
body.portal-dashboard-home .premium-assistant-cta:focus-visible {
  color: #ffffff;
  background: var(--editorial-green-dark);
}

body.portal-dashboard-home .premium-latest {
  gap: 0;
  padding: 22px 28px 26px;
  border-top: 0;
}

body.portal-dashboard-home .premium-latest .support-side-head {
  display: block;
  padding: 0 0 10px;
}

body.portal-dashboard-home .premium-latest .support-side-head h2 {
  color: var(--editorial-green);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

body.portal-dashboard-home .premium-latest .support-latest-list a {
  min-height: 58px;
  padding: 10px 0;
  border-top: 1px solid var(--editorial-line);
  color: var(--editorial-ink);
}

body.portal-dashboard-home .premium-latest .support-latest-list strong {
  overflow: visible;
  color: var(--editorial-ink);
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1.35;
  text-overflow: clip;
  white-space: normal;
}

body.portal-dashboard-home .premium-latest .support-latest-list time {
  color: #68758a;
  font-size: 10px;
}

body.portal-dashboard-home .premium-latest-all {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: max-content;
  margin-top: 12px;
  color: var(--editorial-green);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}

body.portal-dashboard-home .premium-latest-all svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
}

@media (max-height: 850px) and (min-width: 901px) {
  body.portal-dashboard-home .support-sidebar {
    gap: 18px;
    padding-top: 20px;
  }

  body.portal-dashboard-home .support-brand {
    grid-template-columns: 54px minmax(0, 1fr);
    padding-top: 0;
  }

  body.portal-dashboard-home .support-brand img {
    width: 54px;
    height: 68px;
  }

  body.portal-dashboard-home .support-brand::before {
    left: 23px;
  }

  body.portal-dashboard-home .support-brand strong {
    font-size: 22px;
  }

  body.portal-dashboard-home .support-brand small {
    font-size: 12px;
  }

  body.portal-dashboard-home .support-nav {
    gap: 3px;
  }

  body.portal-dashboard-home .support-nav a {
    min-height: 48px;
    font-size: 13px;
  }

  body.portal-dashboard-home .support-main {
    grid-template-rows: 70px auto;
  }

  body.portal-dashboard-home .support-topbar {
    min-height: 70px;
  }

  body.portal-dashboard-home .support-hero,
  body.portal-dashboard-home .support-hero-copy {
    min-height: 430px;
  }

  body.portal-dashboard-home .support-hero-copy {
    gap: 18px;
    padding-top: 48px;
    padding-bottom: 42px;
    transform: translateY(46px);
  }

  body.portal-dashboard-home .support-hero h1 {
    font-size: clamp(54px, 4.5vw, 68px);
  }

  body.portal-dashboard-home .support-hero p {
    font-size: 17px;
  }

  body.portal-dashboard-home .support-primary,
  body.portal-dashboard-home .support-secondary {
    min-height: 48px;
    font-size: 14px;
  }

  body.portal-dashboard-home .support-sections {
    padding-top: 28px;
  }

  body.portal-dashboard-home .support-section-highlight,
  body.portal-dashboard-home .support-section-highlight > img {
    height: 205px;
    min-height: 205px;
  }

  body.portal-dashboard-home .support-section-highlight {
    grid-template-rows: 205px;
  }

  body.portal-dashboard-home .support-section-highlight > span {
    padding-top: 22px;
  }

  body.portal-dashboard-home .premium-assistant {
    gap: 10px;
    padding: 20px 26px 16px;
  }

  body.portal-dashboard-home .premium-assistant h2 {
    font-size: 27px;
  }

  body.portal-dashboard-home .premium-assistant-steps li {
    padding: 9px 0;
  }

  body.portal-dashboard-home .premium-assistant-cta {
    min-height: 46px;
    font-size: 13px;
  }

  body.portal-dashboard-home .premium-latest {
    padding: 17px 26px 20px;
  }

  body.portal-dashboard-home .premium-latest .support-latest-list a {
    min-height: 47px;
    padding: 7px 0;
  }
}

/* v257: keep the family and wheelchair visible; crop only the empty left background. */
body.portal-dashboard-home .support-hero > img {
  object-position: 100% 45% !important;
}

/* v258: approved editorial specialists page, implemented from the accepted PNG concept. */
body.specialists-editorial-page {
  --specialists-ink: #0b1b38;
  --specialists-muted: #53617a;
  --specialists-green: #23834d;
  --specialists-line: #dce3e8;
  margin: 0;
  min-width: 0;
  overflow-x: hidden;
  color: var(--specialists-ink);
  background: #ffffff;
  font-family: Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
}

body.portal-with-sidebar.specialists-editorial-page .page-shell.specialists-editorial-shell {
  box-sizing: border-box !important;
  display: block !important;
  width: calc(100vw - clamp(264px, 20.625vw, 330px)) !important;
  max-width: none !important;
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--specialists-ink) !important;
  background: #ffffff !important;
}

.specialists-editorial-topbar {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  height: 110px;
  padding: 0 68px 0 34px;
  border-bottom: 1px solid rgba(220, 227, 232, 0.45);
  background: #ffffff;
}

.specialists-editorial-topnav {
  display: flex;
  align-items: center;
  gap: clamp(24px, 2.25vw, 40px);
  min-width: 0;
}

.specialists-editorial-topnav a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--specialists-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(14px, 1vw, 17px);
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
}

.specialists-editorial-topnav a:hover,
.specialists-editorial-topnav a:focus-visible {
  outline: 0;
  color: var(--specialists-green);
}

.specialists-editorial-topnav svg {
  display: block;
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.specialists-editorial-login {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  min-height: 34px;
  margin: 0;
  padding: 0 0 0 40px;
  border: 0;
  border-left: 1px solid var(--specialists-line);
  color: var(--specialists-ink);
  background: transparent;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 400;
  cursor: pointer;
}

.specialists-editorial-login:hover,
.specialists-editorial-login:focus-visible {
  outline: 0;
  color: var(--specialists-green);
}

.specialists-editorial-login svg {
  display: block;
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.specialists-editorial-content {
  width: 100%;
  background: #ffffff;
}

.specialists-editorial-hero {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 600px) minmax(0, 1fr);
  align-items: start;
  gap: 34px;
  min-height: 460px;
  margin: 0 68px 0 34px;
  padding: 0 0 24px;
  border-bottom: 1px solid var(--specialists-line);
}

.specialists-editorial-intro {
  min-width: 0;
  padding-top: 14px;
}

.specialists-editorial-intro h1 {
  max-width: 650px;
  margin: 0;
  color: var(--specialists-ink);
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(52px, 4vw, 65px);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.035em;
}

.specialists-editorial-intro h1 span {
  display: block;
  white-space: nowrap;
}

.specialists-editorial-intro > p {
  max-width: 600px;
  margin: 20px 0 0;
  color: #1f2737;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(16px, 1.08vw, 18px);
  font-weight: 400;
  line-height: 1.42;
}

.specialists-editorial-actions {
  display: flex;
  align-items: center;
  gap: clamp(32px, 3.4vw, 54px);
  margin-top: 38px;
}

.specialists-editorial-actions a,
.specialists-editorial-featured figcaption > a,
.specialists-editorial-card-link {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  width: max-content;
  color: var(--specialists-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none;
}

.specialists-editorial-actions a {
  padding-bottom: 7px;
  border-bottom: 1px solid currentColor;
}

.specialists-editorial-actions a.is-primary,
.specialists-editorial-featured figcaption > a,
.specialists-editorial-card-link {
  color: var(--specialists-green);
}

.specialists-editorial-actions svg,
.specialists-editorial-featured figcaption > a svg,
.specialists-editorial-card-link svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

.specialists-editorial-actions a:hover svg,
.specialists-editorial-actions a:focus-visible svg,
.specialists-editorial-featured figcaption > a:hover svg,
.specialists-editorial-featured figcaption > a:focus-visible svg,
.specialists-editorial-card:hover .specialists-editorial-card-link svg,
.specialists-editorial-card:focus-visible .specialists-editorial-card-link svg {
  transform: translateX(4px);
}

.specialists-editorial-featured {
  min-width: 0;
  margin: 0;
}

/* v265: keep a small, calm margin above the featured specialist's hair. */
.specialists-editorial-featured > img {
  display: block;
  width: 100%;
  height: 326px;
  object-fit: cover;
  object-position: center 20%;
}

.specialists-editorial-featured figcaption {
  padding: 10px 18px 0 52px;
}

.specialists-editorial-featured h2 {
  margin: 0;
  color: var(--specialists-ink);
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(28px, 2.08vw, 34px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.03em;
  white-space: nowrap;
}

.specialists-editorial-featured figcaption > p {
  margin: 7px 0 0;
  color: var(--specialists-muted);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.3;
}

.specialists-editorial-featured figcaption > a {
  margin-top: 16px;
}

.specialists-editorial-directory {
  box-sizing: border-box;
  padding: 15px 68px 76px 34px;
}

.specialists-editorial-directory > h2 {
  margin: 0 0 18px;
  color: var(--specialists-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 2.6vw, 42px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.specialists-editorial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.specialists-editorial-card {
  box-sizing: border-box;
  display: grid;
  align-content: start;
  grid-template-rows: auto 1fr;
  min-width: 0;
  padding: 0 30px 36px;
  color: var(--specialists-ink);
  text-decoration: none;
}

.specialists-editorial-card:nth-child(3n + 1) {
  padding-left: 0;
}

.specialists-editorial-card:nth-child(3n + 2),
.specialists-editorial-card:nth-child(3n + 3) {
  border-left: 1px solid var(--specialists-line);
}

.specialists-editorial-card:nth-child(n + 4) {
  padding-top: 34px;
  border-top: 1px solid var(--specialists-line);
}

.specialists-editorial-card-photo {
  display: block;
  width: 100%;
  aspect-ratio: 1.94 / 1;
  overflow: hidden;
  background: #f2f5f4;
}

.specialists-editorial-card-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 31%;
  transition: transform 260ms ease;
}

.specialists-editorial-card:hover .specialists-editorial-card-photo img,
.specialists-editorial-card:focus-visible .specialists-editorial-card-photo img {
  transform: scale(1.018);
}

.specialists-editorial-card:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.45);
  outline-offset: 4px;
}

.specialists-editorial-card-copy {
  display: grid;
  align-content: start;
  min-width: 0;
  padding: 17px 11px 0;
}

.specialists-editorial-card-copy strong {
  display: block;
  min-height: 56px;
  color: var(--specialists-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(23px, 1.72vw, 28px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.specialists-editorial-card-copy small {
  display: block;
  margin-top: 8px;
  color: var(--specialists-muted);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  line-height: 1.25;
}

.specialists-editorial-card-link {
  margin-top: 14px;
  font-size: 16px;
}

@media (min-width: 1181px) {
  .specialists-editorial-intro > p span {
    display: block;
    white-space: nowrap;
  }

  .specialists-editorial-grid {
    grid-template-columns: minmax(0, 370px) minmax(0, 416px) minmax(0, 1fr);
  }

  .specialists-editorial-card:nth-child(3n + 1) {
    padding-right: 32px;
    padding-left: 0;
  }

  .specialists-editorial-card:nth-child(3n + 2) {
    padding-right: 32px;
    padding-left: 25px;
  }

  .specialists-editorial-card:nth-child(3n + 3) {
    padding-right: 0;
    padding-left: 33px;
  }

  .specialists-editorial-card-photo {
    height: 174px;
    aspect-ratio: auto;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body.portal-with-sidebar.specialists-editorial-page .page-shell.specialists-editorial-shell {
    width: calc(100vw - 228px) !important;
  }

  .specialists-editorial-topbar {
    height: 82px;
    padding: 0 24px;
  }

  .specialists-editorial-topnav {
    gap: 18px;
  }

  .specialists-editorial-topnav a {
    font-size: 13px;
  }

  .specialists-editorial-topnav .is-optional {
    display: none;
  }

  .specialists-editorial-login {
    padding-left: 22px;
    font-size: 14px;
  }

  .specialists-editorial-hero {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.92fr);
    gap: 26px;
    min-height: 410px;
    margin: 0 24px;
  }

  .specialists-editorial-intro h1 {
    font-size: clamp(43px, 4.5vw, 54px);
  }

  .specialists-editorial-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
    margin-top: 26px;
  }

  .specialists-editorial-featured > img {
    height: 270px;
  }

  .specialists-editorial-featured figcaption {
    padding-left: 24px;
  }

  .specialists-editorial-featured h2 {
    font-size: 27px;
  }

  .specialists-editorial-directory {
    padding-right: 24px;
    padding-left: 24px;
  }

  .specialists-editorial-card {
    padding-right: 18px;
    padding-left: 18px;
  }
}

@media (max-width: 980px) {
  .specialists-editorial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .specialists-editorial-card,
  .specialists-editorial-card:nth-child(3n + 1) {
    padding: 28px 22px 34px;
    border: 0;
    border-top: 1px solid var(--specialists-line);
  }

  .specialists-editorial-card:nth-child(2n + 1) {
    padding-left: 0;
  }

  .specialists-editorial-card:nth-child(2n + 2) {
    border-left: 1px solid var(--specialists-line);
  }
}

@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) {
  body.portal-with-sidebar.specialists-editorial-page {
    padding-left: 0 !important;
  }

  body.portal-with-sidebar.specialists-editorial-page .page-shell.specialists-editorial-shell {
    width: 100% !important;
  }

  .specialists-editorial-topbar {
    height: 68px;
    padding: 0 16px;
  }

  .specialists-editorial-topnav {
    gap: 20px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .specialists-editorial-topnav::-webkit-scrollbar {
    display: none;
  }

  .specialists-editorial-topnav .is-optional {
    display: none;
  }

  .specialists-editorial-login {
    flex: 0 0 auto;
    margin-left: 18px;
    padding-left: 18px;
  }

  .specialists-editorial-hero {
    grid-template-columns: 1fr;
    gap: 34px;
    min-height: 0;
    margin: 0 20px;
    padding: 30px 0 34px;
  }

  .specialists-editorial-intro {
    padding-top: 0;
  }

  .specialists-editorial-intro h1 {
    font-size: clamp(43px, 10vw, 60px);
  }

  .specialists-editorial-intro h1 span {
    white-space: normal;
  }

  .specialists-editorial-intro > p {
    max-width: 680px;
  }

  .specialists-editorial-actions {
    flex-wrap: wrap;
    gap: 22px 34px;
    margin-top: 26px;
  }

  .specialists-editorial-featured {
    width: 100%;
  }

  .specialists-editorial-featured > img {
    height: auto;
    aspect-ratio: 4 / 2.55;
  }

  .specialists-editorial-featured figcaption {
    padding-right: 0;
    padding-left: 0;
  }

  .specialists-editorial-directory {
    padding: 26px 20px 62px;
  }
}

@media (max-width: 620px) {
  .specialists-editorial-topnav a:nth-child(n + 4) {
    display: none;
  }

  .specialists-editorial-login {
    gap: 8px;
    padding-left: 12px;
    font-size: 13px;
  }

  .specialists-editorial-login svg {
    width: 20px;
    height: 20px;
  }

  .specialists-editorial-intro h1 {
    font-size: clamp(39px, 11.5vw, 52px);
  }

  .specialists-editorial-intro > p {
    font-size: 16px;
  }

  .specialists-editorial-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }

  .specialists-editorial-grid {
    grid-template-columns: 1fr;
  }

  .specialists-editorial-card,
  .specialists-editorial-card:nth-child(3n + 1),
  .specialists-editorial-card:nth-child(2n + 1),
  .specialists-editorial-card:nth-child(2n + 2) {
    padding: 28px 0 34px;
    border: 0;
    border-top: 1px solid var(--specialists-line);
  }

  .specialists-editorial-card-copy strong {
    min-height: 0;
  }
}


@media (max-width: 1400px) and (min-width: 1181px) {
  body.portal-dashboard-home .support-home-grid {
    grid-template-columns: minmax(0, 1fr) 300px !important;
  }
}

@media (max-width: 1180px) and (min-width: 901px) {
  body.portal-dashboard-home .support-home-shell {
    grid-template-columns: 228px minmax(0, 1fr);
  }

  body.portal-dashboard-home .support-home-grid {
    grid-template-columns: minmax(0, 1fr) 300px !important;
  }

  body.portal-dashboard-home .support-sidebar {
    padding-right: 18px;
    padding-left: 18px;
  }

  body.portal-dashboard-home .support-brand {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
  }

  body.portal-dashboard-home .support-brand img {
    width: 48px;
    height: 62px;
  }

  body.portal-dashboard-home .support-brand strong {
    font-size: 20px;
  }

  body.portal-dashboard-home .support-nav a {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 10px;
    padding-right: 10px;
    padding-left: 10px;
  }

  body.portal-dashboard-home .support-nav-icon {
    width: 29px;
    height: 29px;
  }

  body.portal-dashboard-home .support-topbar {
    padding-right: 30px;
    padding-left: 30px;
  }

  body.portal-dashboard-home .support-topnav {
    gap: 28px;
  }

  body.portal-dashboard-home .support-hero-copy {
    width: 67%;
    padding-left: 32px;
  }

  body.portal-dashboard-home .support-hero h1 {
    font-size: 48px;
  }

  body.portal-dashboard-home .support-hero p {
    max-width: 360px;
    font-size: 16px;
  }

  body.portal-dashboard-home .support-sections {
    padding-right: 28px;
    padding-left: 28px;
  }

  body.portal-dashboard-home .support-section-highlights {
    gap: 10px;
  }

  body.portal-dashboard-home .support-section-highlight {
    grid-template-columns: 42% minmax(0, 1fr);
  }

  body.portal-dashboard-home .support-section-highlight > span {
    padding-right: 10px;
    padding-left: 10px;
  }

  body.portal-dashboard-home .support-section-highlight strong {
    font-size: 15px;
  }
}

@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) {
  body.portal-dashboard-home .support-home-shell {
    display: block;
  }

  body.portal-dashboard-home .support-sidebar {
    position: relative;
    width: 100%;
    height: auto;
    gap: 12px;
    padding: 16px;
    border-right: 0;
    border-bottom: 1px solid var(--editorial-line);
  }

  body.portal-dashboard-home .support-brand {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    padding: 0;
  }

  body.portal-dashboard-home .support-brand img {
    width: 42px;
    height: 50px;
  }

  body.portal-dashboard-home .support-brand strong {
    font-size: 18px;
  }

  body.portal-dashboard-home .support-brand small {
    font-size: 10px;
  }

  body.portal-dashboard-home .support-nav {
    display: flex;
    gap: 6px;
  }

  body.portal-dashboard-home .support-nav a {
    grid-template-columns: auto;
    min-height: 38px;
    padding: 0 13px;
    font-size: 11px;
  }

  body.portal-dashboard-home .support-main {
    grid-template-rows: auto auto;
  }

  body.portal-dashboard-home .support-topbar {
    min-height: 60px;
    padding: 0 16px;
  }

  body.portal-dashboard-home .support-topnav {
    gap: 16px;
    overflow-x: auto;
  }

  body.portal-dashboard-home .support-topnav a,
  body.portal-dashboard-home .support-topbar .dashboard-login-trigger strong {
    font-size: 11px;
    white-space: nowrap;
  }

  body.portal-dashboard-home .support-home-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  body.portal-dashboard-home .support-home-left,
  body.portal-dashboard-home .support-home-right {
    grid-column: 1;
  }

  body.portal-dashboard-home .support-home-left {
    grid-row: 1;
  }

  body.portal-dashboard-home .support-home-right {
    grid-row: 2;
    min-height: 0;
    border-top: 1px solid var(--editorial-line);
    border-left: 0;
  }

  body.portal-dashboard-home .support-hero,
  body.portal-dashboard-home .support-hero-copy {
    min-height: 500px;
  }

  body.portal-dashboard-home .support-hero-copy {
    width: 100%;
    padding: 32px 22px;
  }

  body.portal-dashboard-home .support-hero h1 {
    font-size: clamp(40px, 12vw, 52px);
  }

  body.portal-dashboard-home .support-hero p {
    font-size: 16px;
  }

  body.portal-dashboard-home .support-hero-actions {
    width: min(270px, 100%);
  }

  body.portal-dashboard-home .support-sections {
    padding: 30px 22px 38px;
  }

  body.portal-dashboard-home .support-sections h2 {
    font-size: 32px;
  }

  body.portal-dashboard-home .support-section-highlights {
    grid-template-columns: 1fr;
  }

  body.portal-dashboard-home .support-section-highlight {
    grid-template-columns: 42% minmax(0, 1fr);
    grid-template-rows: 180px;
    min-height: 180px;
  }

  body.portal-dashboard-home .support-section-highlight > img {
    height: 180px;
  }

  body.portal-dashboard-home .premium-assistant,
  body.portal-dashboard-home .premium-latest {
    padding-right: 22px;
    padding-left: 22px;
  }
}

/* v273: shared light editorial footer for the homepage, specialists, and rehabilitation pages. */
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 {
  grid-column: 1 / -1;
  grid-row: 2;
  min-width: 0;
  color: var(--editorial-ink);
  border-top: 1px solid var(--editorial-line);
  background: #ffffff;
}

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-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
  align-items: end;
  gap: 64px;
  padding: 54px 48px 48px;
}

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 {
  position: relative;
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  column-gap: 18px;
  width: max-content;
  max-width: 100%;
  color: var(--editorial-ink);
  text-decoration: none;
}

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-line {
  grid-row: 1 / span 2;
  display: block;
  width: 3px;
  height: 100%;
  min-height: 92px;
  background: var(--editorial-green);
}

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 strong {
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(38px, 3.15vw, 50px);
  font-weight: 400;
  line-height: 0.88;
  letter-spacing: -0.05em;
}

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 small {
  align-self: end;
  margin-top: 15px;
  color: var(--editorial-muted);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.01em;
}

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-statement {
  display: grid;
  align-content: end;
  justify-items: start;
  gap: 22px;
  max-width: 520px;
}

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-statement p {
  margin: 0;
  color: var(--editorial-ink);
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(25px, 2.1vw, 33px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.035em;
}

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-statement > a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--editorial-green);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

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-statement svg {
  display: block;
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

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-directory {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(240px, 1.15fr);
  gap: 42px;
  padding: 38px 48px 44px;
  border-top: 1px solid var(--editorial-line);
}

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-directory nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

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-directory h2,
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-contact > span {
  margin: 0 0 7px;
  color: var(--editorial-green);
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

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-directory nav a {
  color: var(--editorial-ink);
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.28;
  text-decoration: none;
}

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-directory a:hover,
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-directory a:focus-visible,
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-statement > a:hover,
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-statement > a:focus-visible,
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-bottom a:hover,
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-bottom a:focus-visible {
  outline: 0;
  color: var(--editorial-green);
}

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-contact {
  display: grid;
  align-content: start;
  gap: 15px;
  min-width: 0;
  margin: 0;
  padding-left: 32px;
  border-left: 1px solid var(--editorial-line);
  font-style: normal;
}

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-contact > span {
  margin-bottom: 0;
}

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-contact > a {
  width: max-content;
  max-width: 100%;
  color: var(--editorial-ink);
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(22px, 1.75vw, 28px);
  line-height: 1;
  letter-spacing: -0.025em;
  text-decoration: none;
}

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-contact p {
  max-width: 270px;
  margin: 0;
  color: var(--editorial-muted);
  font-size: 11px;
  font-weight: 430;
  line-height: 1.45;
}

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-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 58px;
  padding: 14px 48px;
  border-top: 1px solid var(--editorial-line);
  background: #f8faf9;
}

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-bottom small,
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-bottom a {
  color: #68758a;
  font-size: 10.5px;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
}

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-bottom > div {
  display: flex;
  align-items: center;
  gap: 26px;
}

@media (max-width: 1180px) and (min-width: 901px) {
  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-lead {
    grid-template-columns: minmax(0, 0.85fr) minmax(300px, 1fr);
    gap: 38px;
    padding: 44px 32px 40px;
  }

  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-directory {
    gap: 24px;
    padding: 32px 32px 38px;
  }

  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-contact {
    padding-left: 22px;
  }

  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-bottom {
    padding-right: 32px;
    padding-left: 32px;
  }
}

@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) {
  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 {
    grid-column: 1;
    grid-row: 3;
  }

  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-lead {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 36px;
    padding: 40px 22px 36px;
  }

  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 strong {
    font-size: 40px;
  }

  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-statement p {
    max-width: 520px;
    font-size: 27px;
  }

  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-directory {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 24px;
    padding: 32px 22px 38px;
  }

  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-contact {
    grid-column: 1 / -1;
    padding: 28px 0 0;
    border-top: 1px solid var(--editorial-line);
    border-left: 0;
  }

  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-bottom {
    align-items: flex-start;
    flex-direction: column;
    padding: 18px 22px;
  }
}

/* v255: use the approved light editorial sidebar on every legacy/internal portal page. */
body.portal-with-sidebar {
  --editorial-ink: #0b1b38;
  --editorial-muted: #516078;
  --editorial-green: #23834d;
  --editorial-green-dark: #1f7746;
  --editorial-line: #dce3e8;
  color: var(--editorial-ink);
  background: #ffffff;
}

@media (min-width: 1101px) {
  body.portal-with-sidebar {
    padding-left: clamp(264px, 20.625vw, 330px) !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar.support-sidebar {
    width: clamp(264px, 20.625vw, 330px) !important;
    padding: 38px 30px 30px !important;
    gap: 34px !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-right: 1px solid var(--editorial-line) !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar .support-brand {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 66px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 18px !important;
    min-width: 0 !important;
    padding: 12px 0 9px !important;
    color: var(--editorial-ink) !important;
    text-align: left !important;
    text-decoration: none !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar .support-brand::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 35px;
    z-index: 1;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #ffffff;
    pointer-events: none;
  }

body.portal-with-sidebar .portal-shared-sidebar .support-brand::after {
    content: "";
    position: absolute;
    top: 30px;
    left: 39px;
    z-index: 2;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #2f8b51;
    box-shadow: 0 0 0 6px #ffffff;
    pointer-events: none;
  }

  body.portal-with-sidebar .portal-shared-sidebar .support-brand img {
    display: block !important;
    width: 66px !important;
    height: 94px !important;
    object-fit: contain !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar .support-brand span {
    display: grid !important;
    gap: 11px !important;
    min-width: 0 !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar .support-brand strong {
    display: block !important;
    max-width: 155px !important;
    color: var(--editorial-ink) !important;
    font-family: "Times New Roman", Times, serif !important;
    font-size: clamp(25px, 1.8vw, 29px) !important;
    font-weight: 700 !important;
    line-height: 0.96 !important;
    letter-spacing: -0.045em !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar .support-brand small {
    display: block !important;
    margin: 0 !important;
    color: var(--editorial-muted) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar .support-nav {
    display: grid !important;
    align-content: start !important;
    gap: 9px !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar .support-nav a {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 66px !important;
    padding: 6px 14px !important;
    border: 1px solid transparent !important;
    border-radius: 11px !important;
    color: var(--editorial-ink) !important;
    background: transparent !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar .support-nav a:hover,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav a:focus-visible {
    outline: 0 !important;
    color: var(--editorial-green-dark) !important;
    background: #f8fbf9 !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar .support-nav a.is-active {
    border-color: #a9cdb9 !important;
    color: var(--editorial-green-dark) !important;
    background: #f8fbf9 !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar .support-nav a > span {
    display: grid !important;
    place-items: center !important;
    width: 40px !important;
    height: 40px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.portal-with-sidebar .portal-shared-sidebar .support-nav-icon {
    display: block !important;
    width: 34px !important;
    height: 34px !important;
    color: currentColor !important;
    filter: none !important;
  }

  body.portal-with-sidebar .page-shell {
    width: min(calc(100vw - clamp(316px, 24vw, 410px)), 1260px) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

/* v288: source-backed internal course profiles. */
body.education-course-page {
  --course-ink: #0b1b38;
  --course-muted: #53627a;
  --course-green: #23834d;
  --course-green-dark: #1d7043;
  --course-line: #dce3e8;
  margin: 0;
  min-width: 0;
  overflow-x: hidden;
  color: var(--course-ink);
  background: #ffffff;
  font-family: Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
}

body.portal-with-sidebar.education-course-page .page-shell.course-profile-shell {
  box-sizing: border-box !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 100vh !important;
  margin: -82px 0 0 !important;
  padding: 0 48px 76px !important;
  color: var(--course-ink) !important;
  background: #ffffff !important;
}

body.portal-with-sidebar.education-course-page .portal-shared-topbar {
  position: relative;
  z-index: 20;
  border-bottom-color: transparent;
  background: transparent;
}

.course-profile-loading,
.course-profile-missing {
  padding-top: 64px;
}

.course-profile-heading {
  box-sizing: border-box;
  max-width: 1120px;
  padding-top: 48px;
}

.course-profile-back {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--course-green);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

.course-profile-back svg,
.course-profile-instructor em svg,
.course-profile-other svg,
.course-profile-missing svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.course-profile-heading h1,
.course-profile-overview h2,
.course-profile-about h2,
.course-profile-facts h2,
.course-profile-format h2,
.course-profile-participation h2,
.course-profile-other h2,
.course-profile-missing h1 {
  color: var(--course-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -0.045em;
}

.course-profile-heading h1 {
  max-width: 1080px;
  margin: 24px 0 0;
  font-size: clamp(52px, 4.7vw, 74px);
  line-height: 0.96;
}

.course-profile-heading > p {
  max-width: 970px;
  margin: 25px 0 0;
  color: var(--course-muted);
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.55;
}

.course-profile-overview {
  display: grid;
  grid-template-columns: minmax(0, 58%) minmax(330px, 1fr);
  gap: clamp(42px, 4vw, 66px);
  min-width: 0;
  margin-top: 34px;
  padding-bottom: 44px;
  border-bottom: 1px solid var(--course-line);
}

.course-profile-media,
.course-profile-program {
  min-width: 0;
}

.course-profile-media > img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #eceeed;
}

.course-profile-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 15px;
  color: var(--course-ink);
  font-size: 14px;
  font-weight: 550;
}

.course-profile-meta span + span::before {
  content: "·";
  margin: 0 12px;
  color: var(--course-green);
}

.course-profile-action {
  min-width: 190px;
  min-height: 48px;
  margin-top: 23px;
  padding: 0 25px;
  border: 1px solid var(--course-green);
  border-radius: 0;
  color: var(--course-green);
  background: #ffffff;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
}

.course-profile-action:hover,
.course-profile-action:focus-visible {
  outline: 0;
  color: #ffffff;
  background: var(--course-green);
}

.course-profile-action.is-disabled {
  border-color: #aeb8c3;
  color: #778397;
  background: #f7f8f8;
  cursor: default;
}

.course-profile-program {
  align-self: start;
  padding-top: 24px;
}

.course-profile-program h2,
.course-profile-about h2,
.course-profile-facts h2,
.course-profile-format h2,
.course-profile-participation h2,
.course-profile-other h2 {
  margin: 0;
  font-size: clamp(34px, 2.7vw, 43px);
  line-height: 1;
}

.course-profile-program ol {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.course-profile-program li {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  min-height: 64px;
  padding: 18px 0;
  border-bottom: 1px solid var(--course-line);
}

.course-profile-program li span {
  color: var(--course-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 700;
}

.course-profile-program li strong {
  color: var(--course-ink);
  font-size: 14px;
  font-weight: 560;
  line-height: 1.45;
}

.course-profile-about {
  padding: 43px 0 45px;
  border-bottom: 1px solid var(--course-line);
}

.course-profile-about-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(44px, 6vw, 88px);
  margin-top: 27px;
}

.course-profile-about h3 {
  margin: 0 0 13px;
  color: var(--course-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.course-profile-about ul,
.course-profile-facts ul,
.course-profile-format ul,
.course-profile-conditions ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0 0 0 18px;
  color: var(--course-muted);
  font-size: 14px;
  line-height: 1.55;
}

.course-profile-about li::marker,
.course-profile-facts li::marker,
.course-profile-format li::marker,
.course-profile-conditions li::marker {
  color: var(--course-green);
}

.course-profile-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  border-bottom: 1px solid var(--course-line);
}

.course-profile-facts section {
  min-width: 0;
  padding: 42px 44px 44px 0;
}

.course-profile-facts section + section {
  padding-right: 0;
  padding-left: 44px;
  border-left: 1px solid var(--course-line);
}

.course-profile-facts ul,
.course-profile-format ul {
  margin-top: 24px;
}

.course-profile-format {
  padding: 40px 0 42px;
  border-bottom: 1px solid var(--course-line);
}

.course-profile-participation {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(320px, 0.84fr);
  min-width: 0;
  border-bottom: 1px solid var(--course-line);
}

.course-profile-instructor,
.course-profile-conditions {
  min-width: 0;
  padding: 43px 44px 46px 0;
}

.course-profile-conditions {
  padding-right: 0;
  padding-left: 44px;
  border-left: 1px solid var(--course-line);
}

.course-profile-instructor > a {
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  margin-top: 26px;
  color: inherit;
  text-decoration: none;
}

.course-profile-instructor img {
  display: block;
  width: 176px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
  background: #eef1ef;
}

.course-profile-instructor span {
  display: grid;
  gap: 15px;
  padding-top: 4px;
}

.course-profile-instructor strong {
  color: var(--course-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(25px, 2vw, 32px);
  font-weight: 400;
  line-height: 1.05;
}

.course-profile-instructor small {
  max-width: 540px;
  color: var(--course-muted);
  font-size: 13px;
  line-height: 1.55;
}

.course-profile-instructor em {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  color: var(--course-green);
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
}

.course-profile-conditions ul,
.course-profile-conditions > p {
  margin-top: 26px;
}

.course-profile-conditions > p {
  max-width: 470px;
  color: var(--course-muted);
  font-size: 14px;
  line-height: 1.55;
}

.course-profile-action--secondary {
  margin-top: 30px;
}

.course-profile-other {
  padding-top: 42px;
}

.course-profile-other > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--course-line);
}

.course-profile-other > header > a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--course-green);
  font-size: 12px;
  font-weight: 650;
}

.course-profile-other > div > a {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) minmax(170px, auto) 24px;
  gap: 20px;
  align-items: center;
  min-height: 88px;
  border-bottom: 1px solid var(--course-line);
  color: var(--course-ink);
  text-decoration: none;
}

.course-profile-other > div > a > span {
  color: var(--course-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 700;
}

.course-profile-other > div > a > strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(21px, 1.8vw, 28px);
  font-weight: 400;
  line-height: 1.08;
}

.course-profile-other > div > a > small {
  color: var(--course-muted);
  font-size: 12px;
  text-align: right;
}

.course-profile-other > div > a > svg {
  color: var(--course-green);
}

.course-profile-other a:hover,
.course-profile-other a:focus-visible,
.course-profile-instructor > a:hover,
.course-profile-instructor > a:focus-visible,
.course-profile-back:hover,
.course-profile-back:focus-visible {
  outline: 0;
  color: var(--course-green-dark);
}

@media (min-width: 1500px) {
  body.portal-with-sidebar.education-course-page .page-shell.course-profile-shell {
    padding-right: 64px !important;
    padding-left: 64px !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body.portal-with-sidebar.education-course-page .page-shell.course-profile-shell {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }

  .course-profile-overview {
    grid-template-columns: minmax(0, 54%) minmax(300px, 1fr);
    gap: 34px;
  }

  .course-profile-instructor,
  .course-profile-conditions,
  .course-profile-facts section {
    padding-right: 28px;
  }

  .course-profile-conditions,
  .course-profile-facts section + section {
    padding-right: 0;
    padding-left: 28px;
  }
}

@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) {
  body.portal-with-sidebar.education-course-page .page-shell.course-profile-shell {
    width: 100% !important;
    margin: 0 !important;
    padding: 38px 16px 58px !important;
  }

  body.portal-with-sidebar.education-course-page .portal-shared-topbar {
    border-bottom-color: var(--course-line);
  }

  .course-profile-heading {
    padding-top: 0;
  }

  .course-profile-heading h1 {
    margin-top: 20px;
    font-size: clamp(41px, 12.2vw, 54px);
    line-height: 0.98;
  }

  .course-profile-heading > p {
    margin-top: 20px;
    font-size: 14px;
  }

  .course-profile-overview {
    grid-template-columns: 1fr;
    gap: 42px;
    margin-top: 28px;
  }

  .course-profile-program {
    padding-top: 0;
  }

  .course-profile-program h2,
  .course-profile-about h2,
  .course-profile-facts h2,
  .course-profile-format h2,
  .course-profile-participation h2,
  .course-profile-other h2 {
    font-size: 36px;
  }

  .course-profile-about-grid,
  .course-profile-facts,
  .course-profile-participation {
    grid-template-columns: 1fr;
  }

  .course-profile-about-grid {
    gap: 30px;
  }

  .course-profile-facts section,
  .course-profile-facts section + section,
  .course-profile-instructor,
  .course-profile-conditions {
    padding: 34px 0 36px;
    border-left: 0;
  }

  .course-profile-facts section + section,
  .course-profile-conditions {
    border-top: 1px solid var(--course-line);
  }

  .course-profile-instructor > a {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 18px;
  }

  .course-profile-instructor img {
    width: 112px;
  }

  .course-profile-instructor strong {
    font-size: 24px;
  }

  .course-profile-instructor small {
    font-size: 12px;
  }

  .course-profile-other > header {
    align-items: start;
  }

  .course-profile-other > div > a {
    grid-template-columns: 36px minmax(0, 1fr) 22px;
    gap: 10px;
    min-height: 0;
    padding: 20px 0;
  }

  .course-profile-other > div > a > small {
    grid-column: 2;
    text-align: left;
  }

  .course-profile-other > div > a > svg {
    grid-column: 3;
    grid-row: 1 / span 2;
  }
}

@media (max-width: 470px) {
  .course-profile-action {
    width: 100%;
  }

  .course-profile-meta {
    font-size: 12px;
  }

  .course-profile-instructor > a {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .course-profile-instructor img {
    width: 92px;
  }

  .course-profile-instructor em {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1100px) {
  body.portal-with-sidebar .portal-shared-sidebar .support-nav-icon {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    color: currentColor !important;
    filter: none !important;
  }
}

/* v256: one sidebar geometry and typography system for Next homepage and all internal pages. */
@media (min-width: 1181px) {
  body.portal-with-sidebar {
    padding-left: clamp(264px, 20.625vw, 330px) !important;
  }

  body.portal-dashboard-home .support-sidebar,
  body.portal-with-sidebar .portal-shared-sidebar.support-sidebar {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    align-content: start !important;
    width: clamp(264px, 20.625vw, 330px) !important;
    height: 100vh !important;
    padding: 38px 30px 30px !important;
    gap: 34px !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-right: 1px solid #dce3e8 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body.portal-with-sidebar {
    padding-left: 228px !important;
  }

  body.portal-dashboard-home .support-sidebar,
  body.portal-with-sidebar .portal-shared-sidebar.support-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    align-content: start !important;
    width: 228px !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 38px 18px 30px !important;
    gap: 34px !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-right: 1px solid #dce3e8 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  body.portal-dashboard-home .support-brand,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: start !important;
    justify-items: start !important;
    gap: 12px !important;
    min-width: 0 !important;
    padding: 12px 0 9px !important;
    text-align: left !important;
  }

  body.portal-dashboard-home .support-brand img,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand img {
    display: block !important;
    width: 48px !important;
    height: 62px !important;
    object-fit: contain !important;
  }

  body.portal-dashboard-home .support-brand span,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand span {
    display: grid !important;
    gap: 11px !important;
    min-width: 0 !important;
  }

  body.portal-dashboard-home .support-brand strong,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand strong {
    display: block !important;
    max-width: 155px !important;
    color: #0b1b38 !important;
    font-family: "Times New Roman", Times, serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 0.96 !important;
    letter-spacing: -0.045em !important;
  }

  body.portal-dashboard-home .support-brand small,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand small {
    display: block !important;
    margin: 0 !important;
    color: #516078 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
  }

  body.portal-dashboard-home .support-nav,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav {
    display: grid !important;
    align-content: start !important;
    gap: 9px !important;
    min-width: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.portal-dashboard-home .support-nav a,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav a {
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    place-items: initial !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 66px !important;
    padding: 6px 10px !important;
    border: 1px solid transparent !important;
    border-radius: 11px !important;
    color: #0b1b38 !important;
    background: transparent !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.portal-dashboard-home .support-nav a.is-active,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav a.is-active {
    border-color: #a9cdb9 !important;
    color: #1f7746 !important;
    background: #f8fbf9 !important;
  }

  body.portal-dashboard-home .support-nav a > span,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav a > span {
    display: grid !important;
    place-items: center !important;
    width: 32px !important;
    height: 32px !important;
  }

  body.portal-dashboard-home .support-nav-icon,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav-icon {
    display: block !important;
    width: 29px !important;
    height: 29px !important;
    color: currentColor !important;
    filter: none !important;
  }

  body.portal-with-sidebar .page-shell {
    width: min(calc(100vw - 268px), 1040px) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-top: 24px !important;
  }
}

@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) {
  body.portal-dashboard-home .support-sidebar,
  body.portal-with-sidebar .portal-shared-sidebar.support-sidebar {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 16px !important;
    gap: 12px !important;
    overflow: visible !important;
    border: 0 !important;
    border-bottom: 1px solid #dce3e8 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  body.portal-dashboard-home .support-brand,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 !important;
  }

  body.portal-dashboard-home .support-brand img,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand img {
    width: 42px !important;
    height: 50px !important;
  }

  body.portal-dashboard-home .support-brand span,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand span {
    display: grid !important;
  }

  body.portal-dashboard-home .support-brand strong,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand strong {
    display: block !important;
    font-size: 18px !important;
  }

  body.portal-dashboard-home .support-brand small,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand small {
    display: block !important;
    font-size: 10px !important;
  }

  body.portal-dashboard-home .support-nav,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav {
    display: flex !important;
    gap: 6px !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  body.portal-dashboard-home .support-nav a,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav a {
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: 28px max-content !important;
    align-items: center !important;
    gap: 7px !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 38px !important;
    padding: 0 13px 0 8px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }

  body.portal-dashboard-home .support-nav a > span,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav a > span {
    display: grid !important;
    place-items: center !important;
    width: 28px !important;
    height: 28px !important;
  }

  body.portal-dashboard-home .support-nav-icon,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav-icon {
    width: 26px !important;
    height: 26px !important;
  }
}

@media (min-width: 901px) {
  body.portal-dashboard-home .support-brand::before,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand::before {
    content: "" !important;
    position: absolute !important;
    top: -2px !important;
    left: 35px !important;
    z-index: 1 !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    pointer-events: none !important;
  }

  body.portal-dashboard-home .support-brand::after,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand::after {
    content: "" !important;
    position: absolute !important;
    top: 18px !important;
    left: 39px !important;
    z-index: 2 !important;
    width: 17px !important;
    height: 17px !important;
    border-radius: 50% !important;
    background: #2f8b51 !important;
    box-shadow: 0 0 0 6px #ffffff !important;
    pointer-events: none !important;
  }
}

/* v291: selected professional specialist pairs, with the random featured profile preserved above. */
body.portal-with-sidebar.specialists-editorial-page .page-shell.specialists-editorial-shell {
  width: auto !important;
}

body.specialists-editorial-page .specialists-editorial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  border-top: 1px solid var(--specialists-line);
}

body.specialists-editorial-page .specialists-editorial-card,
body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 1),
body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 2),
body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 3),
body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 1),
body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 2),
body.specialists-editorial-page .specialists-editorial-card:nth-child(n + 4) {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  grid-template-rows: auto;
  gap: 26px;
  align-content: stretch;
  align-items: stretch;
  min-width: 0;
  min-height: 260px;
  padding: 24px 30px 24px 0;
  border: 0;
  border-bottom: 1px solid var(--specialists-line);
}

body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 2) {
  padding-right: 0;
  padding-left: 30px;
  border-left: 1px solid var(--specialists-line);
}

body.specialists-editorial-page .specialists-editorial-card-photo {
  width: 176px;
  height: 212px;
  aspect-ratio: auto;
  align-self: center;
}

body.specialists-editorial-page .specialists-editorial-card-photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

body.specialists-editorial-page .specialists-editorial-card-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 13px 0 12px;
}

body.specialists-editorial-page .specialists-editorial-card-copy strong {
  min-height: 0;
  font-size: clamp(25px, 1.82vw, 30px);
  line-height: 1.02;
}

body.specialists-editorial-page .specialists-editorial-card-copy small {
  margin-top: 13px;
  font-family: Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.4;
}

body.specialists-editorial-page .specialists-editorial-card-link {
  margin-top: auto;
  padding-top: 24px;
  font-size: 16px;
}

@media (min-width: 901px) and (max-width: 1180px) {
  body.specialists-editorial-page .specialists-editorial-card,
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 1),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 2),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 3),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 1),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 2),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(n + 4) {
    grid-template-columns: 138px minmax(0, 1fr);
    gap: 20px;
    min-height: 228px;
    padding-top: 22px;
    padding-bottom: 22px;
  }

  body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 1) {
    padding-right: 22px;
  }

  body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 2) {
    padding-left: 22px;
  }

  body.specialists-editorial-page .specialists-editorial-card-photo {
    width: 138px;
    height: 178px;
  }

  body.specialists-editorial-page .specialists-editorial-card-copy strong {
    font-size: 24px;
  }
}

@media (max-width: 720px) {
  body.specialists-editorial-page .specialists-editorial-grid {
    grid-template-columns: 1fr;
  }

  body.specialists-editorial-page .specialists-editorial-card,
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 1),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 2),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 3),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 1),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 2),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(n + 4) {
    grid-template-columns: 128px minmax(0, 1fr);
    gap: 20px;
    min-height: 202px;
    padding: 22px 0;
    border: 0;
    border-bottom: 1px solid var(--specialists-line);
  }

  body.specialists-editorial-page .specialists-editorial-card-photo {
    width: 128px;
    height: 158px;
  }

  body.specialists-editorial-page .specialists-editorial-card-copy {
    padding: 5px 0;
  }

  body.specialists-editorial-page .specialists-editorial-card-copy strong {
    font-size: 24px;
  }

  body.specialists-editorial-page .specialists-editorial-card-link {
    padding-top: 16px;
    font-size: 15px;
  }
}

@media (max-width: 420px) {
  body.specialists-editorial-page .specialists-editorial-card,
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 1),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 2),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 3),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 1),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 2),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(n + 4) {
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 16px;
    min-height: 178px;
  }

  body.specialists-editorial-page .specialists-editorial-card-photo {
    width: 104px;
    height: 134px;
  }

  body.specialists-editorial-page .specialists-editorial-card-copy strong {
    font-size: 21px;
  }

  body.specialists-editorial-page .specialists-editorial-card-copy small {
    margin-top: 9px;
    font-size: 13px;
  }

  body.specialists-editorial-page .specialists-editorial-card-link {
    gap: 7px;
    font-size: 13px;
  }
}

@media (max-height: 850px) and (min-width: 901px) {
  body.portal-dashboard-home .support-sidebar,
  body.portal-with-sidebar .portal-shared-sidebar.support-sidebar {
    gap: 18px !important;
    padding-top: 20px !important;
  }

  body.portal-dashboard-home .support-brand,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand {
    grid-template-columns: 54px minmax(0, 1fr) !important;
    padding-top: 0 !important;
  }

  body.portal-dashboard-home .support-brand img,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand img {
    width: 54px !important;
    height: 68px !important;
  }

  body.portal-dashboard-home .support-brand::before,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand::before {
    left: 23px !important;
  }

  body.portal-dashboard-home .support-brand strong,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand strong {
    font-size: 22px !important;
  }

  body.portal-dashboard-home .support-brand small,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand small {
    font-size: 12px !important;
  }

  body.portal-dashboard-home .support-nav,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav {
    gap: 3px !important;
  }

  body.portal-dashboard-home .support-nav a,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav a {
    min-height: 48px !important;
    font-size: 13px !important;
  }
}

/* v259: keep the preferred large editorial brand lockup identical on desktop pages. */
@media (min-width: 1181px) {
  body.portal-dashboard-home .support-brand,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 66px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 18px !important;
    min-width: 0 !important;
    padding: 12px 0 9px !important;
    color: #0b1b38 !important;
    text-align: left !important;
    text-decoration: none !important;
  }

  body.portal-dashboard-home .support-brand img,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand img {
    display: block !important;
    width: 66px !important;
    height: 94px !important;
    object-fit: contain !important;
  }

  body.portal-dashboard-home .support-brand span,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand span {
    display: grid !important;
    gap: 11px !important;
    min-width: 0 !important;
  }

  body.portal-dashboard-home .support-brand strong,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand strong {
    display: block !important;
    max-width: 155px !important;
    color: #0b1b38 !important;
    font-family: "Times New Roman", Times, serif !important;
    font-size: clamp(25px, 1.8vw, 29px) !important;
    font-weight: 700 !important;
    line-height: 0.96 !important;
    letter-spacing: -0.045em !important;
  }

  body.portal-dashboard-home .support-brand small,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand small {
    display: block !important;
    margin: 0 !important;
    color: #516078 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
  }

  body.portal-dashboard-home .support-brand::before,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand::before {
    top: 10px !important;
    left: 35px !important;
  }

  body.portal-dashboard-home .support-brand::after,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand::after {
    top: 30px !important;
    left: 39px !important;
  }
}

/* v260: preserve every specialist's full head; crop portrait overflow only below. */
.specialists-editorial-card-photo img {
  object-position: center top;
  transform-origin: center top;
}

/* v261: editorial homepage news carousel with three quiet pagination dots. */
body.portal-dashboard-home .support-hero-carousel {
  isolation: isolate;
}

body.portal-dashboard-home .support-hero-carousel::after {
  content: none;
}

body.portal-dashboard-home .support-hero-slides,
body.portal-dashboard-home .support-hero-slide {
  position: absolute;
  inset: 0;
}

body.portal-dashboard-home .support-hero-slide {
  z-index: 0;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 560ms ease, visibility 560ms step-end;
}

body.portal-dashboard-home .support-hero-slide.is-active {
  z-index: 1;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 560ms ease, visibility 0ms step-start;
}

body.portal-dashboard-home .support-hero-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, #ffffff 0%, #ffffff 36%, rgba(255, 255, 255, 0.98) 47%, rgba(255, 255, 255, 0.78) 56%, rgba(255, 255, 255, 0.12) 68%, rgba(255, 255, 255, 0) 75%);
}

body.portal-dashboard-home .support-hero-slide > img {
  position: absolute;
  inset: 0 0 0 auto;
  display: block;
  width: 56%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.82) contrast(0.95) brightness(1.04);
}

body.portal-dashboard-home .support-hero-image-link {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: 2;
  display: block;
  width: 56%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

body.portal-dashboard-home .support-hero-image-link:focus-visible {
  outline: 2px solid #23834d;
  outline-offset: -5px;
}

body.portal-dashboard-home .support-hero-slide-image--family {
  object-position: 100% 45%;
}

body.portal-dashboard-home .support-hero-slide-image--webinars,
body.portal-dashboard-home .support-hero-slide-image--podcasts,
body.portal-dashboard-home .support-hero-slide-image--library {
  object-position: center;
}

body.portal-dashboard-home .support-hero-slide .support-hero-copy {
  position: relative;
  z-index: 2;
}

body.portal-dashboard-home .support-hero-story-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  max-width: 100%;
  padding: 0 0 6px;
  border-bottom: 1px solid #23834d;
  color: #23834d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none;
}

body.portal-dashboard-home .support-hero-story-link svg {
  display: block;
  flex: 0 0 auto;
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

body.portal-dashboard-home .support-hero-story-link:hover svg,
body.portal-dashboard-home .support-hero-story-link:focus-visible svg {
  transform: translateX(4px);
}

body.portal-dashboard-home .support-hero-story-link:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.35);
  outline-offset: 5px;
}

body.portal-dashboard-home .support-hero-pagination {
  position: absolute;
  bottom: 24px;
  left: 50%;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 11px;
  transform: translateX(-50%);
}

body.portal-dashboard-home .support-hero-pagination button {
  box-sizing: border-box;
  display: block;
  width: 9px;
  height: 9px;
  margin: 0;
  padding: 0;
  border: 1px solid #718078;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.42);
  cursor: pointer;
  transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

body.portal-dashboard-home .support-hero-pagination button.is-active {
  border-color: #23834d;
  background: #23834d;
  transform: scale(1.2);
}

body.portal-dashboard-home .support-hero-pagination button:focus-visible {
  outline: 2px solid #23834d;
  outline-offset: 4px;
}

@media (max-height: 850px) and (min-width: 901px) {
  body.portal-dashboard-home .support-hero-story-link {
    font-size: 14px;
  }

  body.portal-dashboard-home .support-hero-pagination {
    bottom: 17px;
  }
}

@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) {
  body.portal-dashboard-home .support-hero-slides {
    position: relative;
    inset: auto;
    min-height: 500px;
  }

  body.portal-dashboard-home .support-hero-slide {
    display: none;
  }

  body.portal-dashboard-home .support-hero-slide.is-active {
    position: relative;
    inset: auto;
    display: block;
    min-height: 500px;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.portal-dashboard-home .support-hero-slide.is-active .support-hero-copy {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.portal-dashboard-home .support-hero-slide.is-active > img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.portal-dashboard-home .support-hero-slide > img {
    inset: auto 0 0;
    width: 100%;
    height: 58%;
  }

  body.portal-dashboard-home .support-hero-image-link {
    inset: auto 0 0;
    width: 100%;
    height: 58%;
  }

  body.portal-dashboard-home .support-hero-slide::after {
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 46%, rgba(255, 255, 255, 0.94) 57%, rgba(255, 255, 255, 0) 76%);
  }

  body.portal-dashboard-home .support-hero-story-link {
    font-size: 15px;
  }

  body.portal-dashboard-home .support-hero-pagination {
    bottom: 17px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-dashboard-home .support-hero-slide,
  body.portal-dashboard-home .support-hero-image-link,
  body.portal-dashboard-home .support-hero-story-link svg,
  body.portal-dashboard-home .support-hero-pagination button {
    transition: none;
  }
}

/* v283: editorial podcast archive and working episode player. */
body.podcasts-editorial-page {
  --podcasts-ink: #0b1b38;
  --podcasts-muted: #53627a;
  --podcasts-green: #23834d;
  --podcasts-line: #dce3e8;
  color: var(--podcasts-ink);
  background: #ffffff;
}

body.portal-with-sidebar.podcasts-editorial-page {
  background: #ffffff;
}

body.portal-with-sidebar.podcasts-editorial-page .page-shell.podcasts-editorial-shell {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: clamp(44px, 4.2vw, 72px) clamp(34px, 5vw, 84px) clamp(72px, 7vw, 120px);
  background: #ffffff;
}

.podcasts-editorial-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 48px;
  max-width: 1440px;
  margin: 0 auto clamp(42px, 4vw, 64px);
  padding-bottom: clamp(28px, 2.5vw, 42px);
  border-bottom: 1px solid var(--podcasts-line);
}

.podcasts-editorial-heading > div {
  min-width: 0;
}

.podcasts-editorial-heading h1 {
  margin: 0;
  color: var(--podcasts-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(58px, 5vw, 86px);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.045em;
}

.podcasts-editorial-heading p {
  max-width: 760px;
  margin: 24px 0 0;
  color: var(--podcasts-muted);
  font-size: clamp(18px, 1.45vw, 24px);
  font-weight: 400;
  line-height: 1.42;
}

.podcasts-heading-link {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 12px;
  padding: 0 0 7px;
  border-bottom: 1px solid var(--podcasts-green);
  color: var(--podcasts-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.1;
  text-decoration: none;
}

.podcasts-heading-link svg,
.podcasts-row-arrow svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

.podcasts-heading-link:hover svg,
.podcasts-heading-link:focus-visible svg,
.podcasts-episode-button:hover .podcasts-row-arrow svg,
.podcasts-episode-button:focus-visible .podcasts-row-arrow svg {
  transform: translateX(4px);
}

.podcasts-heading-link:focus-visible,
.podcasts-episode-button:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.35);
  outline-offset: 6px;
}

.podcasts-featured {
  display: grid;
  grid-template-columns: minmax(0, 1.68fr) minmax(320px, 0.72fr);
  gap: clamp(38px, 4.2vw, 72px);
  align-items: start;
  max-width: 1440px;
  margin: 0 auto clamp(76px, 7vw, 118px);
}

.podcasts-player {
  position: relative;
  min-width: 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #101614;
}

.podcasts-player iframe {
  position: absolute;
  inset: 0;
  display: none;
  width: 100%;
  height: 100%;
  border: 0;
}

.podcasts-player.is-playing iframe {
  display: block;
}

.podcasts-player-poster {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  color: #ffffff;
  background: #101614;
  box-shadow: none;
  cursor: pointer;
}

.podcasts-player.is-playing .podcasts-player-poster {
  display: none;
}

.podcasts-player-poster::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(8, 18, 31, 0.18);
  pointer-events: none;
}

.podcasts-player-poster > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.88) contrast(0.98) brightness(0.9);
  transition: filter 220ms ease, transform 320ms ease;
}

.podcasts-player-poster > span {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: clamp(66px, 6vw, 92px);
  height: clamp(66px, 6vw, 92px);
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: 50%;
  background: rgba(11, 27, 56, 0.56);
  backdrop-filter: blur(7px);
  transition: background-color 180ms ease, transform 180ms ease;
}

.podcasts-player-poster > span svg {
  width: 36%;
  height: 36%;
  fill: currentColor;
}

.podcasts-player-poster > strong {
  position: absolute;
  right: 24px;
  bottom: 20px;
  z-index: 2;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}

.podcasts-player-poster:hover > img,
.podcasts-player-poster:focus-visible > img {
  filter: saturate(0.98) contrast(1) brightness(0.94);
  transform: scale(1.012);
}

.podcasts-player-poster:hover > span,
.podcasts-player-poster:focus-visible > span {
  background: rgba(35, 131, 77, 0.78);
  transform: scale(1.05);
}

.podcasts-player-poster:focus-visible {
  outline: 3px solid rgba(35, 131, 77, 0.75);
  outline-offset: -7px;
}

.podcasts-featured-copy {
  min-width: 0;
  padding-top: 10px;
}

.podcasts-featured-copy > p {
  margin: 0 0 18px;
  color: var(--podcasts-muted);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
}

.podcasts-featured-copy h2 {
  margin: 0;
  color: var(--podcasts-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(35px, 3vw, 54px);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -0.035em;
}

.podcasts-featured-copy > time {
  display: block;
  margin-top: 22px;
  color: var(--podcasts-muted);
  font-size: 15px;
  line-height: 1.3;
}

.podcasts-featured-copy dl {
  display: grid;
  gap: 22px;
  margin: 30px 0 0;
  padding-top: 28px;
  border-top: 1px solid var(--podcasts-line);
}

.podcasts-featured-copy dl div {
  display: grid;
  gap: 5px;
}

.podcasts-featured-copy dt {
  color: var(--podcasts-muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
}

.podcasts-featured-copy dd {
  margin: 0;
  color: var(--podcasts-ink);
  font-size: 16px;
  line-height: 1.45;
}

.podcasts-episodes {
  max-width: 1440px;
  margin: 0 auto;
}

.podcasts-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--podcasts-line);
}

.podcasts-section-heading h2 {
  margin: 0;
  color: var(--podcasts-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 3.6vw, 62px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.04em;
}

.podcasts-section-heading span {
  padding-bottom: 5px;
  color: var(--podcasts-muted);
  font-size: 14px;
  line-height: 1;
}

.podcasts-episode-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.podcasts-episode-list > li {
  border-bottom: 1px solid var(--podcasts-line);
  transition: border-color 160ms ease;
}

.podcasts-episode-list > li.is-active {
  border-bottom-color: rgba(35, 131, 77, 0.42);
}

.podcasts-episode-button {
  display: grid;
  grid-template-columns: 72px minmax(180px, 270px) minmax(0, 1fr) 34px;
  align-items: center;
  gap: clamp(24px, 3vw, 48px);
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: clamp(25px, 2.3vw, 38px) 0;
  border: 0;
  border-radius: 0;
  color: var(--podcasts-ink);
  background: #ffffff;
  box-shadow: none;
  cursor: pointer;
  text-align: left;
}

.podcasts-episode-number {
  color: var(--podcasts-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(36px, 3vw, 50px);
  font-weight: 400;
  line-height: 1;
  transition: color 160ms ease;
}

.podcasts-episode-image {
  position: relative;
  display: block;
  min-width: 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #eef2f0;
}

.podcasts-episode-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.88) contrast(0.98);
  transition: filter 180ms ease, transform 260ms ease;
}

.podcasts-play {
  position: absolute;
  right: 14px;
  bottom: 14px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, 0.86);
  border-radius: 50%;
  color: #ffffff;
  background: rgba(11, 27, 56, 0.7);
  backdrop-filter: blur(6px);
}

.podcasts-play svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
  stroke: none;
}

.podcasts-episode-copy {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.podcasts-episode-copy time {
  color: var(--podcasts-muted);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
}

.podcasts-episode-copy strong {
  max-width: 760px;
  color: inherit;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(25px, 2.15vw, 38px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.025em;
}

.podcasts-row-arrow {
  display: grid;
  place-items: center;
  color: var(--podcasts-green);
}

.podcasts-episode-list > li.is-active .podcasts-episode-number,
.podcasts-episode-list > li.is-active .podcasts-episode-copy strong {
  color: var(--podcasts-green);
}

.podcasts-episode-button:hover .podcasts-episode-image img,
.podcasts-episode-button:focus-visible .podcasts-episode-image img {
  filter: saturate(1) contrast(1);
  transform: scale(1.018);
}

@media (max-width: 1180px) {
  body.portal-with-sidebar.podcasts-editorial-page .page-shell.podcasts-editorial-shell {
    padding-right: 42px;
    padding-left: 42px;
  }

  .podcasts-featured {
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.8fr);
    gap: 38px;
  }

  .podcasts-episode-button {
    grid-template-columns: 58px minmax(160px, 220px) minmax(0, 1fr) 28px;
    gap: 26px;
  }
}

@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) {
  body.portal-with-sidebar.podcasts-editorial-page .page-shell.podcasts-editorial-shell {
    width: 100%;
    padding: 36px 24px 76px;
  }

  .podcasts-editorial-heading {
    align-items: start;
    margin-bottom: 36px;
  }

  .podcasts-featured {
    grid-template-columns: 1fr;
    margin-bottom: 72px;
  }

  .podcasts-featured-copy {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.65fr);
    column-gap: 36px;
  }

  .podcasts-featured-copy > p,
  .podcasts-featured-copy h2,
  .podcasts-featured-copy > time {
    grid-column: 1;
  }

  .podcasts-featured-copy dl {
    grid-column: 2;
    grid-row: 1 / span 3;
    margin: 0;
    padding: 0 0 0 28px;
    border-top: 0;
    border-left: 1px solid var(--podcasts-line);
  }

  .podcasts-episode-button {
    grid-template-columns: 50px minmax(150px, 200px) minmax(0, 1fr) 24px;
    gap: 22px;
  }
}

@media (max-width: 640px) {
  body.portal-with-sidebar.podcasts-editorial-page .page-shell.podcasts-editorial-shell {
    padding: 28px 16px 64px;
  }

  .podcasts-editorial-heading {
    display: grid;
    gap: 24px;
    margin-bottom: 28px;
  }

  .podcasts-editorial-heading h1 {
    font-size: clamp(48px, 15vw, 66px);
  }

  .podcasts-editorial-heading p {
    margin-top: 18px;
    font-size: 17px;
  }

  .podcasts-heading-link {
    font-size: 16px;
  }

  .podcasts-featured {
    gap: 26px;
    margin-bottom: 60px;
  }

  .podcasts-featured-copy {
    display: block;
  }

  .podcasts-featured-copy h2 {
    font-size: clamp(34px, 10vw, 44px);
  }

  .podcasts-featured-copy dl {
    margin-top: 28px;
    padding: 24px 0 0;
    border-top: 1px solid var(--podcasts-line);
    border-left: 0;
  }

  .podcasts-section-heading {
    align-items: baseline;
  }

  .podcasts-section-heading h2 {
    font-size: 42px;
  }

  .podcasts-episode-button {
    grid-template-columns: 42px minmax(0, 1fr) 22px;
    gap: 14px;
    padding: 22px 0;
  }

  .podcasts-episode-number {
    align-self: start;
    padding-top: 4px;
    font-size: 31px;
  }

  .podcasts-episode-image {
    grid-column: 2 / 4;
    grid-row: 1;
    margin-bottom: 2px;
  }

  .podcasts-episode-copy {
    grid-column: 2;
    grid-row: 2;
    gap: 8px;
  }

  .podcasts-episode-copy strong {
    font-size: 24px;
  }

  .podcasts-row-arrow {
    grid-column: 3;
    grid-row: 2;
    align-self: end;
  }
}

@media (prefers-reduced-motion: reduce) {
  .podcasts-heading-link svg,
  .podcasts-row-arrow svg,
  .podcasts-episode-image img,
  .podcasts-player-poster > img,
  .podcasts-player-poster > span {
    transition: none;
  }
}

/* v264: one shared topbar across the homepage and internal portal pages. */
body.portal-with-sidebar .portal-shared-topbar {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  width: 100%;
  min-width: 0;
  min-height: 82px;
  padding: 0 47px;
  border-bottom: 1px solid var(--editorial-line, #dce3e8);
  background: #ffffff;
}

body.portal-with-sidebar .portal-shared-topnav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(42px, 4vw, 70px);
  min-width: 0;
}

body.portal-with-sidebar .portal-shared-topnav a {
  color: var(--editorial-ink, #0b1b38);
  font-size: 16px;
  font-weight: 450;
  line-height: 1;
  letter-spacing: -0.01em;
  text-decoration: none;
  white-space: nowrap;
  transition: color 160ms ease;
}

body.portal-with-sidebar .portal-shared-topnav a:hover,
body.portal-with-sidebar .portal-shared-topnav a:focus-visible {
  color: var(--editorial-green, #23834d);
  outline: 0;
}

body.portal-with-sidebar .portal-shared-topnav a:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.35);
  outline-offset: 6px;
}

body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-unified-login.dashboard-login-trigger {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: auto !important;
  min-width: 84px;
  max-width: none;
  height: 40px;
  min-height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--editorial-ink, #0b1b38);
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  font: inherit;
  transition: color 160ms ease;
}

body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-unified-login.dashboard-login-trigger:hover,
body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-unified-login.dashboard-login-trigger:focus-visible {
  color: var(--editorial-green, #23834d);
  background: transparent;
  box-shadow: none;
  outline: 0;
  transform: none;
}

body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-unified-login.dashboard-login-trigger:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.35);
  outline-offset: 6px;
}

body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-unified-login.dashboard-login-trigger > .dashboard-login-field-icon {
  display: block;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-unified-login .dashboard-login-arrow-wrapper {
  display: none;
}

body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-unified-login.dashboard-login-trigger strong {
  color: inherit;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

@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) {
  body.portal-with-sidebar .portal-shared-topbar {
    min-height: 60px;
    gap: 16px;
    padding: 0 16px;
  }

  body.portal-with-sidebar .portal-shared-topnav {
    gap: 16px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  body.portal-with-sidebar .portal-shared-topnav::-webkit-scrollbar {
    display: none;
  }

  body.portal-with-sidebar .portal-shared-topnav a {
    font-size: 11px;
  }

  body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-unified-login.dashboard-login-trigger strong {
    font-size: 11px;
  }
}

/* v266: lift only Golovina's portrait inside the unchanged specialist card frame. */
.specialists-editorial-card-photo img[src$="04-golovina-aleksandra-dmitrievna.webp"] {
  object-position: center 18%;
  transform-origin: center 18%;
}

/* v267: lift only Amirhanova's portrait inside the unchanged specialist card frame. */
.specialists-editorial-card-photo img[src$="10-amirhanova-patimat-rashidovna.webp"] {
  object-position: center 18%;
  transform-origin: center 18%;
}

/* v268: temporarily hide quick-section links while preserving the shared topbar and login. */
body.portal-dashboard-home .support-topnav,
body.portal-with-sidebar .portal-shared-topnav {
  display: none !important;
}

body.portal-with-sidebar .portal-shared-topbar > .portal-unified-login {
  grid-column: 2;
  justify-self: end;
}

/* v269: approved editorial rehabilitation page. */
body.rehabilitation-editorial-page {
  --rehab-ink: #0b1b38;
  --rehab-muted: #53627a;
  --rehab-green: #23834d;
  --rehab-line: #dce3e8;
  color: var(--rehab-ink);
  background: #ffffff;
}

body.rehabilitation-editorial-page .rehab-editorial-shell {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin: 0;
  background: #ffffff;
}

/* v271: keep the shared login control identical on the homepage and internal pages. */
body.portal-dashboard-home .support-topbar > .portal-unified-login,
body.portal-with-sidebar .portal-shared-topbar > .portal-unified-login {
  grid-column: 2;
  justify-self: end;
}

body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-unified-login.dashboard-login-trigger::before {
  content: "";
  display: block;
  flex: 0 0 1px;
  width: 1px;
  height: 28px;
  margin-right: 15px;
  background: var(--editorial-line, #dce3e8);
}

@media (min-width: 901px) {
  body.portal-dashboard-home .support-main {
    grid-template-rows: 82px auto;
  }

  body.portal-dashboard-home .support-topbar,
  body.portal-with-sidebar .portal-shared-topbar {
    height: 82px;
    min-height: 82px;
  }
}

@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) {
  body:is(.portal-dashboard-home, .portal-with-sidebar) .portal-unified-login.dashboard-login-trigger::before {
    height: 22px;
    margin-right: 7px;
  }
}

body.rehabilitation-editorial-page .rehab-editorial-hero {
  display: grid;
  grid-template-columns: minmax(420px, 1.48fr) minmax(330px, 1.08fr) minmax(250px, 0.82fr);
  min-width: 0;
  border-bottom: 1px solid var(--rehab-line);
}

body.rehabilitation-editorial-page .rehab-editorial-hero-media {
  min-width: 0;
  min-height: clamp(390px, 30.75vw, 492px);
  margin: 0;
  overflow: hidden;
  border-right: 1px solid var(--rehab-line);
  background: #eef2f0;
}

body.rehabilitation-editorial-page .rehab-editorial-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(390px, 30.75vw, 492px);
  object-fit: cover;
  object-position: center;
}

body.rehabilitation-editorial-page .rehab-editorial-hero-copy {
  box-sizing: border-box;
  display: grid;
  align-content: center;
  min-width: 0;
  padding: 54px clamp(34px, 3.3vw, 52px) 42px;
  border-right: 1px solid var(--rehab-line);
}

body.rehabilitation-editorial-page .rehab-editorial-hero-copy h1 {
  margin: 0;
  color: var(--rehab-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 3.35vw, 56px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.035em;
}

body.rehabilitation-editorial-page .rehab-editorial-hero-copy p {
  max-width: 355px;
  margin: 27px 0 0;
  color: var(--rehab-muted);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.36;
}

body.rehabilitation-editorial-page .rehab-editorial-hero-copy > a,
body.rehabilitation-editorial-page .rehab-editorial-all-link,
body.rehabilitation-editorial-page .rehab-editorial-topic > span {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
  color: var(--rehab-green);
  text-decoration: none;
}

body.rehabilitation-editorial-page .rehab-editorial-hero-copy > a {
  margin-top: 26px;
  font-size: 16px;
  font-weight: 500;
}

body.rehabilitation-editorial-page .rehab-editorial-hero-copy svg,
body.rehabilitation-editorial-page .rehab-editorial-latest svg,
body.rehabilitation-editorial-page .rehab-editorial-topic svg,
body.rehabilitation-editorial-page .rehab-editorial-material-arrow svg {
  display: block;
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

body.rehabilitation-editorial-page .rehab-editorial-hero-copy > a:hover svg,
body.rehabilitation-editorial-page .rehab-editorial-latest a:hover svg,
body.rehabilitation-editorial-page .rehab-editorial-topic:hover svg,
body.rehabilitation-editorial-page .rehab-editorial-material-row:hover .rehab-editorial-material-arrow svg {
  transform: translateX(4px);
}

body.rehabilitation-editorial-page .rehab-editorial-latest {
  box-sizing: border-box;
  display: grid;
  align-content: start;
  min-width: 0;
  padding: 30px clamp(28px, 2.8vw, 42px) 22px;
}

body.rehabilitation-editorial-page .rehab-editorial-latest h2 {
  margin: 0 0 16px;
  color: var(--rehab-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 29px;
  font-weight: 400;
  line-height: 1;
}

body.rehabilitation-editorial-page .rehab-editorial-latest [data-rehab-latest] {
  display: grid;
}

body.rehabilitation-editorial-page .rehab-editorial-latest [data-rehab-latest] > a {
  display: grid;
  gap: 7px;
  padding: 0 0 14px;
  color: var(--rehab-ink);
  text-decoration: none;
}

body.rehabilitation-editorial-page .rehab-editorial-latest [data-rehab-latest] > a + a {
  padding-top: 14px;
  border-top: 1px solid var(--rehab-line);
}

body.rehabilitation-editorial-page .rehab-editorial-latest time {
  color: var(--rehab-muted);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
}

body.rehabilitation-editorial-page .rehab-editorial-latest strong {
  color: inherit;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(15px, 1.06vw, 17px);
  font-weight: 400;
  line-height: 1.32;
}

body.rehabilitation-editorial-page .rehab-editorial-latest [data-rehab-latest] > a:hover,
body.rehabilitation-editorial-page .rehab-editorial-latest [data-rehab-latest] > a:focus-visible {
  color: var(--rehab-green);
  outline: 0;
}

body.rehabilitation-editorial-page .rehab-editorial-all-link {
  margin-top: 6px;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
}

body.rehabilitation-editorial-page .rehab-editorial-topics {
  padding: 22px clamp(34px, 3.4vw, 50px) 44px;
  border-bottom: 1px solid var(--rehab-line);
}

body.rehabilitation-editorial-page .rehab-editorial-section-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  margin-bottom: 20px;
}

body.rehabilitation-editorial-page .rehab-editorial-section-head h2 {
  margin: 0;
  color: var(--rehab-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(31px, 2.5vw, 38px);
  font-weight: 400;
  line-height: 1;
}

body.rehabilitation-editorial-page .rehab-editorial-section-head > span {
  height: 1px;
  background: var(--rehab-line);
}

body.rehabilitation-editorial-page .rehab-editorial-topic-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.rehabilitation-editorial-page .rehab-editorial-topic {
  box-sizing: border-box;
  display: grid;
  align-content: start;
  min-width: 0;
  padding: 0 24px;
  color: var(--rehab-ink);
  text-decoration: none;
}

body.rehabilitation-editorial-page .rehab-editorial-topic:first-child {
  padding-left: 0;
}

body.rehabilitation-editorial-page .rehab-editorial-topic:last-child {
  padding-right: 0;
}

body.rehabilitation-editorial-page .rehab-editorial-topic + .rehab-editorial-topic {
  border-left: 1px solid var(--rehab-line);
}

body.rehabilitation-editorial-page .rehab-editorial-topic img {
  display: block;
  width: 100%;
  aspect-ratio: 1.86 / 1;
  object-fit: cover;
  object-position: center;
  background: #eef2f0;
}

body.rehabilitation-editorial-page .rehab-editorial-topic:first-child img {
  object-position: center 34%;
}

body.rehabilitation-editorial-page .rehab-editorial-topic > strong {
  display: block;
  margin-top: 11px;
  color: var(--rehab-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 2vw, 30px);
  font-weight: 400;
  line-height: 1.05;
}

body.rehabilitation-editorial-page .rehab-editorial-topic > p {
  min-height: 42px;
  margin: 8px 0 0;
  color: var(--rehab-muted);
  font-size: 14px;
  line-height: 1.28;
}

body.rehabilitation-editorial-page .rehab-editorial-topic > span {
  margin-top: 12px;
  font-size: 14px;
  font-weight: 500;
}

body.rehabilitation-editorial-page .rehab-editorial-topic:hover > strong,
body.rehabilitation-editorial-page .rehab-editorial-topic:focus-visible > strong {
  color: var(--rehab-green);
}

body.rehabilitation-editorial-page .rehab-editorial-topic:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.35);
  outline-offset: 6px;
}

body.rehabilitation-editorial-page .rehab-editorial-materials {
  padding: 66px clamp(34px, 3.4vw, 50px) 94px;
}

body.rehabilitation-editorial-page .rehab-editorial-material-list {
  border-bottom: 1px solid var(--rehab-line);
}

body.rehabilitation-editorial-page .rehab-editorial-material-row {
  display: grid;
  grid-template-columns: 100px 52px minmax(0, 1fr) 32px;
  align-items: start;
  gap: 20px;
  padding: 25px 8px;
  border-top: 1px solid var(--rehab-line);
  color: var(--rehab-ink);
  text-decoration: none;
}

body.rehabilitation-editorial-page .rehab-editorial-material-row time {
  padding-top: 4px;
  color: var(--rehab-muted);
  font-size: 13px;
}

body.rehabilitation-editorial-page .rehab-editorial-material-number {
  color: var(--rehab-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1;
}

body.rehabilitation-editorial-page .rehab-editorial-material-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
}

body.rehabilitation-editorial-page .rehab-editorial-material-copy strong {
  color: inherit;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 1.8vw, 28px);
  font-weight: 400;
  line-height: 1.1;
}

body.rehabilitation-editorial-page .rehab-editorial-material-copy small {
  display: -webkit-box;
  max-width: 900px;
  overflow: hidden;
  color: var(--rehab-muted);
  font-size: 14px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.rehabilitation-editorial-page .rehab-editorial-material-arrow {
  display: grid;
  place-items: center;
  padding-top: 2px;
  color: var(--rehab-green);
}

body.rehabilitation-editorial-page .rehab-editorial-material-row:hover,
body.rehabilitation-editorial-page .rehab-editorial-material-row:focus-visible {
  color: var(--rehab-green);
  outline: 0;
}

/* v276: editorial detail template for all rehabilitation materials. */
body.rehabilitation-article-page {
  --rehab-article-ink: #0b1b38;
  --rehab-article-muted: #53627a;
  --rehab-article-green: #23834d;
  --rehab-article-line: #dce3e8;
  margin: 0;
  min-width: 0;
  overflow-x: hidden;
  color: var(--rehab-article-ink);
  background: #ffffff;
  font-family: Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
}

body.rehabilitation-article-page .rehab-article-shell {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  background: #ffffff;
}

body.rehabilitation-article-page .rehab-article-loading,
body.rehabilitation-article-page .rehab-article-missing {
  box-sizing: border-box;
  min-height: 520px;
  margin: 0;
  padding: 72px clamp(28px, 3.4vw, 52px);
}

body.rehabilitation-article-page .rehab-article-missing h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 4vw, 64px);
  font-weight: 400;
  letter-spacing: -0.035em;
}

body.rehabilitation-article-page .rehab-article-missing a,
body.rehabilitation-article-page .rehab-article-all-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--rehab-article-green);
  text-decoration: none;
}

body.rehabilitation-article-page .rehab-article-header {
  box-sizing: border-box;
  padding: 39px clamp(34px, 3.45vw, 52px) 30px;
}

body.rehabilitation-article-page .rehab-article-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  color: var(--rehab-article-muted);
  font-size: 15px;
  line-height: 1;
}

body.rehabilitation-article-page .rehab-article-breadcrumbs a {
  color: var(--rehab-article-green);
  text-decoration: none;
}

body.rehabilitation-article-page .rehab-article-header h1 {
  max-width: 1140px;
  margin: 0;
  color: var(--rehab-article-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 4vw, 66px);
  font-weight: 400;
  line-height: 0.99;
  letter-spacing: -0.043em;
}

body.rehabilitation-article-page .rehab-article-meta {
  display: flex;
  align-items: center;
  gap: 0;
  margin-top: 23px;
  color: var(--rehab-article-muted);
  font-size: 14px;
  line-height: 1;
}

body.rehabilitation-article-page .rehab-article-meta > * {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
}

body.rehabilitation-article-page .rehab-article-meta > * + *::before {
  content: "";
  width: 1px;
  height: 18px;
  margin: 0 22px;
  background: var(--rehab-article-line);
}

body.rehabilitation-article-page .rehab-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 20.5vw);
  align-items: start;
  gap: clamp(30px, 3vw, 48px);
  min-width: 0;
  padding: 0 clamp(34px, 3.45vw, 52px) 82px;
}

body.rehabilitation-article-page .rehab-article-main {
  min-width: 0;
}

body.rehabilitation-article-page .rehab-article-hero {
  width: 100%;
  margin: 0;
  overflow: hidden;
  background: #eef2f0;
}

body.rehabilitation-article-page .rehab-article-hero img {
  display: block;
  width: 100%;
  aspect-ratio: 2.24 / 1;
  object-fit: cover;
  object-position: center;
}

body.rehabilitation-article-page .rehab-article-body {
  max-width: 790px;
  margin: 0;
  padding: 0 0 12px;
  color: var(--rehab-article-ink);
}

body.rehabilitation-article-page .rehab-article-body p,
body.rehabilitation-article-page .rehab-article-body li {
  color: var(--rehab-article-muted);
  font-size: clamp(17px, 1.12vw, 19px);
  line-height: 1.72;
}

body.rehabilitation-article-page .rehab-article-body p {
  margin: 0 0 21px;
}

body.rehabilitation-article-page .rehab-article-body .rehab-article-lead {
  margin: 0;
  padding: 33px 0 31px;
  border-bottom: 1px solid var(--rehab-article-line);
  color: var(--rehab-article-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(27px, 2.15vw, 35px);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.02em;
}

body.rehabilitation-article-page .rehab-article-body h2,
body.rehabilitation-article-page .rehab-article-body h3 {
  scroll-margin-top: 30px;
  color: var(--rehab-article-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: -0.027em;
}

body.rehabilitation-article-page .rehab-article-body h2 {
  margin: 51px 0 20px;
  padding-top: 25px;
  border-top: 1px solid var(--rehab-article-line);
  font-size: clamp(31px, 2.55vw, 41px);
  line-height: 1.06;
}

body.rehabilitation-article-page .rehab-article-body h3 {
  margin: 38px 0 14px;
  font-size: clamp(25px, 1.9vw, 31px);
  line-height: 1.1;
}

body.rehabilitation-article-page .rehab-article-body strong {
  color: var(--rehab-article-ink);
  font-weight: 600;
}

body.rehabilitation-article-page .rehab-article-body ul,
body.rehabilitation-article-page .rehab-article-body ol {
  display: grid;
  gap: 12px;
  margin: 0 0 28px;
  padding-left: 28px;
}

body.rehabilitation-article-page .rehab-article-body li::marker {
  color: var(--rehab-article-green);
}

body.rehabilitation-article-page .rehab-article-body blockquote {
  position: relative;
  margin: 42px 0;
  padding: 23px 42px 25px 72px;
  border-top: 1px solid var(--rehab-article-line);
  border-bottom: 1px solid var(--rehab-article-line);
  color: var(--rehab-article-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(25px, 2vw, 33px);
  line-height: 1.18;
}

body.rehabilitation-article-page .rehab-article-body blockquote::before {
  content: "“";
  position: absolute;
  top: 14px;
  left: 18px;
  color: var(--rehab-article-green);
  font-size: 60px;
  line-height: 1;
}

body.rehabilitation-article-page .rehab-article-body a {
  color: var(--rehab-article-green);
  text-decoration-color: color-mix(in srgb, var(--rehab-article-green) 38%, transparent);
  text-underline-offset: 0.18em;
}

body.rehabilitation-article-page .rehab-article-body a:hover {
  text-decoration-color: currentColor;
}

body.rehabilitation-article-page .rehab-article-inline-media {
  margin: 35px 0;
}

body.rehabilitation-article-page .rehab-article-inline-media img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 680px;
  object-fit: contain;
  object-position: left center;
}

body.rehabilitation-article-page .rehab-article-table-wrap {
  width: 100%;
  margin: 34px 0;
  overflow-x: auto;
  border-top: 1px solid var(--rehab-article-line);
}

body.rehabilitation-article-page .rehab-article-table-wrap table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  color: var(--rehab-article-muted);
  font-size: 16px;
  line-height: 1.45;
}

body.rehabilitation-article-page .rehab-article-table-wrap th,
body.rehabilitation-article-page .rehab-article-table-wrap td {
  padding: 14px 16px;
  border-right: 1px solid var(--rehab-article-line);
  border-bottom: 1px solid var(--rehab-article-line);
  text-align: left;
  vertical-align: top;
}

body.rehabilitation-article-page .rehab-article-table-wrap th {
  color: var(--rehab-article-ink);
  font-weight: 600;
}

body.rehabilitation-article-page .rehab-article-disclaimer {
  max-width: 790px;
  margin: 32px 0 0;
  padding: 24px 0 0;
  border-top: 1px solid var(--rehab-article-line);
  color: var(--rehab-article-muted);
  font-size: 14px;
  line-height: 1.5;
}

body.rehabilitation-article-page .rehab-article-aside {
  align-self: stretch;
  min-width: 0;
  border-left: 1px solid var(--rehab-article-line);
}

body.rehabilitation-article-page .rehab-article-aside-inner {
  position: sticky;
  top: 28px;
  padding: 0 0 0 clamp(26px, 2.5vw, 40px);
}

body.rehabilitation-article-page .rehab-article-aside h2 {
  margin: 0 0 22px;
  color: var(--rehab-article-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(26px, 2.1vw, 32px);
  font-weight: 400;
  line-height: 1;
}

body.rehabilitation-article-page .rehab-article-toc {
  display: grid;
  border-bottom: 1px solid var(--rehab-article-line);
}

body.rehabilitation-article-page .rehab-article-toc a {
  position: relative;
  display: block;
  padding: 15px 0;
  border-top: 1px solid var(--rehab-article-line);
  color: var(--rehab-article-green);
  font-size: 14px;
  line-height: 1.4;
  text-decoration: none;
  transition: color 160ms ease, padding-left 160ms ease;
}

body.rehabilitation-article-page .rehab-article-toc a.is-current {
  padding-left: 14px;
  color: var(--rehab-article-ink);
}

body.rehabilitation-article-page .rehab-article-toc a.is-current::before {
  content: "";
  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 0;
  width: 3px;
  background: var(--rehab-article-green);
}

body.rehabilitation-article-page .rehab-article-source {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 27px;
  color: var(--rehab-article-ink);
  font-size: 14px;
  text-decoration: none;
}

body.rehabilitation-article-page .rehab-article-source svg,
body.rehabilitation-article-page .rehab-article-related-row svg,
body.rehabilitation-article-page .rehab-article-all-link svg,
body.rehabilitation-article-page .rehab-article-missing svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

body.rehabilitation-article-page .rehab-article-source:hover,
body.rehabilitation-article-page .rehab-article-source:focus-visible,
body.rehabilitation-article-page .rehab-article-all-link:hover,
body.rehabilitation-article-page .rehab-article-all-link:focus-visible {
  color: var(--rehab-article-green);
  outline: 0;
}

body.rehabilitation-article-page .rehab-article-source:hover svg,
body.rehabilitation-article-page .rehab-article-related-row:hover svg,
body.rehabilitation-article-page .rehab-article-all-link:hover svg {
  transform: translateX(4px);
}

body.rehabilitation-article-page .rehab-article-related {
  padding: 62px clamp(34px, 3.45vw, 52px) 84px;
  border-top: 1px solid var(--rehab-article-line);
}

body.rehabilitation-article-page .rehab-article-section-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  margin-bottom: 20px;
}

body.rehabilitation-article-page .rehab-article-section-head h2 {
  margin: 0;
  color: var(--rehab-article-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 2.9vw, 44px);
  font-weight: 400;
  line-height: 1;
}

body.rehabilitation-article-page .rehab-article-section-head > span {
  height: 1px;
  background: var(--rehab-article-line);
}

body.rehabilitation-article-page .rehab-article-related-list {
  border-bottom: 1px solid var(--rehab-article-line);
}

body.rehabilitation-article-page .rehab-article-related-row {
  display: grid;
  grid-template-columns: 100px 52px minmax(0, 1fr) 30px;
  align-items: start;
  gap: 20px;
  padding: 23px 8px;
  border-top: 1px solid var(--rehab-article-line);
  color: var(--rehab-article-ink);
  text-decoration: none;
}

body.rehabilitation-article-page .rehab-article-related-row time {
  padding-top: 5px;
  color: var(--rehab-article-muted);
  font-size: 13px;
}

body.rehabilitation-article-page .rehab-article-related-number {
  color: var(--rehab-article-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1;
}

body.rehabilitation-article-page .rehab-article-related-copy {
  display: grid;
  gap: 7px;
  min-width: 0;
}

body.rehabilitation-article-page .rehab-article-related-copy strong {
  color: inherit;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(21px, 1.65vw, 27px);
  font-weight: 400;
  line-height: 1.1;
}

body.rehabilitation-article-page .rehab-article-related-copy small {
  display: -webkit-box;
  max-width: 880px;
  overflow: hidden;
  color: var(--rehab-article-muted);
  font-size: 14px;
  line-height: 1.42;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.rehabilitation-article-page .rehab-article-related-arrow {
  display: grid;
  place-items: center;
  padding-top: 2px;
  color: var(--rehab-article-green);
}

body.rehabilitation-article-page .rehab-article-related-row:hover,
body.rehabilitation-article-page .rehab-article-related-row:focus-visible {
  color: var(--rehab-article-green);
  outline: 0;
}

body.rehabilitation-article-page .rehab-article-all-link {
  margin-top: 25px;
  font-size: 15px;
  font-weight: 500;
}

@media (max-width: 1180px) {
  body.rehabilitation-article-page .rehab-article-header h1 {
    font-size: clamp(42px, 5.2vw, 58px);
  }

  body.rehabilitation-article-page .rehab-article-layout {
    grid-template-columns: 1fr;
  }

  body.rehabilitation-article-page .rehab-article-body,
  body.rehabilitation-article-page .rehab-article-disclaimer {
    max-width: 820px;
  }

  body.rehabilitation-article-page .rehab-article-aside {
    grid-row: 1;
    border-top: 1px solid var(--rehab-article-line);
    border-left: 0;
  }

  body.rehabilitation-article-page .rehab-article-aside-inner {
    position: static;
    padding: 25px 0 8px;
  }

  body.rehabilitation-article-page .rehab-article-toc {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-bottom: 0;
  }

  body.rehabilitation-article-page .rehab-article-toc a {
    padding-right: 22px;
    border-bottom: 1px solid var(--rehab-article-line);
  }
}

@media (max-width: 700px) {
  body.rehabilitation-article-page .rehab-article-header,
  body.rehabilitation-article-page .rehab-article-layout,
  body.rehabilitation-article-page .rehab-article-related {
    padding-right: 20px;
    padding-left: 20px;
  }

  body.rehabilitation-article-page .rehab-article-header {
    padding-top: 30px;
  }

  body.rehabilitation-article-page .rehab-article-main {
    display: contents;
  }

  body.rehabilitation-article-page .rehab-article-hero {
    order: 1;
  }

  body.rehabilitation-article-page .rehab-article-aside {
    grid-row: auto;
    order: 2;
  }

  body.rehabilitation-article-page .rehab-article-body {
    order: 3;
  }

  body.rehabilitation-article-page .rehab-article-header h1 {
    font-size: clamp(36px, 10.8vw, 48px);
    line-height: 1.02;
    overflow-wrap: anywhere;
  }

  body.rehabilitation-article-page .rehab-article-hero img {
    aspect-ratio: 1.45 / 1;
  }

  body.rehabilitation-article-page .rehab-article-body .rehab-article-lead {
    font-size: 26px;
  }

  body.rehabilitation-article-page .rehab-article-toc {
    grid-template-columns: 1fr;
  }

  body.rehabilitation-article-page .rehab-article-related-row {
    grid-template-columns: 68px minmax(0, 1fr) 26px;
    gap: 14px;
  }

  body.rehabilitation-article-page .rehab-article-related-number,
  body.rehabilitation-article-page .rehab-article-related-copy small {
    display: none;
  }
}

@media (max-width: 1180px) {
  body.rehabilitation-editorial-page .rehab-editorial-hero {
    grid-template-columns: minmax(360px, 1.2fr) minmax(310px, 1fr);
  }

  body.rehabilitation-editorial-page .rehab-editorial-latest {
    grid-column: 1 / -1;
    grid-template-columns: 110px minmax(0, 1fr) auto;
    gap: 28px;
    border-top: 1px solid var(--rehab-line);
  }

  body.rehabilitation-editorial-page .rehab-editorial-latest [data-rehab-latest] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.rehabilitation-editorial-page .rehab-editorial-latest [data-rehab-latest] > a {
    padding: 0 20px;
  }

  body.rehabilitation-editorial-page .rehab-editorial-latest [data-rehab-latest] > a + a {
    padding-top: 0;
    border-top: 0;
    border-left: 1px solid var(--rehab-line);
  }

  body.rehabilitation-editorial-page .rehab-editorial-all-link {
    margin-top: 0;
  }
}

@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) {
  body.rehabilitation-editorial-page .rehab-editorial-hero {
    grid-template-columns: 1fr;
  }

  body.rehabilitation-editorial-page .rehab-editorial-hero-media {
    min-height: 360px;
    border-right: 0;
  }

  body.rehabilitation-editorial-page .rehab-editorial-hero-media img {
    min-height: 360px;
  }

  body.rehabilitation-editorial-page .rehab-editorial-hero-copy {
    border-top: 1px solid var(--rehab-line);
    border-right: 0;
  }

  body.rehabilitation-editorial-page .rehab-editorial-hero-copy h1 {
    font-size: clamp(38px, 8vw, 50px);
  }

  body.rehabilitation-editorial-page .rehab-editorial-latest {
    grid-template-columns: 1fr;
  }

  body.rehabilitation-editorial-page .rehab-editorial-latest [data-rehab-latest],
  body.rehabilitation-editorial-page .rehab-editorial-topic-grid {
    grid-template-columns: 1fr;
  }

  body.rehabilitation-editorial-page .rehab-editorial-latest [data-rehab-latest] > a,
  body.rehabilitation-editorial-page .rehab-editorial-latest [data-rehab-latest] > a + a {
    padding: 18px 0;
    border-top: 1px solid var(--rehab-line);
    border-left: 0;
  }

  body.rehabilitation-editorial-page .rehab-editorial-topic {
    padding: 28px 0;
  }

  body.rehabilitation-editorial-page .rehab-editorial-topic + .rehab-editorial-topic {
    border-top: 1px solid var(--rehab-line);
    border-left: 0;
  }

  body.rehabilitation-editorial-page .rehab-editorial-material-row {
    grid-template-columns: 66px minmax(0, 1fr) 28px;
  }

  body.rehabilitation-editorial-page .rehab-editorial-material-number {
    display: none;
  }

  body.rehabilitation-editorial-page .rehab-editorial-material-copy small {
    display: none;
  }
}

/* v275: approved editorial medical institutions page. */
body.institutions-editorial-page {
  --institutions-ink: #0b1b38;
  --institutions-muted: #53627a;
  --institutions-green: #23834d;
  --institutions-line: #dce3e8;
  margin: 0;
  min-width: 0;
  overflow-x: hidden;
  color: var(--institutions-ink);
  background: #ffffff;
  font-family: Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
}

body.institutions-editorial-page .institutions-editorial-shell {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin: 0;
  background: #ffffff;
}

body.institutions-editorial-page .institutions-editorial-hero {
  display: grid;
  grid-template-columns: minmax(460px, 46%) minmax(0, 54%);
  min-height: 428px;
  border-bottom: 1px solid var(--institutions-line);
}

body.institutions-editorial-page .institutions-editorial-intro {
  box-sizing: border-box;
  display: grid;
  align-content: center;
  min-width: 0;
  padding: 22px clamp(32px, 3.45vw, 52px) 20px clamp(34px, 3.05vw, 46px);
}

body.institutions-editorial-page .institutions-editorial-intro h1 {
  margin: 0;
  color: var(--institutions-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(52px, 4.2vw, 67px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.045em;
}

body.institutions-editorial-page .institutions-editorial-intro > p {
  margin: 14px 0 0;
  color: var(--institutions-ink);
  font-size: clamp(16px, 1.15vw, 18px);
  font-weight: 430;
  line-height: 1.4;
}

body.institutions-editorial-page .institutions-editorial-intro > p strong {
  font-weight: inherit;
}

body.institutions-editorial-page .institutions-editorial-search {
  display: grid;
  justify-items: start;
  min-width: 0;
  margin-top: 21px;
}

body.institutions-editorial-page .institutions-editorial-search label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

body.institutions-editorial-page .institutions-editorial-search input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 38px;
  padding: 0 0 8px;
  border: 0;
  border-bottom: 2px solid #19345f;
  border-radius: 0;
  outline: 0;
  color: var(--institutions-ink);
  background: transparent;
  font: inherit;
  font-size: 17px;
  line-height: 1;
  appearance: none;
}

body.institutions-editorial-page .institutions-editorial-search input::placeholder {
  color: #7b8799;
  opacity: 1;
}

body.institutions-editorial-page .institutions-editorial-search input:focus {
  border-bottom-color: var(--institutions-green);
}

body.institutions-editorial-page .institutions-editorial-search button,
body.institutions-editorial-page .institutions-editorial-nearby-item > span,
body.institutions-editorial-page .institutions-editorial-card-copy > span {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
  color: var(--institutions-green);
  background: transparent;
  text-decoration: none;
}

body.institutions-editorial-page .institutions-editorial-search button {
  margin: 17px 0 0;
  padding: 0;
  border: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  line-height: 1.2;
  cursor: pointer;
}

body.institutions-editorial-page .institutions-editorial-search svg,
body.institutions-editorial-page .institutions-editorial-nearby-item svg,
body.institutions-editorial-page .institutions-editorial-card svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

body.institutions-editorial-page .institutions-editorial-search button:hover svg,
body.institutions-editorial-page .institutions-editorial-search button:focus-visible svg,
body.institutions-editorial-page .institutions-editorial-nearby-item:hover svg,
body.institutions-editorial-page .institutions-editorial-nearby-item:focus-visible svg,
body.institutions-editorial-page .institutions-editorial-card:hover svg,
body.institutions-editorial-page .institutions-editorial-card:focus-visible svg {
  transform: translateX(4px);
}

body.institutions-editorial-page .institutions-editorial-hero-media {
  min-width: 0;
  min-height: 428px;
  margin: 0;
  overflow: hidden;
  border-left: 1px solid var(--institutions-line);
  background: #eef2f0;
}

body.institutions-editorial-page .institutions-editorial-hero-media img {
  display: block;
  width: 100%;
  height: 428px;
  object-fit: cover;
  object-position: center;
}

body.institutions-editorial-page .institutions-editorial-nearby {
  padding: 27px clamp(34px, 3.2vw, 48px) 39px;
  border-bottom: 1px solid var(--institutions-line);
}

body.institutions-editorial-page .institutions-editorial-nearby-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--institutions-line);
}

body.institutions-editorial-page .institutions-editorial-nearby-head h2 {
  margin: 0 0 13px;
  color: var(--institutions-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 2.15vw, 34px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.025em;
}

body.institutions-editorial-page .institutions-editorial-nearby-head p {
  margin: 0 0 13px;
  color: var(--institutions-muted);
  font-size: 12.5px;
  line-height: 1.35;
  text-align: right;
}

body.institutions-editorial-page .institutions-editorial-nearby-head p:empty {
  display: none;
}

body.institutions-editorial-page .institutions-editorial-section-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  margin-bottom: 19px;
}

body.institutions-editorial-page .institutions-editorial-section-head h2 {
  margin: 0;
  color: var(--institutions-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 2.35vw, 37px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.025em;
}

body.institutions-editorial-page .institutions-editorial-section-head > span {
  height: 1px;
  background: var(--institutions-line);
}

body.institutions-editorial-page .institutions-editorial-nearby-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.institutions-editorial-page .institutions-editorial-nearby-item {
  box-sizing: border-box;
  display: grid;
  align-content: start;
  min-width: 0;
  padding: 0 28px;
  color: var(--institutions-ink);
  text-decoration: none;
}

body.institutions-editorial-page .institutions-editorial-nearby-item:first-child {
  padding-left: 0;
}

body.institutions-editorial-page .institutions-editorial-nearby-item:last-child {
  padding-right: 0;
}

body.institutions-editorial-page .institutions-editorial-nearby-item + .institutions-editorial-nearby-item {
  border-left: 1px solid var(--institutions-line);
}

body.institutions-editorial-page .institutions-editorial-nearby-item > strong {
  display: block;
  min-height: 49px;
  color: var(--institutions-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 1.55vw, 25px);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -0.018em;
}

body.institutions-editorial-page .institutions-editorial-nearby-item > small {
  display: block;
  min-height: 24px;
  margin-top: 3px;
  color: var(--institutions-muted);
  font-size: 14px;
  line-height: 1.3;
}

body.institutions-editorial-page .institutions-editorial-nearby-item > img,
body.institutions-editorial-page .institutions-editorial-nearby-item > picture.portal-optimized-picture {
  display: block;
  width: 100%;
  height: clamp(150px, 11.4vw, 181px);
  margin-top: 7px;
  overflow: hidden;
  background: #eef2f0;
  transition: transform 260ms ease;
}

body.institutions-editorial-page .institutions-editorial-nearby-item > img {
  object-fit: cover;
  object-position: center;
}

body.institutions-editorial-page .institutions-editorial-nearby-item > picture.portal-optimized-picture > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.institutions-editorial-page .institutions-editorial-nearby-item:not(:has(> img)):not(:has(> picture.portal-optimized-picture))::before {
  content: "";
  display: block;
  width: 100%;
  height: clamp(150px, 11.4vw, 181px);
  margin-top: 7px;
  background: #eef2f0;
}

body.institutions-editorial-page .institutions-editorial-nearby-item > p {
  min-height: 34px;
  margin: 10px 0 0;
  color: var(--institutions-muted);
  font-size: 12.5px;
  line-height: 1.36;
}

body.institutions-editorial-page .institutions-editorial-nearby-item > span {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 500;
}

body.institutions-editorial-page .institutions-editorial-nearby-item:hover > strong,
body.institutions-editorial-page .institutions-editorial-nearby-item:focus-visible > strong {
  color: var(--institutions-green);
}

body.institutions-editorial-page .institutions-editorial-nearby-item:hover > img,
body.institutions-editorial-page .institutions-editorial-nearby-item:focus-visible > img,
body.institutions-editorial-page .institutions-editorial-nearby-item:hover > picture.portal-optimized-picture,
body.institutions-editorial-page .institutions-editorial-nearby-item:focus-visible > picture.portal-optimized-picture {
  transform: scale(1.012);
}

body.institutions-editorial-page .institutions-editorial-nearby-item:focus-visible,
body.institutions-editorial-page .institutions-editorial-card:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.36);
  outline-offset: 5px;
}

body.institutions-editorial-page .institutions-editorial-directory {
  padding: 20px clamp(34px, 3.2vw, 48px) 88px;
}

body.institutions-editorial-page .institutions-editorial-directory .institutions-editorial-section-head {
  margin-bottom: 0;
}

body.institutions-editorial-page .institutions-editorial-result-count {
  margin: 12px 0 20px;
  color: var(--institutions-muted);
  font-size: 13px;
  line-height: 1.3;
}

body.institutions-editorial-page .institutions-editorial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid var(--institutions-line);
}

body.institutions-editorial-page .institutions-editorial-card {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  align-items: start;
  gap: 19px;
  min-width: 0;
  padding: 24px 26px;
  border-top: 1px solid var(--institutions-line);
  color: var(--institutions-ink);
  text-decoration: none;
}

body.institutions-editorial-page .institutions-editorial-card:nth-child(3n + 1) {
  padding-left: 0;
}

body.institutions-editorial-page .institutions-editorial-card:nth-child(3n + 2),
body.institutions-editorial-page .institutions-editorial-card:nth-child(3n + 3) {
  border-left: 1px solid var(--institutions-line);
}

body.institutions-editorial-page .institutions-editorial-card:nth-child(3n + 3) {
  padding-right: 0;
}

body.institutions-editorial-page .institutions-editorial-card-media {
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 126px;
  height: 92px;
  overflow: hidden;
  padding: 10px;
  background: #f5f7f6;
}

body.institutions-editorial-page .institutions-editorial-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body.institutions-editorial-page .institutions-editorial-card-media.is-image-missing::before,
body.institutions-editorial-page .institutions-editorial-card-placeholder {
  content: "";
  display: block;
  width: 42px;
  height: 42px;
  border: 1px solid #aeb9c4;
  background:
    linear-gradient(90deg, transparent 47%, #aeb9c4 47% 53%, transparent 53%),
    linear-gradient(transparent 47%, #aeb9c4 47% 53%, transparent 53%);
  opacity: 0.45;
}

body.institutions-editorial-page .institutions-editorial-card-copy {
  display: grid;
  align-content: start;
  min-width: 0;
}

body.institutions-editorial-page .institutions-editorial-card-copy > strong {
  color: inherit;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 1.35vw, 22px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.018em;
}

body.institutions-editorial-page .institutions-editorial-card-copy > small {
  display: -webkit-box;
  min-height: 35px;
  margin-top: 8px;
  overflow: hidden;
  color: var(--institutions-muted);
  font-size: 12px;
  line-height: 1.42;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.institutions-editorial-page .institutions-editorial-card-copy > span {
  margin-top: 10px;
  font-size: 13px;
  font-weight: 500;
}

body.institutions-editorial-page .institutions-editorial-card:hover .institutions-editorial-card-copy > strong,
body.institutions-editorial-page .institutions-editorial-card:focus-visible .institutions-editorial-card-copy > strong {
  color: var(--institutions-green);
}

body.institutions-editorial-page .institutions-editorial-empty {
  margin: 0;
  padding: 42px 0;
  border-top: 1px solid var(--institutions-line);
  border-bottom: 1px solid var(--institutions-line);
  color: var(--institutions-muted);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  line-height: 1.4;
}

@media (max-width: 1180px) {
  body.institutions-editorial-page .institutions-editorial-hero {
    grid-template-columns: minmax(410px, 1fr) minmax(0, 1.08fr);
  }

  body.institutions-editorial-page .institutions-editorial-intro h1 {
    font-size: clamp(47px, 4.9vw, 57px);
  }

  body.institutions-editorial-page .institutions-editorial-intro > p {
    font-size: 15px;
  }

  body.institutions-editorial-page .institutions-editorial-card {
    grid-template-columns: 1fr;
  }

  body.institutions-editorial-page .institutions-editorial-card-media {
    width: 100%;
    height: 108px;
  }
}

@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) {
  body.institutions-editorial-page .institutions-editorial-hero {
    grid-template-columns: 1fr;
  }

  body.institutions-editorial-page .institutions-editorial-intro {
    padding: 40px 24px;
  }

  body.institutions-editorial-page .institutions-editorial-intro h1 {
    font-size: clamp(44px, 10vw, 60px);
  }

  body.institutions-editorial-page .institutions-editorial-hero-media {
    min-height: 360px;
    border-top: 1px solid var(--institutions-line);
    border-left: 0;
  }

  body.institutions-editorial-page .institutions-editorial-hero-media img {
    height: 360px;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-grid,
  body.institutions-editorial-page .institutions-editorial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item,
  body.institutions-editorial-page .institutions-editorial-nearby-item:first-child,
  body.institutions-editorial-page .institutions-editorial-nearby-item:last-child {
    padding: 26px 20px;
    border-top: 1px solid var(--institutions-line);
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item:nth-child(2n + 1) {
    padding-left: 0;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item:nth-child(2n + 2) {
    padding-right: 0;
    border-left: 1px solid var(--institutions-line);
  }

  body.institutions-editorial-page .institutions-editorial-card,
  body.institutions-editorial-page .institutions-editorial-card:nth-child(3n + 1),
  body.institutions-editorial-page .institutions-editorial-card:nth-child(3n + 2),
  body.institutions-editorial-page .institutions-editorial-card:nth-child(3n + 3) {
    padding: 24px 20px;
    border-left: 0;
  }

  body.institutions-editorial-page .institutions-editorial-card:nth-child(2n + 1) {
    padding-left: 0;
  }

  body.institutions-editorial-page .institutions-editorial-card:nth-child(2n + 2) {
    padding-right: 0;
    border-left: 1px solid var(--institutions-line);
  }
}

@media (max-width: 620px) {
  body.institutions-editorial-page .institutions-editorial-intro h1 {
    font-size: clamp(39px, 12vw, 52px);
  }

  body.institutions-editorial-page .institutions-editorial-intro > p br {
    display: none;
  }

  body.institutions-editorial-page .institutions-editorial-nearby,
  body.institutions-editorial-page .institutions-editorial-directory {
    padding-right: 20px;
    padding-left: 20px;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-grid,
  body.institutions-editorial-page .institutions-editorial-grid {
    grid-template-columns: 1fr;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item,
  body.institutions-editorial-page .institutions-editorial-nearby-item:first-child,
  body.institutions-editorial-page .institutions-editorial-nearby-item:last-child,
  body.institutions-editorial-page .institutions-editorial-card,
  body.institutions-editorial-page .institutions-editorial-card:nth-child(2n + 1),
  body.institutions-editorial-page .institutions-editorial-card:nth-child(2n + 2) {
    padding: 26px 0;
    border-left: 0;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item > strong {
    min-height: 0;
  }

  body.institutions-editorial-page .institutions-editorial-card {
    grid-template-columns: 110px minmax(0, 1fr);
  }

  body.institutions-editorial-page .institutions-editorial-card-media {
    width: 110px;
    height: 88px;
  }
}

@media (min-width: 901px) and (max-width: 1400px) {
  body.institutions-editorial-page .institutions-editorial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.institutions-editorial-page .institutions-editorial-card,
  body.institutions-editorial-page .institutions-editorial-card:nth-child(3n + 1),
  body.institutions-editorial-page .institutions-editorial-card:nth-child(3n + 2),
  body.institutions-editorial-page .institutions-editorial-card:nth-child(3n + 3) {
    grid-template-columns: 126px minmax(0, 1fr);
    padding: 24px 24px;
    border-left: 0;
  }

  body.institutions-editorial-page .institutions-editorial-card:nth-child(2n + 1) {
    padding-left: 0;
  }

  body.institutions-editorial-page .institutions-editorial-card:nth-child(2n + 2) {
    padding-right: 0;
    border-left: 1px solid var(--institutions-line);
  }
}

/* v275 fidelity pass: align the nearby institution strip with the approved first viewport. */
body.institutions-editorial-page .institutions-editorial-section-head {
  margin-bottom: 14px;
}

body.institutions-editorial-page .institutions-editorial-section-head h2 {
  font-size: clamp(30px, 2.15vw, 34px);
}

body.institutions-editorial-page .institutions-editorial-nearby-item > strong {
  min-height: 42px;
  font-size: clamp(19px, 1.4vw, 22px);
}

body.institutions-editorial-page .institutions-editorial-nearby-item > small {
  min-height: 20px;
}

body.institutions-editorial-page .institutions-editorial-nearby-item > img,
body.institutions-editorial-page .institutions-editorial-nearby-item > picture.portal-optimized-picture {
  margin-top: 4px;
}

body.institutions-editorial-page .institutions-editorial-nearby-item > p {
  min-height: 0;
}
+
/* v276: approved single-column institution directory ledger. */
body.institutions-editorial-page .institutions-editorial-directory {
  padding-top: 34px;
}

body.institutions-editorial-page .institutions-editorial-directory-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
  align-items: start;
  gap: 48px;
  margin-bottom: 20px;
}

body.institutions-editorial-page .institutions-editorial-directory-title {
  display: flex;
  align-items: baseline;
  gap: 34px;
  min-width: 0;
}

body.institutions-editorial-page .institutions-editorial-directory-title h2 {
  margin: 0;
  color: var(--institutions-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 2.7vw, 43px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.03em;
}

body.institutions-editorial-page .institutions-editorial-result-count {
  flex: 0 0 auto;
  margin: 0;
  color: var(--institutions-muted);
  font-size: 14px;
  line-height: 1.2;
}

body.institutions-editorial-page .institutions-editorial-directory-search {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  align-items: center;
  min-width: 0;
  border-bottom: 1px solid #263b5f;
}

body.institutions-editorial-page .institutions-editorial-directory-search label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

body.institutions-editorial-page .institutions-editorial-directory-search input {
  box-sizing: border-box;
  width: 100%;
  height: 40px;
  padding: 0 8px 6px 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  color: var(--institutions-ink);
  background: transparent;
  font-family: Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  line-height: 1;
  appearance: none;
}

body.institutions-editorial-page .institutions-editorial-directory-search input::placeholder {
  color: #66748a;
  opacity: 1;
}

body.institutions-editorial-page .institutions-editorial-directory-search:focus-within {
  border-bottom-color: var(--institutions-green);
}

body.institutions-editorial-page .institutions-editorial-directory-search button {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  color: var(--institutions-ink);
  background: transparent;
  cursor: pointer;
}

body.institutions-editorial-page .institutions-editorial-directory-search button svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.institutions-editorial-page .institutions-editorial-grid {
  display: block;
  border-bottom: 1px solid var(--institutions-line);
}

body.institutions-editorial-page .institutions-editorial-grid > .institutions-editorial-card,
body.institutions-editorial-page .institutions-editorial-grid > .institutions-editorial-card:nth-child(n) {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 42px 126px minmax(300px, 1.45fr) minmax(220px, 1fr) minmax(190px, auto);
  grid-template-rows: auto;
  align-items: center;
  gap: 22px;
  min-width: 0;
  min-height: 112px;
  padding: 12px 0;
  border-top: 1px solid var(--institutions-line);
  border-right: 0;
  border-left: 0;
  color: var(--institutions-ink);
  text-decoration: none;
}

body.institutions-editorial-page .institutions-editorial-card-number {
  color: var(--institutions-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-weight: 400;
  line-height: 1;
}

body.institutions-editorial-page .institutions-editorial-card-media {
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 126px;
  height: 88px;
  overflow: hidden;
  padding: 8px;
  background: #f5f7f6;
}

body.institutions-editorial-page .institutions-editorial-card-copy {
  display: grid;
  align-content: center;
  min-width: 0;
}

body.institutions-editorial-page .institutions-editorial-card-copy > strong {
  color: inherit;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 1.35vw, 22px);
  font-weight: 400;
  line-height: 1.07;
  letter-spacing: -0.018em;
}

body.institutions-editorial-page .institutions-editorial-card-meta {
  display: block;
  min-width: 0;
  margin: 0;
  color: var(--institutions-muted);
  font-size: 12.5px;
  line-height: 1.45;
}

body.institutions-editorial-page .institutions-editorial-card-action {
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: 12px;
  width: fit-content;
  color: var(--institutions-green);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}

body.institutions-editorial-page .institutions-editorial-card-action svg {
  display: block;
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

body.institutions-editorial-page .institutions-editorial-card:hover .institutions-editorial-card-action svg,
body.institutions-editorial-page .institutions-editorial-card:focus-visible .institutions-editorial-card-action svg {
  transform: translateX(4px);
}

@media (max-width: 1400px) {
  body.institutions-editorial-page .institutions-editorial-grid > .institutions-editorial-card,
  body.institutions-editorial-page .institutions-editorial-grid > .institutions-editorial-card:nth-child(n) {
    grid-template-columns: 36px 108px minmax(260px, 1.35fr) minmax(190px, 1fr) minmax(160px, auto);
    gap: 18px;
    min-height: 102px;
    padding: 12px 0;
  }

  body.institutions-editorial-page .institutions-editorial-card-media {
    width: 108px;
    height: 76px;
  }

  body.institutions-editorial-page .institutions-editorial-card-copy > strong {
    font-size: clamp(17px, 1.42vw, 20px);
  }

  body.institutions-editorial-page .institutions-editorial-card-action {
    font-size: 12.5px;
  }
}

@media (max-width: 1180px) {
  body.institutions-editorial-page .institutions-editorial-directory-head {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    gap: 32px;
  }

  body.institutions-editorial-page .institutions-editorial-grid > .institutions-editorial-card,
  body.institutions-editorial-page .institutions-editorial-grid > .institutions-editorial-card:nth-child(n) {
    grid-template-columns: 34px 104px minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: 5px 18px;
    min-height: 106px;
  }

  body.institutions-editorial-page .institutions-editorial-card-number {
    grid-column: 1;
    grid-row: 1 / 3;
  }

  body.institutions-editorial-page .institutions-editorial-card-media {
    grid-column: 2;
    grid-row: 1 / 3;
    width: 104px;
    height: 76px;
  }

  body.institutions-editorial-page .institutions-editorial-card-copy {
    grid-column: 3;
    grid-row: 1;
  }

  body.institutions-editorial-page .institutions-editorial-card-meta {
    grid-column: 3;
    grid-row: 2;
  }

  body.institutions-editorial-page .institutions-editorial-card-action {
    grid-column: 4;
    grid-row: 1 / 3;
  }
}

@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) {
  body.institutions-editorial-page .institutions-editorial-directory-head {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  body.institutions-editorial-page .institutions-editorial-directory-search {
    width: 100%;
  }
}

@media (max-width: 720px) {
  body.institutions-editorial-page .institutions-editorial-directory-title {
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
  }

  body.institutions-editorial-page .institutions-editorial-directory-title h2 {
    font-size: clamp(31px, 9vw, 39px);
  }

  body.institutions-editorial-page .institutions-editorial-grid > .institutions-editorial-card,
  body.institutions-editorial-page .institutions-editorial-grid > .institutions-editorial-card:nth-child(n) {
    grid-template-columns: 30px 94px minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    gap: 5px 14px;
    padding: 16px 0;
  }

  body.institutions-editorial-page .institutions-editorial-card-number {
    grid-column: 1;
    grid-row: 1 / 3;
    font-size: 17px;
  }

  body.institutions-editorial-page .institutions-editorial-card-media {
    grid-column: 2;
    grid-row: 1 / 3;
    width: 94px;
    height: 68px;
  }

  body.institutions-editorial-page .institutions-editorial-card-copy {
    grid-column: 3;
    grid-row: 1;
  }

  body.institutions-editorial-page .institutions-editorial-card-meta {
    grid-column: 3;
    grid-row: 2;
    font-size: 11.5px;
  }

  body.institutions-editorial-page .institutions-editorial-card-action {
    grid-column: 2 / 4;
    grid-row: 3;
    justify-self: start;
    margin-top: 7px;
  }
}

@media (max-width: 480px) {
  body.institutions-editorial-page .institutions-editorial-directory {
    padding-top: 26px;
  }

  body.institutions-editorial-page .institutions-editorial-directory-title {
    display: grid;
    gap: 7px;
  }

  body.institutions-editorial-page .institutions-editorial-grid > .institutions-editorial-card,
  body.institutions-editorial-page .institutions-editorial-grid > .institutions-editorial-card:nth-child(n) {
    grid-template-columns: 28px minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    gap: 7px 12px;
  }

  body.institutions-editorial-page .institutions-editorial-card-number {
    grid-column: 1;
    grid-row: 1;
  }

  body.institutions-editorial-page .institutions-editorial-card-media {
    grid-column: 2;
    grid-row: 1;
    width: 112px;
    height: 78px;
  }

  body.institutions-editorial-page .institutions-editorial-card-copy {
    grid-column: 2;
    grid-row: 2;
  }

  body.institutions-editorial-page .institutions-editorial-card-copy > strong {
    font-size: 19px;
  }

  body.institutions-editorial-page .institutions-editorial-card-meta {
    grid-column: 2;
    grid-row: 3;
  }

  body.institutions-editorial-page .institutions-editorial-card-action {
    grid-column: 2;
    grid-row: 4;
  }
}

/* v281: show each original specialist portrait without cutting off the face. */
.specialists-editorial-card-photo {
  position: relative;
  isolation: isolate;
}

.specialists-editorial-card-photo::before {
  position: absolute;
  z-index: -1;
  inset: -16px;
  content: "";
  background: #edf2ef var(--specialist-photo) center / cover no-repeat;
  filter: blur(14px);
  opacity: 0.28;
  transform: scale(1.08);
}

.specialists-editorial-card-photo img {
  position: relative;
  z-index: 1;
  object-fit: contain;
  object-position: center;
  transform-origin: center;
}

@media (max-width: 620px) {
  .specialists-editorial-featured h2 {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* v282: source-backed method cards and current catalog data. */
body.methods-editorial-page .methods-editorial-method-card {
  grid-template-rows: auto auto auto 1fr auto;
}

body.methods-editorial-page .methods-editorial-method-card > time {
  margin-top: 12px;
  color: var(--methods-muted);
  font-size: 13px;
}

body.methods-editorial-page .methods-editorial-method-card > strong {
  display: -webkit-box;
  margin-top: 7px;
  overflow: hidden;
  font-size: clamp(21px, 1.55vw, 25px);
  line-height: 1.12;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body.methods-editorial-page .methods-editorial-method-card > p {
  display: -webkit-box;
  min-height: 58px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body.methods-editorial-page .methods-editorial-method-card > span {
  align-self: end;
}

body.methods-editorial-page .methods-editorial-latest strong {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/* v283: three source-backed library cards with localized original images. */
body.library-family-route-page .library-route-current-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

body.library-family-route-page .library-route-current-card {
  box-sizing: border-box;
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  min-width: 0;
  padding: 0 24px;
  color: var(--editorial-ink);
  text-decoration: none;
}

body.library-family-route-page .library-route-current-card:first-child {
  padding-left: 0;
}

body.library-family-route-page .library-route-current-card:last-child {
  padding-right: 0;
}

body.library-family-route-page .library-route-current-card + .library-route-current-card {
  border-left: 1px solid var(--editorial-line);
}

body.library-family-route-page .library-route-current-card-media {
  display: block;
  aspect-ratio: 1.78 / 1;
  overflow: hidden;
  background: #eef2f0;
}

body.library-family-route-page .library-route-current-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 220ms ease;
}

body.library-family-route-page .library-route-current-card:hover .library-route-current-card-media img,
body.library-family-route-page .library-route-current-card:focus-visible .library-route-current-card-media img {
  transform: scale(1.02);
}

body.library-family-route-page .library-route-current-card-meta {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 12px;
  color: #68758a;
  font-size: 11px;
}

body.library-family-route-page .library-route-current-card-meta small {
  color: var(--editorial-green);
  font-size: inherit;
  font-weight: 600;
  text-transform: uppercase;
}

body.library-family-route-page .library-route-current-card > strong {
  display: -webkit-box;
  margin-top: 8px;
  overflow: hidden;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 1.45vw, 24px);
  font-weight: 400;
  line-height: 1.13;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body.library-family-route-page .library-route-current-card > p {
  display: -webkit-box;
  margin: 9px 0 0;
  overflow: hidden;
  color: var(--editorial-muted);
  font-size: 13px;
  line-height: 1.42;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body.library-family-route-page .library-route-current-card-action {
  display: inline-flex;
  align-items: center;
  align-self: end;
  gap: 10px;
  width: fit-content;
  margin-top: 15px;
  color: var(--editorial-green);
  font-size: 13px;
  font-weight: 500;
}

body.library-family-route-page .library-route-current-card-action svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

body.library-family-route-page .library-route-current-card:hover .library-route-current-card-action svg,
body.library-family-route-page .library-route-current-card:focus-visible .library-route-current-card-action svg {
  transform: translateX(4px);
}

body.library-family-route-page .library-route-current-card:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.35);
  outline-offset: 5px;
}

@media (max-width: 700px) {
  body.library-family-route-page .library-route-current-cards {
    grid-template-columns: 1fr;
  }

  body.library-family-route-page .library-route-current-card,
  body.library-family-route-page .library-route-current-card:first-child,
  body.library-family-route-page .library-route-current-card:last-child {
    padding: 24px 0;
  }

  body.library-family-route-page .library-route-current-card:first-child {
    padding-top: 0;
  }

  body.library-family-route-page .library-route-current-card + .library-route-current-card {
    border-top: 1px solid var(--editorial-line);
    border-left: 0;
  }
}

/* v283: calmer portal identity and non-commercial navigation metaphors. */
@media (min-width: 1181px) {
  body.portal-dashboard-home .support-brand,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 10px 0 13px !important;
  }

  body.portal-dashboard-home .support-brand img,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand img {
    width: 96px !important;
    height: 136px !important;
  }

  body.portal-dashboard-home .support-brand strong,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand strong {
    color: #13243d !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    line-height: 1.02 !important;
    letter-spacing: -0.025em !important;
  }

  body.portal-dashboard-home .support-brand small,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand small {
    margin-top: 8px !important;
    color: #65748a !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
  }

  body.portal-dashboard-home .support-brand::before,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand::before {
    top: 14px !important;
    left: 51px !important;
    width: 44px !important;
    height: 44px !important;
  }

  body.portal-dashboard-home .support-brand::after,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand::after {
    top: 43px !important;
    left: 57px !important;
    width: 25px !important;
    height: 25px !important;
    box-shadow: 0 0 0 9px #ffffff !important;
  }
}

/* v293: psychological support as a calm, source-grounded editorial section. */
body.psychological-editorial-page {
  --psychological-ink: #0b1b38;
  --psychological-muted: #58677c;
  --psychological-green: #23834d;
  --psychological-line: #dce3e8;
  color: var(--psychological-ink);
  background: #ffffff;
}

body.portal-with-sidebar.psychological-editorial-page .page-shell.psychological-editorial-shell {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff;
}

body.psychological-editorial-page .psychological-hero {
  display: grid;
  grid-template-columns: minmax(350px, 1.02fr) minmax(330px, 1fr) minmax(0, 0.95fr);
  align-items: center;
  gap: clamp(28px, 2.75vw, 46px);
  min-width: 0;
  min-height: 444px;
  padding: 46px clamp(34px, 3.55vw, 56px) 42px;
  border-bottom: 1px solid var(--psychological-line);
}

body.psychological-editorial-page .psychological-hero-intro,
body.psychological-editorial-page .psychological-featured-copy {
  min-width: 0;
}

body.psychological-editorial-page .psychological-hero-intro > span {
  display: block;
  margin-bottom: 24px;
  color: var(--psychological-green);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

body.psychological-editorial-page .psychological-hero-intro h1 {
  margin: 0;
  color: var(--psychological-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 3.3vw, 52px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.052em;
}

body.psychological-editorial-page .psychological-hero-intro p {
  max-width: 390px;
  margin: 28px 0 0;
  color: var(--psychological-muted);
  font-size: clamp(15px, 1.2vw, 18px);
  font-weight: 430;
  line-height: 1.55;
}

body.psychological-editorial-page .psychological-featured-media {
  display: block;
  min-width: 0;
  height: clamp(282px, 24vw, 350px);
  overflow: hidden;
  background: #eef2f0;
}

body.psychological-editorial-page .psychological-featured-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 240ms ease;
}

body.psychological-editorial-page .psychological-featured-media:hover img,
body.psychological-editorial-page .psychological-featured-media:focus-visible img {
  transform: scale(1.025);
}

body.psychological-editorial-page .psychological-featured-copy {
  display: grid;
  align-content: center;
  justify-items: start;
}

body.psychological-editorial-page .psychological-featured-copy time {
  color: var(--psychological-muted);
  font-size: 12px;
  line-height: 1;
}

body.psychological-editorial-page .psychological-featured-copy h2 {
  margin: 25px 0 30px;
  color: var(--psychological-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(27px, 2.35vw, 38px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.038em;
}

body.psychological-editorial-page .psychological-featured-copy > a {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
  color: var(--psychological-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
}

body.psychological-editorial-page .psychological-featured-copy > a span {
  font-family: Arial, sans-serif;
  font-size: 21px;
  transition: transform 160ms ease;
}

body.psychological-editorial-page .psychological-featured-copy > a:hover span,
body.psychological-editorial-page .psychological-featured-copy > a:focus-visible span {
  transform: translateX(4px);
}

body.psychological-editorial-page .psychological-materials {
  min-width: 0;
  padding: 34px clamp(34px, 3.55vw, 56px) 76px;
}

body.psychological-editorial-page .psychological-section-heading {
  display: grid;
  grid-template-columns: auto auto minmax(36px, 1fr);
  align-items: end;
  gap: 30px;
  min-width: 0;
  margin-bottom: 12px;
}

body.psychological-editorial-page .psychological-section-heading h2 {
  margin: 0;
  color: var(--psychological-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 3vw, 46px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.04em;
}

body.psychological-editorial-page .psychological-section-heading > span {
  padding-bottom: 3px;
  color: var(--psychological-muted);
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}

body.psychological-editorial-page .psychological-section-heading > i {
  align-self: center;
  display: block;
  height: 1px;
  background: var(--psychological-line);
}

body.psychological-editorial-page .psychological-material-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.psychological-editorial-page .psychological-material-list > li {
  border-bottom: 1px solid var(--psychological-line);
}

body.psychological-editorial-page .psychological-material-row {
  display: grid;
  grid-template-columns: 78px 38px minmax(150px, 190px) minmax(0, 1fr) 26px;
  align-items: center;
  gap: clamp(18px, 1.75vw, 28px);
  min-width: 0;
  min-height: 148px;
  padding: 18px 0;
  color: var(--psychological-ink);
  text-decoration: none;
}

body.psychological-editorial-page .psychological-material-row > time {
  color: var(--psychological-muted);
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}

body.psychological-editorial-page .psychological-material-number {
  color: var(--psychological-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
  line-height: 1;
}

body.psychological-editorial-page .psychological-material-image {
  display: block;
  width: 100%;
  height: 108px;
  overflow: hidden;
  background: #eef2f0;
}

body.psychological-editorial-page .psychological-material-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 200ms ease;
}

body.psychological-editorial-page .psychological-material-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
}

body.psychological-editorial-page .psychological-material-copy strong {
  color: var(--psychological-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(21px, 1.75vw, 28px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.025em;
}

body.psychological-editorial-page .psychological-material-copy small {
  display: -webkit-box;
  max-width: 780px;
  overflow: hidden;
  color: var(--psychological-muted);
  font-size: 12.5px;
  font-weight: 430;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.psychological-editorial-page .psychological-material-arrow {
  justify-self: end;
  color: var(--psychological-green);
  font-family: Arial, sans-serif;
  font-size: 22px;
  line-height: 1;
  transition: transform 160ms ease;
}

body.psychological-editorial-page .psychological-material-row:hover .psychological-material-image img,
body.psychological-editorial-page .psychological-material-row:focus-visible .psychological-material-image img {
  transform: scale(1.035);
}

body.psychological-editorial-page .psychological-material-row:hover .psychological-material-arrow,
body.psychological-editorial-page .psychological-material-row:focus-visible .psychological-material-arrow {
  transform: translateX(4px);
}

body.psychological-editorial-page a:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.42);
  outline-offset: 4px;
}

@media (max-width: 1180px) and (min-width: 901px) {
  body.portal-with-sidebar.psychological-editorial-page .page-shell.psychological-editorial-shell {
    width: calc(100% - 32px) !important;
    margin-right: 16px !important;
    margin-left: 16px !important;
  }

  body.psychological-editorial-page .psychological-hero {
    grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.05fr);
    gap: 26px;
    padding: 38px 32px;
  }

  body.psychological-editorial-page .psychological-hero-intro {
    grid-column: 1 / -1;
  }

  body.psychological-editorial-page .psychological-hero-intro h1 {
    font-size: 44px;
  }

  body.psychological-editorial-page .psychological-featured-copy h2 {
    font-size: 28px;
  }

  body.psychological-editorial-page .psychological-materials {
    padding: 30px 32px 64px;
  }

  body.psychological-editorial-page .psychological-material-row {
    grid-template-columns: 70px 34px 150px minmax(0, 1fr) 22px;
    gap: 18px;
  }

  body.psychological-editorial-page .psychological-material-copy strong {
    font-size: 22px;
  }
}

@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) {
  body.portal-with-sidebar.psychological-editorial-page .page-shell.psychological-editorial-shell {
    width: 100%;
    padding-top: 0;
  }

  body.psychological-editorial-page .psychological-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 0;
    gap: 24px;
    padding: 38px 22px 34px;
  }

  body.psychological-editorial-page .psychological-hero-intro {
    grid-column: 1 / -1;
  }

  body.psychological-editorial-page .psychological-hero-intro h1 {
    font-size: clamp(42px, 9vw, 58px);
  }

  body.psychological-editorial-page .psychological-featured-media {
    height: 300px;
  }

  body.psychological-editorial-page .psychological-featured-copy h2 {
    font-size: clamp(25px, 4.5vw, 32px);
  }

  body.psychological-editorial-page .psychological-materials {
    padding: 30px 22px 56px;
  }

  body.psychological-editorial-page .psychological-section-heading {
    grid-template-columns: auto 1fr;
    gap: 18px;
  }

  body.psychological-editorial-page .psychological-section-heading > i {
    display: none;
  }

  body.psychological-editorial-page .psychological-material-row {
    grid-template-columns: 38px 132px minmax(0, 1fr) 22px;
    gap: 16px;
    min-height: 132px;
  }

  body.psychological-editorial-page .psychological-material-row > time {
    grid-column: 3;
    grid-row: 1;
    align-self: end;
    margin-bottom: 2px;
  }

  body.psychological-editorial-page .psychological-material-number {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  body.psychological-editorial-page .psychological-material-image {
    grid-column: 2;
    grid-row: 1 / span 2;
    height: 92px;
  }

  body.psychological-editorial-page .psychological-material-copy {
    grid-column: 3;
    grid-row: 2;
  }

  body.psychological-editorial-page .psychological-material-copy strong {
    font-size: 21px;
  }

  body.psychological-editorial-page .psychological-material-copy small {
    display: none;
  }

  body.psychological-editorial-page .psychological-material-arrow {
    grid-column: 4;
    grid-row: 1 / span 2;
  }
}

@media (max-width: 620px) {
  body.psychological-editorial-page .psychological-hero {
    grid-template-columns: 1fr;
  }

  body.psychological-editorial-page .psychological-featured-media,
  body.psychological-editorial-page .psychological-featured-copy {
    grid-column: 1;
  }

  body.psychological-editorial-page .psychological-featured-media {
    height: min(68vw, 300px);
  }

  body.psychological-editorial-page .psychological-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body.psychological-editorial-page .psychological-section-heading h2 {
    font-size: 38px;
  }

  body.psychological-editorial-page .psychological-material-row {
    grid-template-columns: 32px 92px minmax(0, 1fr) 18px;
    gap: 10px;
    min-height: 112px;
    padding: 14px 0;
  }

  body.psychological-editorial-page .psychological-material-image {
    height: 78px;
  }

  body.psychological-editorial-page .psychological-material-copy strong {
    font-size: 17px;
    line-height: 1.14;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.psychological-editorial-page .psychological-featured-media img,
  body.psychological-editorial-page .psychological-featured-copy > a span,
  body.psychological-editorial-page .psychological-material-image img,
  body.psychological-editorial-page .psychological-material-arrow {
    transition: none;
  }
}

/* v308: legal support follows the approved editorial support system. */
body.legal-editorial-page .legal-hero {
  background: linear-gradient(90deg, #ffffff 0%, #ffffff 58%, #f7faf7 100%);
}

body.legal-editorial-page .legal-hero .psychological-featured-media img {
  object-position: center 42%;
}

body.legal-editorial-page .legal-pathways {
  min-width: 0;
  padding: 34px clamp(34px, 3.55vw, 56px) 18px;
  border-bottom: 1px solid var(--psychological-line);
}

body.legal-editorial-page .legal-pathway-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
  border-top: 1px solid var(--psychological-line);
}

body.legal-editorial-page .legal-pathway-list > a {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 20px;
  grid-template-rows: auto 1fr;
  column-gap: 18px;
  min-width: 0;
  min-height: 168px;
  padding: 24px 26px 26px 0;
  color: var(--psychological-ink);
  text-decoration: none;
}

body.legal-editorial-page .legal-pathway-list > a + a {
  padding-left: 26px;
  border-left: 1px solid var(--psychological-line);
}

body.legal-editorial-page .legal-pathway-list span {
  grid-row: 1 / span 2;
  color: var(--psychological-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1;
}

body.legal-editorial-page .legal-pathway-list strong {
  color: var(--psychological-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 1.65vw, 28px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.025em;
}

body.legal-editorial-page .legal-pathway-list small {
  grid-column: 2;
  align-self: end;
  max-width: 330px;
  padding-top: 18px;
  color: var(--psychological-muted);
  font-size: 12.5px;
  line-height: 1.45;
}

body.legal-editorial-page .legal-pathway-list b {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
  justify-self: end;
  color: var(--psychological-green);
  font-family: Arial, sans-serif;
  font-size: 21px;
  font-weight: 400;
  transition: transform 160ms ease;
}

body.legal-editorial-page .legal-pathway-list > a:hover b,
body.legal-editorial-page .legal-pathway-list > a:focus-visible b {
  transform: translateX(4px);
}

body.legal-editorial-page .legal-materials {
  padding-top: 42px;
}

@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) {
  body.legal-editorial-page .legal-pathways {
    padding: 30px 22px 10px;
  }

  body.legal-editorial-page .legal-pathway-list {
    grid-template-columns: 1fr;
  }

  body.legal-editorial-page .legal-pathway-list > a,
  body.legal-editorial-page .legal-pathway-list > a + a {
    min-height: 0;
    padding: 22px 0;
    border-left: 0;
    border-bottom: 1px solid var(--psychological-line);
  }

  body.legal-editorial-page .legal-pathway-list > a:last-child {
    border-bottom: 0;
  }

  body.legal-editorial-page .legal-pathway-list small {
    max-width: 560px;
  }
}

@media (max-width: 620px) {
  body.legal-editorial-page .legal-pathway-list > a {
    grid-template-columns: 30px minmax(0, 1fr) 18px;
    column-gap: 12px;
  }

  body.legal-editorial-page .legal-pathway-list strong {
    font-size: 21px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.legal-editorial-page .legal-pathway-list b {
    transition: none;
  }
}

/* v309: contacts as an open editorial information page. */
body.contacts-editorial-page {
  --contacts-ink: #0b1b38;
  --contacts-muted: #58677c;
  --contacts-green: #23834d;
  --contacts-line: #dce3e8;
  color: var(--contacts-ink);
  background: #ffffff;
}

body.portal-with-sidebar.contacts-editorial-page .page-shell.contacts-editorial-shell {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff;
}

body.contacts-editorial-page .contacts-hero {
  display: grid;
  grid-template-columns: minmax(360px, 1.05fr) minmax(360px, 0.95fr);
  align-items: center;
  gap: clamp(52px, 7vw, 112px);
  min-height: 406px;
  padding: 58px clamp(42px, 5vw, 76px);
  border-bottom: 1px solid var(--contacts-line);
}

body.contacts-editorial-page .contacts-hero-copy h1 {
  margin: 0;
  color: var(--contacts-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(60px, 5.25vw, 82px);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.055em;
}

body.contacts-editorial-page .contacts-hero-copy p {
  max-width: 590px;
  margin: 30px 0 0;
  color: var(--contacts-muted);
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.5;
}

body.contacts-editorial-page .contacts-email {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px;
  gap: 16px;
  min-width: 0;
  padding: 28px 0 30px;
  border-top: 1px solid var(--contacts-line);
  border-bottom: 1px solid var(--contacts-line);
  color: var(--contacts-ink);
  text-decoration: none;
}

body.contacts-editorial-page .contacts-email span {
  grid-column: 1;
  color: var(--contacts-green);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

body.contacts-editorial-page .contacts-email strong {
  grid-column: 1;
  margin-top: 8px;
  overflow-wrap: anywhere;
  color: var(--contacts-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(32px, 3vw, 48px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.035em;
}

body.contacts-editorial-page .contacts-email small {
  grid-column: 1;
  margin-top: 14px;
  color: var(--contacts-muted);
  font-size: 13px;
}

body.contacts-editorial-page .contacts-email svg,
body.contacts-editorial-page .contacts-help > a svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.contacts-editorial-page .contacts-email svg {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  color: var(--contacts-green);
  transition: transform 160ms ease;
}

body.contacts-editorial-page .contacts-email:hover svg,
body.contacts-editorial-page .contacts-email:focus-visible svg,
body.contacts-editorial-page .contacts-help > a:hover svg,
body.contacts-editorial-page .contacts-help > a:focus-visible svg {
  transform: translateX(4px);
}

body.contacts-editorial-page .contacts-details {
  padding: 48px clamp(42px, 5vw, 76px) 56px;
}

body.contacts-editorial-page .contacts-section-heading {
  display: grid;
  grid-template-columns: auto minmax(36px, 1fr);
  align-items: center;
  gap: 34px;
}

body.contacts-editorial-page .contacts-section-heading h2 {
  margin: 0;
  color: var(--contacts-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(40px, 3.5vw, 54px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.045em;
}

body.contacts-editorial-page .contacts-section-heading > span {
  display: block;
  height: 1px;
  background: var(--contacts-line);
}

body.contacts-editorial-page .contacts-details-layout {
  display: grid;
  grid-template-columns: minmax(320px, 1.35fr) minmax(220px, 0.75fr) minmax(230px, 0.7fr);
  margin-top: 34px;
  border-top: 1px solid var(--contacts-line);
  border-bottom: 1px solid var(--contacts-line);
}

body.contacts-editorial-page .contacts-details-layout > * {
  min-width: 0;
  margin: 0;
  padding: 32px 34px 34px 0;
}

body.contacts-editorial-page .contacts-details-layout > * + * {
  padding-left: 34px;
  border-left: 1px solid var(--contacts-line);
}

body.contacts-editorial-page .contacts-organization > span,
body.contacts-editorial-page .contacts-organization small,
body.contacts-editorial-page .contacts-media-record > span,
body.contacts-editorial-page .contacts-registration dt {
  color: var(--contacts-green);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.contacts-editorial-page .contacts-organization h3 {
  max-width: 650px;
  margin: 22px 0 42px;
  color: var(--contacts-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(27px, 2.2vw, 36px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

body.contacts-editorial-page .contacts-organization div {
  display: grid;
  gap: 12px;
  max-width: 690px;
}

body.contacts-editorial-page .contacts-organization address {
  color: var(--contacts-muted);
  font-size: 15px;
  font-style: normal;
  line-height: 1.55;
}

body.contacts-editorial-page .contacts-registration {
  display: grid;
  align-content: start;
}

body.contacts-editorial-page .contacts-registration div {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: baseline;
  gap: 14px;
  padding: 0 0 22px;
}

body.contacts-editorial-page .contacts-registration div + div {
  padding-top: 22px;
  border-top: 1px solid var(--contacts-line);
}

body.contacts-editorial-page .contacts-registration div:last-child {
  padding-bottom: 0;
}

body.contacts-editorial-page .contacts-registration dd {
  margin: 0;
  color: var(--contacts-ink);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

body.contacts-editorial-page .contacts-media-record p {
  margin: 26px 0 10px;
  color: var(--contacts-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(25px, 2vw, 32px);
  line-height: 1.1;
  letter-spacing: -0.025em;
}

body.contacts-editorial-page .contacts-media-record small {
  color: var(--contacts-muted);
  font-size: 13px;
  line-height: 1.4;
}

body.contacts-editorial-page .contacts-help {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 42px;
  margin: 0 clamp(42px, 5vw, 76px);
  padding: 34px 0;
  border-top: 1px solid var(--contacts-line);
  border-bottom: 1px solid var(--contacts-line);
}

body.contacts-editorial-page .contacts-help h2 {
  margin: 0;
  color: var(--contacts-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 2.4vw, 38px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.035em;
}

body.contacts-editorial-page .contacts-help p {
  max-width: 670px;
  margin: 13px 0 0;
  color: var(--contacts-muted);
  font-size: 14px;
  line-height: 1.5;
}

body.contacts-editorial-page .contacts-help > a {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
  color: var(--contacts-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

body.contacts-editorial-page a:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.42);
  outline-offset: 4px;
}

@media (max-width: 1080px) {
  body.contacts-editorial-page .contacts-hero {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
    gap: 44px;
    padding-right: 32px;
    padding-left: 32px;
  }

  body.contacts-editorial-page .contacts-details {
    padding-right: 32px;
    padding-left: 32px;
  }

  body.contacts-editorial-page .contacts-details-layout {
    grid-template-columns: minmax(0, 1.3fr) minmax(220px, 0.7fr);
  }

  body.contacts-editorial-page .contacts-media-record {
    grid-column: 1 / -1;
    padding-left: 0 !important;
    border-top: 1px solid var(--contacts-line);
    border-left: 0 !important;
  }

  body.contacts-editorial-page .contacts-help {
    margin-right: 32px;
    margin-left: 32px;
  }
}

@media (max-width: 760px) {
  body.contacts-editorial-page .contacts-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 42px;
    padding: 42px 22px 38px;
  }

  body.contacts-editorial-page .contacts-hero-copy h1 {
    font-size: clamp(52px, 15vw, 70px);
  }

  body.contacts-editorial-page .contacts-details {
    padding: 38px 22px 46px;
  }

  body.contacts-editorial-page .contacts-section-heading {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.contacts-editorial-page .contacts-details-layout {
    grid-template-columns: 1fr;
    margin-top: 24px;
  }

  body.contacts-editorial-page .contacts-details-layout > *,
  body.contacts-editorial-page .contacts-details-layout > * + * {
    padding: 28px 0;
    border-top: 1px solid var(--contacts-line);
    border-left: 0;
  }

  body.contacts-editorial-page .contacts-details-layout > *:first-child {
    border-top: 0;
  }

  body.contacts-editorial-page .contacts-organization h3 {
    margin-bottom: 32px;
  }

  body.contacts-editorial-page .contacts-media-record {
    grid-column: auto;
  }

  body.contacts-editorial-page .contacts-help {
    grid-template-columns: 1fr;
    gap: 24px;
    margin: 0 22px;
  }

  body.contacts-editorial-page .contacts-help > a {
    justify-self: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.contacts-editorial-page .contacts-email svg,
  body.contacts-editorial-page .contacts-help > a svg {
    transition: none;
  }
}

/* v310: payment and refund as a calm, source-grounded editorial guide. */
body.payment-editorial-page {
  --payment-ink: #0b1b38;
  --payment-muted: #58677c;
  --payment-green: #23834d;
  --payment-line: #dce3e8;
  color: var(--payment-ink);
  background: #ffffff !important;
}

body.portal-with-sidebar.payment-editorial-page .page-shell.payment-editorial-shell {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff;
}

body.payment-editorial-page .payment-editorial-hero {
  display: grid;
  grid-template-columns: minmax(430px, 1.15fr) minmax(360px, 0.85fr);
  align-items: center;
  gap: clamp(52px, 7vw, 112px);
  min-height: 480px;
  padding: 54px clamp(42px, 5vw, 76px);
  border-bottom: 1px solid var(--payment-line);
}

body.payment-editorial-page .payment-editorial-hero header > span,
body.payment-editorial-page .payment-policy article > span,
body.payment-editorial-page .payment-requisites-layout article > span,
body.payment-editorial-page .payment-requisites-layout article > small,
body.payment-editorial-page .payment-requisites-layout dt {
  color: var(--payment-green);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

body.payment-editorial-page .payment-editorial-hero h1 {
  max-width: 720px;
  margin: 17px 0 0;
  color: var(--payment-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(62px, 5.5vw, 84px);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: -0.06em;
}

body.payment-editorial-page .payment-editorial-hero header > p {
  max-width: 680px;
  margin: 30px 0 0;
  color: var(--payment-muted);
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.52;
}

body.payment-editorial-page .payment-summary {
  margin: 0;
  border-top: 1px solid var(--payment-line);
  border-bottom: 1px solid var(--payment-line);
}

body.payment-editorial-page .payment-summary > div {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 18px;
  padding: 22px 0;
}

body.payment-editorial-page .payment-summary > div + div {
  border-top: 1px solid var(--payment-line);
}

body.payment-editorial-page .payment-summary dt {
  color: var(--payment-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  line-height: 1;
}

body.payment-editorial-page .payment-summary dd {
  display: grid;
  gap: 7px;
  margin: 0;
}

body.payment-editorial-page .payment-summary strong {
  color: var(--payment-ink);
  font-size: 15px;
  line-height: 1.2;
}

body.payment-editorial-page .payment-summary span {
  color: var(--payment-muted);
  font-size: 13px;
  line-height: 1.4;
}

body.payment-editorial-page .payment-process,
body.payment-editorial-page .payment-requisites {
  padding: 48px clamp(42px, 5vw, 76px) 56px;
}

body.payment-editorial-page .payment-editorial-heading {
  display: grid;
  grid-template-columns: auto minmax(36px, 1fr);
  align-items: center;
  gap: 34px;
}

body.payment-editorial-page .payment-editorial-heading h2 {
  margin: 0;
  color: var(--payment-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 3.35vw, 52px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.045em;
}

body.payment-editorial-page .payment-editorial-heading > span {
  height: 1px;
  background: var(--payment-line);
}

body.payment-editorial-page .payment-process-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 34px 0 0;
  padding: 0;
  border-top: 1px solid var(--payment-line);
  border-bottom: 1px solid var(--payment-line);
  list-style: none;
}

body.payment-editorial-page .payment-process-list li {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  min-width: 0;
  padding: 25px 28px 25px 0;
}

body.payment-editorial-page .payment-process-list li:nth-child(even) {
  padding-right: 0;
  padding-left: 28px;
  border-left: 1px solid var(--payment-line);
}

body.payment-editorial-page .payment-process-list li:nth-child(n + 3) {
  border-top: 1px solid var(--payment-line);
}

body.payment-editorial-page .payment-process-list li > span {
  color: var(--payment-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  line-height: 1;
}

body.payment-editorial-page .payment-process-list p {
  max-width: 520px;
  margin: -2px 0 0;
  color: var(--payment-ink);
  font-size: 16px;
  line-height: 1.5;
}

body.payment-editorial-page .payment-policy {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 clamp(42px, 5vw, 76px);
  border-top: 1px solid var(--payment-line);
  border-bottom: 1px solid var(--payment-line);
}

body.payment-editorial-page .payment-policy article {
  min-width: 0;
  padding: 42px 42px 46px 0;
}

body.payment-editorial-page .payment-policy article + article {
  padding-right: 0;
  padding-left: 42px;
  border-left: 1px solid var(--payment-line);
}

body.payment-editorial-page .payment-policy h2 {
  margin: 20px 0 20px;
  color: var(--payment-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(32px, 2.8vw, 44px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.04em;
}

body.payment-editorial-page .payment-policy article > p {
  max-width: 660px;
  margin: 0;
  color: var(--payment-muted);
  font-size: 15px;
  line-height: 1.62;
}

body.payment-editorial-page .payment-policy article > p + p {
  margin-top: 16px;
}

body.payment-editorial-page .payment-documents {
  display: grid;
  margin-top: 30px;
  border-top: 1px solid var(--payment-line);
}

body.payment-editorial-page .payment-documents a {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 16px;
  min-width: 0;
  padding: 17px 0;
  border-bottom: 1px solid var(--payment-line);
  color: var(--payment-ink);
  text-decoration: none;
}

body.payment-editorial-page .payment-documents svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: var(--payment-green);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.payment-editorial-page .payment-documents a > span {
  display: grid;
  gap: 5px;
  min-width: 0;
}

body.payment-editorial-page .payment-documents strong {
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.3;
}

body.payment-editorial-page .payment-documents small {
  color: var(--payment-muted);
  font-size: 11px;
}

body.payment-editorial-page .payment-documents b {
  color: var(--payment-green);
  font-size: 18px;
  font-weight: 400;
  transition: transform 160ms ease;
}

body.payment-editorial-page .payment-documents a:hover b,
body.payment-editorial-page .payment-documents a:focus-visible b {
  transform: translate(3px, -3px);
}

body.payment-editorial-page .payment-requisites-layout {
  display: grid;
  grid-template-columns: minmax(360px, 1.55fr) minmax(205px, 0.65fr) minmax(205px, 0.65fr);
  margin-top: 34px;
  border-top: 1px solid var(--payment-line);
  border-bottom: 1px solid var(--payment-line);
}

body.payment-editorial-page .payment-requisites-layout > * {
  min-width: 0;
  margin: 0;
  padding: 32px 34px 34px 0;
}

body.payment-editorial-page .payment-requisites-layout > * + * {
  padding-left: 34px;
  border-left: 1px solid var(--payment-line);
}

body.payment-editorial-page .payment-requisites-layout h3 {
  max-width: 650px;
  margin: 22px 0 38px;
  color: var(--payment-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 1.75vw, 29px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

body.payment-editorial-page .payment-requisites-layout address {
  max-width: 690px;
  margin-top: 12px;
  color: var(--payment-muted);
  font-size: 15px;
  font-style: normal;
  line-height: 1.55;
}

body.payment-editorial-page .payment-requisites-layout dl {
  display: grid;
  align-content: start;
}

body.payment-editorial-page .payment-requisites-layout dl > div {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: baseline;
  gap: 14px;
  padding: 0 0 22px;
}

body.payment-editorial-page .payment-requisites-layout dl > div + div {
  padding-top: 22px;
  border-top: 1px solid var(--payment-line);
}

body.payment-editorial-page .payment-requisites-layout dd {
  margin: 0;
  color: var(--payment-ink);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

body.payment-editorial-page .payment-registration p {
  margin: 26px 0 10px;
  color: var(--payment-ink);
  font-family: Georgia, "Times New Roman", serif;
  overflow-wrap: anywhere;
  font-size: clamp(21px, 1.55vw, 24px);
  line-height: 1.1;
  letter-spacing: -0.025em;
}

body.payment-editorial-page .payment-registration small {
  color: var(--payment-muted) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.payment-editorial-page .payment-help {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 42px;
  margin: 0 clamp(42px, 5vw, 76px);
  padding: 34px 0;
  border-top: 1px solid var(--payment-line);
  border-bottom: 1px solid var(--payment-line);
}

body.payment-editorial-page .payment-help h2 {
  margin: 0;
  color: var(--payment-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 2.4vw, 38px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.035em;
}

body.payment-editorial-page .payment-help p {
  max-width: 680px;
  margin: 13px 0 0;
  color: var(--payment-muted);
  font-size: 14px;
  line-height: 1.5;
}

body.payment-editorial-page .payment-help > a {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
  color: var(--payment-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

body.payment-editorial-page .payment-help svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

body.payment-editorial-page .payment-help > a:hover svg,
body.payment-editorial-page .payment-help > a:focus-visible svg {
  transform: translateX(4px);
}

body.payment-editorial-page a:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.42);
  outline-offset: 4px;
}

@media (max-width: 1080px) {
  body.payment-editorial-page .payment-editorial-hero {
    grid-template-columns: minmax(0, 1fr) minmax(310px, 0.8fr);
    gap: 42px;
    padding-right: 32px;
    padding-left: 32px;
  }

  body.payment-editorial-page .payment-process,
  body.payment-editorial-page .payment-requisites {
    padding-right: 32px;
    padding-left: 32px;
  }

  body.payment-editorial-page .payment-policy,
  body.payment-editorial-page .payment-help {
    margin-right: 32px;
    margin-left: 32px;
  }

  body.payment-editorial-page .payment-requisites-layout {
    grid-template-columns: minmax(0, 1.3fr) minmax(220px, 0.7fr);
  }

  body.payment-editorial-page .payment-registration {
    grid-column: 1 / -1;
    padding-left: 0 !important;
    border-top: 1px solid var(--payment-line);
    border-left: 0 !important;
  }
}

@media (max-width: 760px) {
  body.payment-editorial-page .payment-editorial-hero {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 42px;
    padding: 42px 22px 38px;
  }

  body.payment-editorial-page .payment-editorial-hero h1 {
    font-size: clamp(52px, 14.7vw, 70px);
  }

  body.payment-editorial-page .payment-process,
  body.payment-editorial-page .payment-requisites {
    padding: 38px 22px 46px;
  }

  body.payment-editorial-page .payment-editorial-heading {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.payment-editorial-page .payment-process-list {
    grid-template-columns: 1fr;
    margin-top: 24px;
  }

  body.payment-editorial-page .payment-process-list li,
  body.payment-editorial-page .payment-process-list li:nth-child(even) {
    padding: 22px 0;
    border-top: 1px solid var(--payment-line);
    border-left: 0;
  }

  body.payment-editorial-page .payment-process-list li:first-child {
    border-top: 0;
  }

  body.payment-editorial-page .payment-policy {
    grid-template-columns: 1fr;
    margin-right: 22px;
    margin-left: 22px;
  }

  body.payment-editorial-page .payment-policy article,
  body.payment-editorial-page .payment-policy article + article {
    padding: 34px 0 38px;
    border-left: 0;
  }

  body.payment-editorial-page .payment-policy article + article {
    border-top: 1px solid var(--payment-line);
  }

  body.payment-editorial-page .payment-requisites-layout {
    grid-template-columns: 1fr;
    margin-top: 24px;
  }

  body.payment-editorial-page .payment-requisites-layout > *,
  body.payment-editorial-page .payment-requisites-layout > * + * {
    padding: 28px 0;
    border-top: 1px solid var(--payment-line);
    border-left: 0;
  }

  body.payment-editorial-page .payment-requisites-layout > *:first-child {
    border-top: 0;
  }

  body.payment-editorial-page .payment-registration {
    grid-column: auto;
  }

  body.payment-editorial-page .payment-help {
    grid-template-columns: 1fr;
    gap: 24px;
    margin: 0 22px;
  }

  body.payment-editorial-page .payment-help > a {
    justify-self: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.payment-editorial-page .payment-documents b,
  body.payment-editorial-page .payment-help svg {
    transition: none;
  }
}

/* v311: full portal sign-in surface shared by Next and legacy pages. */
.dashboard-login-layer,
.auth-modal-backdrop.is-open {
  padding: 32px;
  background: rgba(9, 27, 49, 0.34);
  backdrop-filter: blur(10px);
}

.dashboard-login-dialog {
  position: relative;
  display: grid;
  grid-template-columns: minmax(330px, 0.9fr) minmax(430px, 1.1fr);
  width: min(980px, calc(100vw - 64px));
  min-height: 590px;
  max-height: calc(100dvh - 64px);
  padding: 0;
  overflow: hidden;
  border: 1px solid #d6e0dd;
  border-radius: 22px;
  color: #0b1b38;
  background: #ffffff;
  box-shadow: 0 32px 90px rgba(8, 28, 51, 0.22);
}

.dashboard-login-intro {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  padding: 42px 40px 38px;
  overflow: hidden;
  border-right: 1px solid #d6e0dd;
  background: #eef6f0;
}

.dashboard-login-intro::after {
  content: "";
  position: absolute;
  right: -128px;
  bottom: -132px;
  z-index: -1;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(35, 131, 77, 0.18);
  border-radius: 50%;
  box-shadow:
    0 0 0 42px rgba(255, 255, 255, 0.22),
    0 0 0 84px rgba(35, 131, 77, 0.035);
}

.dashboard-login-brand {
  display: flex;
  align-items: center;
  gap: 17px;
}

.dashboard-login-brand img {
  width: 72px;
  height: 86px;
  flex: 0 0 auto;
  object-fit: contain;
}

.dashboard-login-brand > span {
  display: grid;
  gap: 7px;
}

.dashboard-login-brand strong {
  color: #0b1b38;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: -0.035em;
}

.dashboard-login-brand small {
  color: #637187;
  font-size: 11px;
  line-height: 1.2;
}

.dashboard-login-intro-copy > span,
.dashboard-login-heading > span {
  color: #23834d;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.dashboard-login-intro-copy h3 {
  margin: 18px 0 20px;
  color: #0b1b38;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 3.2vw, 44px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.dashboard-login-intro-copy p {
  max-width: 330px;
  margin: 0;
  color: #59687d;
  font-size: 14px;
  line-height: 1.55;
}

.dashboard-login-intro > a {
  position: relative;
  width: fit-content;
  color: #59687d;
  font-size: 12px;
  line-height: 1.4;
  text-decoration: none;
}

.dashboard-login-intro > a strong {
  display: block;
  margin-top: 4px;
  color: #23834d;
  font-weight: 750;
}

.dashboard-login-panel {
  min-width: 0;
  padding: 46px 50px 36px;
  overflow-y: auto;
}

.dashboard-login-heading {
  padding-right: 34px;
}

.dashboard-login-heading h2 {
  margin: 13px 0 0;
  color: #0b1b38;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 3.4vw, 48px);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.045em;
}

.dashboard-login-heading p {
  margin: 15px 0 0;
  color: #657389;
  font-size: 13px;
  line-height: 1.45;
}

.dashboard-login-close {
  top: 19px;
  right: 20px;
  z-index: 5;
  width: 34px;
  height: 34px;
  border: 1px solid #dce4e7;
  border-radius: 50%;
  color: #56667d;
  background: rgba(255, 255, 255, 0.94);
  font-size: 22px;
}

.dashboard-login-close:hover,
.dashboard-login-close:focus-visible {
  border-color: rgba(35, 131, 77, 0.46);
  color: #0b1b38;
  background: #f4faf6;
}

.dashboard-login-tabs {
  margin: 30px 0 22px;
  border-bottom-color: #dce3e8;
}

.dashboard-login-tab {
  min-height: 42px;
  appearance: none;
  color: #6b788d;
  font-size: 13px;
  font-weight: 700;
}

.dashboard-login-tab.is-active {
  color: #0b1b38;
  font-weight: 800;
}

.dashboard-login-tab.is-active::after {
  height: 2px;
  border-radius: 0;
  background: #23834d;
}

.dashboard-login-tab:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.35);
  outline-offset: -4px;
}

.dashboard-login-form {
  gap: 13px;
}

.dashboard-login-field {
  min-height: 50px;
  padding: 0 14px;
  border-color: #ccd8df;
  border-radius: 8px;
  box-shadow: none;
}

.dashboard-login-field:focus-within {
  border-color: rgba(35, 131, 77, 0.65);
  box-shadow: 0 0 0 3px rgba(35, 131, 77, 0.09);
}

.dashboard-login-field input {
  font-size: 14px;
  font-weight: 600;
}

.dashboard-login-field input::placeholder {
  color: #8290a3;
}

.dashboard-login-field-icon,
.dashboard-login-eye-icon {
  stroke: #71849b;
  stroke-width: 1.7;
}

.dashboard-login-row {
  min-height: 25px;
  margin: 1px 0 2px;
}

.dashboard-login-check,
.dashboard-login-forgot {
  color: #617087;
  font-size: 11px;
  font-weight: 700;
}

.dashboard-login-submit {
  min-height: 50px;
  margin-top: 2px;
  border-radius: 8px;
  background: #23834d;
  box-shadow: none;
  font-size: 14px;
  font-weight: 800;
  transition: background 160ms ease, transform 160ms ease;
}

.dashboard-login-submit:hover,
.dashboard-login-submit:focus-visible {
  background: #176b3d;
}

.dashboard-login-divider {
  margin: 18px 0 15px;
  color: #77869a;
  font-weight: 650;
}

.dashboard-login-divider span {
  background: #dce3e8;
}

.dashboard-login-socials {
  gap: 10px;
}

.dashboard-login-social {
  min-height: 46px;
  border-color: #ccd8df;
  border-radius: 8px;
  box-shadow: none;
  font-size: 13px;
  font-weight: 750;
}

.dashboard-login-social:hover,
.dashboard-login-social:focus-visible {
  border-color: rgba(35, 131, 77, 0.5);
  background: #f7faf8;
  transform: none;
}

.dashboard-login-signup {
  margin-top: 20px;
  color: #6d7b90;
  font-size: 12px;
  font-weight: 650;
}

.dashboard-login-signup button {
  color: #23834d;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 840px) {
  .dashboard-login-layer,
  .auth-modal-backdrop.is-open {
    align-items: end;
    padding: 12px 12px 0;
  }

  .dashboard-login-dialog {
    grid-template-columns: 1fr;
    width: min(560px, 100%);
    min-height: 0;
    max-height: calc(100dvh - 12px);
    border-radius: 20px 20px 0 0;
  }

  .dashboard-login-intro {
    display: none;
  }

  .dashboard-login-panel {
    padding: 34px 30px 28px;
  }

  .dashboard-login-heading h2 {
    font-size: 40px;
  }
}

@media (max-width: 430px) {
  .dashboard-login-layer,
  .auth-modal-backdrop.is-open {
    padding-right: 0;
    padding-left: 0;
  }

  .dashboard-login-dialog {
    width: 100%;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
  }

  .dashboard-login-panel {
    padding: 30px 22px 24px;
  }

  .dashboard-login-heading {
    padding-right: 38px;
  }

  .dashboard-login-heading h2 {
    font-size: 36px;
  }

  .dashboard-login-heading p {
    max-width: 290px;
  }

  .dashboard-login-tabs {
    margin-top: 24px;
  }

  .dashboard-login-socials {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-height: 690px) and (min-width: 841px) {
  .dashboard-login-dialog {
    min-height: 0;
  }

  .dashboard-login-intro,
  .dashboard-login-panel {
    padding-top: 30px;
    padding-bottom: 28px;
  }

  .dashboard-login-intro-copy h3 {
    font-size: 34px;
  }

  .dashboard-login-heading h2 {
    font-size: 38px;
  }

  .dashboard-login-tabs {
    margin-top: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-login-submit {
    transition: none;
  }
}

/* v302: compact approved podcast archive and source-grounded episode pages. */
body.portal-with-sidebar.podcasts-editorial-page .page-shell.podcasts-editorial-shell,
body.portal-with-sidebar.podcasts-editorial-page .page-shell.podcast-detail-shell {
  box-sizing: border-box;
  width: min(1160px, calc(100% - 48px));
  max-width: 1160px;
  min-width: 0;
  margin: 0 auto;
  padding: 24px 28px 44px;
  background: #ffffff;
}

body.podcasts-editorial-page .podcasts-editorial-heading {
  display: block;
  max-width: none;
  margin: 0 0 20px;
  padding: 0;
  border: 0;
}

body.podcasts-editorial-page .podcasts-editorial-heading h1 {
  font-size: clamp(44px, 4vw, 54px);
  line-height: 0.98;
  letter-spacing: -0.04em;
}

body.podcasts-editorial-page .podcasts-editorial-heading p {
  max-width: 720px;
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 1.4;
}

body.podcasts-editorial-page .podcasts-featured {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 30px;
  max-width: none;
  margin: 0 0 26px;
}

body.podcasts-editorial-page .podcasts-player {
  aspect-ratio: 1.98 / 1;
}

body.podcasts-editorial-page .podcasts-player-poster > span {
  width: 58px;
  height: 58px;
}

body.podcasts-editorial-page .podcasts-player-poster > strong {
  right: 18px;
  bottom: 16px;
  font-size: 13px;
}

body.podcasts-editorial-page .podcasts-featured-copy {
  padding-top: 4px;
}

body.podcasts-editorial-page .podcasts-featured-copy > p,
body.podcast-detail-page .podcast-detail-heading > p {
  margin: 0 0 10px;
  color: var(--podcasts-green);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
}

body.podcasts-editorial-page .podcasts-featured-copy h2 {
  font-size: clamp(28px, 2.4vw, 36px);
  line-height: 1.04;
  letter-spacing: -0.03em;
}

body.podcasts-editorial-page .podcasts-featured-copy h2 a {
  color: inherit;
  text-decoration: none;
}

body.podcasts-editorial-page .podcasts-featured-copy h2 a:hover,
body.podcasts-editorial-page .podcasts-featured-copy h2 a:focus-visible {
  color: var(--podcasts-green);
}

body.podcasts-editorial-page .podcasts-featured-copy > time {
  margin-top: 12px;
  font-size: 13px;
}

body.podcasts-editorial-page .podcasts-featured-copy dl {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 16px 0 0;
  padding-top: 14px;
}

body.podcasts-editorial-page .podcasts-featured-copy dl div {
  gap: 4px;
}

body.podcasts-editorial-page .podcasts-featured-copy dt {
  font-size: 12px;
}

body.podcasts-editorial-page .podcasts-featured-copy dd {
  font-size: 14px;
  line-height: 1.35;
}

body.podcasts-editorial-page .podcasts-featured-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 18px;
}

body.podcasts-editorial-page .podcasts-featured-actions button,
body.podcast-detail-page .podcast-detail-watch {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid var(--podcasts-green);
  border-radius: 0;
  color: #ffffff;
  background: var(--podcasts-green);
  box-shadow: none;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}

body.podcasts-editorial-page .podcasts-featured-actions button:hover,
body.podcasts-editorial-page .podcasts-featured-actions button:focus-visible,
body.podcast-detail-page .podcast-detail-watch:hover,
body.podcast-detail-page .podcast-detail-watch:focus-visible {
  background: #176f3e;
  outline: 0;
}

body.podcasts-editorial-page .podcasts-featured-actions > a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--podcasts-green);
  font-size: 13px;
  text-decoration: none;
}

body.podcasts-editorial-page .podcasts-featured-actions > a svg,
body.podcast-detail-page .podcast-detail-links svg,
body.podcast-detail-page .podcast-detail-related .podcasts-section-heading a svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.podcasts-editorial-page .podcasts-episodes,
body.podcast-detail-page .podcast-detail-related {
  max-width: none;
  margin: 0;
}

body.podcasts-editorial-page .podcasts-section-heading {
  align-items: baseline;
  padding-bottom: 9px;
}

body.podcasts-editorial-page .podcasts-section-heading h2 {
  font-size: clamp(30px, 2.6vw, 38px);
  letter-spacing: -0.035em;
}

body.podcasts-editorial-page .podcasts-section-heading span,
body.podcast-detail-page .podcast-detail-related .podcasts-section-heading > a {
  padding: 0;
  color: var(--podcasts-muted);
  font-size: 13px;
}

body.podcast-detail-page .podcast-detail-related .podcasts-section-heading > a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--podcasts-green);
  text-decoration: none;
}

body.podcasts-editorial-page .podcasts-episode-button {
  grid-template-columns: 56px 170px minmax(0, 1fr) 22px;
  gap: 18px;
  min-height: 92px;
  padding: 8px 0;
  color: var(--podcasts-ink);
  text-decoration: none;
}

body.podcasts-editorial-page .podcasts-episode-number {
  font-size: 34px;
}

body.podcasts-editorial-page .podcasts-episode-image {
  height: 78px;
  aspect-ratio: auto;
}

body.podcasts-editorial-page .podcasts-play {
  right: 9px;
  bottom: 9px;
  width: 34px;
  height: 34px;
}

body.podcasts-editorial-page .podcasts-play svg {
  width: 16px;
  height: 16px;
}

body.podcasts-editorial-page .podcasts-episode-copy {
  gap: 5px;
}

body.podcasts-editorial-page .podcasts-episode-copy time {
  font-size: 12px;
}

body.podcasts-editorial-page .podcasts-episode-copy strong {
  max-width: 760px;
  font-size: clamp(21px, 1.85vw, 28px);
  line-height: 1.08;
}

body.podcasts-editorial-page .podcasts-row-arrow svg {
  width: 19px;
  height: 19px;
}

body.podcasts-editorial-page .podcasts-episode-button:hover .podcasts-row-arrow svg,
body.podcasts-editorial-page .podcasts-episode-button:focus-visible .podcasts-row-arrow svg {
  transform: translateX(3px);
}

body.podcast-detail-page .podcast-detail-shell {
  padding-top: 18px;
}

body.podcast-detail-page .podcast-detail-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  color: var(--podcasts-muted);
  font-size: 13px;
}

body.podcast-detail-page .podcast-detail-breadcrumb a {
  color: var(--podcasts-green);
  text-decoration: none;
}

body.podcast-detail-page .podcast-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr);
  align-items: start;
  gap: 34px;
}

body.podcast-detail-page .podcast-detail-hero .podcasts-player {
  aspect-ratio: 16 / 9;
}

body.podcast-detail-page .podcast-detail-heading h1 {
  margin: 0;
  color: var(--podcasts-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 3vw, 46px);
  font-weight: 400;
  line-height: 1.03;
  letter-spacing: -0.035em;
}

body.podcast-detail-page .podcast-detail-heading > time {
  display: block;
  margin-top: 13px;
  color: var(--podcasts-muted);
  font-size: 13px;
}

body.podcast-detail-page .podcast-detail-heading dl {
  display: grid;
  gap: 14px;
  margin: 17px 0 0;
  padding-top: 15px;
  border-top: 1px solid var(--podcasts-line);
}

body.podcast-detail-page .podcast-detail-heading dl div {
  display: grid;
  gap: 4px;
}

body.podcast-detail-page .podcast-detail-heading dt {
  color: var(--podcasts-muted);
  font-size: 12px;
}

body.podcast-detail-page .podcast-detail-heading dd {
  margin: 0;
  color: var(--podcasts-ink);
  font-size: 14px;
  line-height: 1.38;
}

body.podcast-detail-page .podcast-detail-watch {
  margin-top: 18px;
}

body.podcast-detail-page .podcast-detail-description {
  max-width: 850px;
  margin: 38px 0 42px;
  padding-top: 26px;
  border-top: 1px solid var(--podcasts-line);
}

body.podcast-detail-page .podcast-detail-description h2 {
  margin: 0 0 14px;
  color: var(--podcasts-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
}

body.podcast-detail-page .podcast-detail-description p {
  margin: 0;
  color: #293650;
  font-size: 16px;
  line-height: 1.65;
}

body.podcast-detail-page .podcast-detail-links {
  margin-top: 17px;
}

body.podcast-detail-page .podcast-detail-links a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--podcasts-green);
  font-size: 14px;
  text-decoration: none;
}

body.podcast-detail-page .podcast-detail-related {
  margin-top: 38px;
}

body.podcast-detail-page .podcast-detail-description + .podcast-detail-related {
  margin-top: 0;
}

@media (max-width: 1100px) {
  body.portal-with-sidebar.podcasts-editorial-page .page-shell.podcasts-editorial-shell,
  body.portal-with-sidebar.podcasts-editorial-page .page-shell.podcast-detail-shell {
    width: calc(100% - 32px);
    padding-right: 18px;
    padding-left: 18px;
  }

  body.podcasts-editorial-page .podcasts-featured,
  body.podcast-detail-page .podcast-detail-hero {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.86fr);
    gap: 24px;
  }

  body.podcasts-editorial-page .podcasts-episode-button {
    grid-template-columns: 48px 150px minmax(0, 1fr) 20px;
    gap: 15px;
  }
}

@media (max-width: 760px) {
  body.portal-with-sidebar.podcasts-editorial-page .page-shell.podcasts-editorial-shell,
  body.portal-with-sidebar.podcasts-editorial-page .page-shell.podcast-detail-shell {
    width: calc(100% - 24px);
    padding: 24px 4px 40px;
  }

  body.podcasts-editorial-page .podcasts-editorial-heading h1 {
    font-size: 44px;
  }

  body.podcasts-editorial-page .podcasts-featured,
  body.podcast-detail-page .podcast-detail-hero {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  body.podcasts-editorial-page .podcasts-player,
  body.podcast-detail-page .podcast-detail-hero .podcasts-player {
    aspect-ratio: 16 / 9;
  }

  body.podcasts-editorial-page .podcasts-featured-copy dl {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  body.podcasts-editorial-page .podcasts-featured-actions {
    flex-wrap: wrap;
  }

  body.podcasts-editorial-page .podcasts-section-heading h2 {
    font-size: 34px;
  }

  body.podcasts-editorial-page .podcasts-episode-button {
    grid-template-columns: 34px 104px minmax(0, 1fr) 18px;
    gap: 10px;
    min-height: 82px;
    padding: 8px 0;
  }

  body.podcasts-editorial-page .podcasts-episode-number {
    grid-column: auto;
    grid-row: auto;
    align-self: center;
    padding-top: 0;
    font-size: 25px;
  }

  body.podcasts-editorial-page .podcasts-episode-image {
    grid-column: auto;
    grid-row: auto;
    margin-bottom: 0;
    height: 64px;
  }

  body.podcasts-editorial-page .podcasts-play {
    right: 6px;
    bottom: 6px;
    width: 27px;
    height: 27px;
  }

  body.podcasts-editorial-page .podcasts-episode-copy strong {
    font-size: 18px;
  }

  body.podcasts-editorial-page .podcasts-episode-copy {
    grid-column: auto;
    grid-row: auto;
  }

  body.podcasts-editorial-page .podcasts-row-arrow {
    grid-column: auto;
    grid-row: auto;
    align-self: center;
  }

  body.podcast-detail-page .podcast-detail-heading h1 {
    font-size: 36px;
  }

  body.podcast-detail-page .podcast-detail-description {
    margin-top: 30px;
  }
}

@media (max-width: 480px) {
  body.podcasts-editorial-page .podcasts-episode-button {
    grid-template-columns: 31px 88px minmax(0, 1fr);
  }

  body.podcasts-editorial-page .podcasts-episode-image {
    height: 56px;
  }

  body.podcasts-editorial-page .podcasts-row-arrow {
    display: none;
  }

  body.podcasts-editorial-page .podcasts-episode-copy strong {
    font-size: 16px;
  }
}

/* v303: compact specialist feature and clean portrait pairs without divider strips. */
body.specialists-editorial-page .specialists-editorial-hero {
  grid-template-columns: minmax(470px, 1.12fr) minmax(360px, 0.88fr);
  align-items: center;
  gap: clamp(34px, 4vw, 64px);
  min-height: 360px;
  padding: 26px 0 30px;
}

body.specialists-editorial-page .specialists-editorial-intro {
  padding-top: 0;
}

body.specialists-editorial-page .specialists-editorial-featured {
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  min-width: 0;
  padding: 20px 0;
}

body.specialists-editorial-page .specialists-editorial-featured > img {
  width: 176px;
  height: 220px;
  object-fit: cover;
  object-position: center 22%;
  background: #f1f4f2;
}

body.specialists-editorial-page .specialists-editorial-featured figcaption {
  min-width: 0;
  padding: 0;
}

body.specialists-editorial-page .specialists-editorial-featured h2 {
  font-size: clamp(26px, 2vw, 32px);
  line-height: 1.03;
  white-space: normal;
}

body.specialists-editorial-page .specialists-editorial-featured figcaption > p {
  margin-top: 10px;
  font-size: 16px;
}

body.specialists-editorial-page .specialists-editorial-featured figcaption > a {
  margin-top: 18px;
  font-size: 16px;
}

body.specialists-editorial-page .specialists-editorial-directory {
  padding-top: 22px;
}

body.specialists-editorial-page .specialists-editorial-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(30px, 3.4vw, 54px);
  row-gap: 22px;
  border-top: 0;
}

body.specialists-editorial-page .specialists-editorial-card,
body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 1),
body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 2),
body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 3),
body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 1),
body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 2),
body.specialists-editorial-page .specialists-editorial-card:nth-child(n + 4) {
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 22px;
  min-height: 210px;
  padding: 14px 0;
  border: 0;
}

body.specialists-editorial-page .specialists-editorial-card-photo {
  width: 150px;
  height: 184px;
  overflow: hidden;
  background: #f1f4f2;
}

body.specialists-editorial-page .specialists-editorial-card-photo::before {
  display: none;
  content: none;
}

body.specialists-editorial-page .specialists-editorial-card-photo img,
body.specialists-editorial-page .specialists-editorial-card-photo img[src] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  transform-origin: center 20%;
}

body.specialists-editorial-page .specialists-editorial-card-copy {
  padding: 7px 0 6px;
}

body.specialists-editorial-page .specialists-editorial-card-copy strong {
  font-size: clamp(24px, 1.7vw, 29px);
  line-height: 1.02;
}

body.specialists-editorial-page .specialists-editorial-card-copy small {
  margin-top: 11px;
}

body.specialists-editorial-page .specialists-editorial-card-link {
  padding-top: 18px;
  font-size: 15px;
}

@media (min-width: 901px) and (max-width: 1180px) {
  body.specialists-editorial-page .specialists-editorial-hero {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.82fr);
    gap: 28px;
    min-height: 330px;
  }

  body.specialists-editorial-page .specialists-editorial-featured {
    grid-template-columns: 142px minmax(0, 1fr);
    gap: 19px;
  }

  body.specialists-editorial-page .specialists-editorial-featured > img {
    width: 142px;
    height: 178px;
  }

  body.specialists-editorial-page .specialists-editorial-card,
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 1),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 2),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 3),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 1),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 2),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(n + 4) {
    grid-template-columns: 124px minmax(0, 1fr);
    gap: 18px;
    min-height: 184px;
    padding: 12px 0;
  }

  body.specialists-editorial-page .specialists-editorial-card-photo {
    width: 124px;
    height: 156px;
  }
}

@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) {
  body.specialists-editorial-page .specialists-editorial-hero {
    grid-template-columns: 1fr;
    gap: 24px;
    min-height: 0;
    padding-top: 30px;
  }

  body.specialists-editorial-page .specialists-editorial-featured {
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 22px;
    width: min(560px, 100%);
    padding: 0;
  }

  body.specialists-editorial-page .specialists-editorial-featured > img {
    width: 150px;
    height: 188px;
    aspect-ratio: auto;
  }
}

@media (max-width: 720px) {
  body.specialists-editorial-page .specialists-editorial-grid {
    grid-template-columns: 1fr;
    row-gap: 12px;
  }

  body.specialists-editorial-page .specialists-editorial-card,
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 1),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 2),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 3),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 1),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 2),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(n + 4) {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 18px;
    min-height: 164px;
    padding: 10px 0;
    border: 0;
  }

  body.specialists-editorial-page .specialists-editorial-card-photo {
    width: 112px;
    height: 140px;
  }

  body.specialists-editorial-page .specialists-editorial-card-copy strong {
    font-size: 22px;
  }
}

@media (max-width: 480px) {
  body.specialists-editorial-page .specialists-editorial-featured {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 16px;
  }

  body.specialists-editorial-page .specialists-editorial-featured > img {
    width: 112px;
    height: 140px;
  }

  body.specialists-editorial-page .specialists-editorial-featured h2 {
    font-size: 23px;
  }

  body.specialists-editorial-page .specialists-editorial-featured figcaption > p,
  body.specialists-editorial-page .specialists-editorial-featured figcaption > a {
    font-size: 14px;
  }

  body.specialists-editorial-page .specialists-editorial-card,
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 1),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 2),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(3n + 3),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 1),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(2n + 2),
  body.specialists-editorial-page .specialists-editorial-card:nth-child(n + 4) {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 15px;
    min-height: 138px;
  }

  body.specialists-editorial-page .specialists-editorial-card-photo {
    width: 92px;
    height: 116px;
  }

body.specialists-editorial-page .specialists-editorial-card-copy strong {
  font-size: 20px;
  }
}

/* v304: rehabilitation topic cards open their own curated material sets. */
body.rehabilitation-editorial-page .rehab-editorial-section-head--filterable {
  grid-template-columns: auto auto minmax(0, 1fr);
}

body.rehabilitation-editorial-page .rehab-editorial-topic-reset {
  color: var(--rehab-green);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
}

body.rehabilitation-editorial-page .rehab-editorial-topic-reset:hover,
body.rehabilitation-editorial-page .rehab-editorial-topic-reset:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}

body.rehabilitation-editorial-page .rehab-editorial-topic-reset[hidden] {
  display: none;
}

body.rehabilitation-editorial-page .rehab-editorial-topic.is-active > strong,
body.rehabilitation-editorial-page .rehab-editorial-topic.is-active > span {
  color: var(--rehab-green);
}

@media (max-width: 620px) {
  body.rehabilitation-editorial-page .rehab-editorial-section-head--filterable {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
  }

  body.rehabilitation-editorial-page .rehab-editorial-section-head--filterable > span {
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* v307: keep the portal brand at the same vertical coordinate when opening the assistant. */
@media (min-width: 921px) {
  .dashboard-ai-full-rail {
    padding-top: 38px;
  }
}

@media (min-width: 921px) and (max-height: 850px) {
  .dashboard-ai-full-rail {
    padding-top: 20px;
  }
}
/* v316: social sign-in is not available on the portal. */
.dashboard-login-divider,
.dashboard-login-socials {
  display: none !important;
}

/* v317: keep the login brand panel quiet and functional. */
.dashboard-login-intro-copy {
  display: none !important;
}

/* v318: the full-screen assistant is an explicit work-in-progress placeholder. */
.dashboard-ai-fullscreen.is-maintenance {
  position: relative;
  overflow: hidden;
}

.dashboard-ai-maintenance {
  position: absolute;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: start center;
  padding: 0 clamp(18px, 4vw, 64px);
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 48%, rgba(255, 255, 255, 0.3), transparent 42%),
    rgba(244, 248, 246, 0.82);
  backdrop-filter: blur(4px) saturate(0.72);
  pointer-events: none;
}

.dashboard-ai-maintenance-sign {
  position: relative;
  width: min(1180px, 82vw);
  max-width: 100%;
}

.dashboard-ai-maintenance-sign img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  filter: drop-shadow(0 30px 34px rgba(13, 35, 67, 0.22));
}

.dashboard-ai-fullscreen.is-maintenance .dashboard-ai-full-controls {
  position: relative;
  z-index: 22;
  pointer-events: auto;
}

.dashboard-ai-fullscreen.is-maintenance .dashboard-ai-full-portal-brand {
  position: relative;
  z-index: 1;
  opacity: 0.58;
  filter: blur(5px) saturate(0.65);
  pointer-events: none;
  user-select: none;
}

.dashboard-ai-fullscreen.is-maintenance .dashboard-ai-full-rail,
.dashboard-ai-fullscreen.is-maintenance .dashboard-ai-full-main {
  pointer-events: none;
  user-select: none;
}

.dashboard-ai-fullscreen.is-maintenance .dashboard-ai-full-controls,
.dashboard-ai-fullscreen.is-maintenance .dashboard-ai-full-controls button {
  pointer-events: auto;
}

.dashboard-ai-fullscreen.is-maintenance [inert] {
  pointer-events: none !important;
  user-select: none;
}

@media (max-width: 920px) {
  .dashboard-ai-maintenance {
    padding: 0;
  }

  .dashboard-ai-maintenance-sign {
    width: min(960px, 138vw);
    max-width: none;
  }
}

/* v322-final: photo-led personal-account dialog, after all legacy auth rules. */
.dashboard-login-dialog {
  grid-template-columns: minmax(440px, 0.92fr) minmax(520px, 1.08fr);
  width: min(1260px, calc(100vw - 48px));
  max-width: none;
  height: min(760px, calc(100dvh - 48px));
  min-height: min(760px, calc(100dvh - 48px));
  max-height: calc(100dvh - 48px);
  border-radius: 26px;
}

.dashboard-login-intro {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 22px;
  padding: 38px 38px 34px;
  background: #edf6f0;
}

.dashboard-login-intro::after {
  display: none;
}

.dashboard-login-brand {
  position: relative;
  z-index: 2;
  gap: 16px;
}

.dashboard-login-brand img {
  width: 76px;
  height: 90px;
}

.dashboard-login-brand strong {
  font-size: 28px;
}

.dashboard-login-brand small {
  font-size: 12px;
}

.dashboard-login-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 64px clamp(52px, 5.2vw, 76px) 50px;
}

.dashboard-login-heading {
  padding-right: 42px;
}

.dashboard-login-heading > span {
  font-size: 12px;
  letter-spacing: 0.11em;
}

.dashboard-login-heading h2 {
  max-width: 620px;
  margin-top: 18px;
  font-size: clamp(46px, 4.2vw, 62px);
  line-height: 0.96;
}

.dashboard-login-heading p {
  margin-top: 18px;
  font-size: 15px;
}

.dashboard-login-tabs {
  margin-top: 48px;
}

.dashboard-login-field {
  min-height: 58px;
  padding: 0 18px;
  border-radius: 10px;
}

.dashboard-login-field input {
  font-size: 15px;
}

.dashboard-login-submit {
  min-height: 58px;
  border-radius: 10px;
  font-size: 16px;
}

.dashboard-login-signup {
  margin-top: 24px;
}

@media (max-width: 1040px) {
  .dashboard-login-dialog {
    grid-template-columns: minmax(340px, 0.85fr) minmax(480px, 1.15fr);
  }

  .dashboard-login-intro {
    padding-right: 28px;
    padding-left: 28px;
  }

  .dashboard-login-visual {
    margin-right: -28px;
    margin-left: -28px;
  }

  .dashboard-login-panel {
    padding-right: 42px;
    padding-left: 42px;
  }
}

@media (max-width: 840px) {
  .dashboard-login-dialog {
    display: block;
    width: min(560px, 100%);
    max-width: 560px;
    height: auto;
    min-height: 0;
    max-height: calc(100dvh - 12px);
  }

  .dashboard-login-intro {
    display: none;
  }

  .dashboard-login-panel {
    display: block;
    padding: 36px 30px 28px;
  }

  .dashboard-login-heading h2 {
    font-size: 40px;
  }

  .dashboard-login-tabs {
    margin-top: 26px;
  }
}

@media (max-width: 430px) {
  .dashboard-login-dialog {
    max-width: none;
  }
}

@media (max-height: 760px) and (min-width: 841px) {
  .dashboard-login-dialog {
    height: calc(100dvh - 48px);
    min-height: 0;
  }

  .dashboard-login-intro {
    padding-top: 26px;
    padding-bottom: 24px;
  }

  .dashboard-login-brand img {
    width: 62px;
    height: 74px;
  }

  .dashboard-login-brand strong {
    font-size: 24px;
  }

  .dashboard-login-visual img {
    min-height: 300px;
  }

  .dashboard-login-panel {
    justify-content: flex-start;
    padding-top: 36px;
    padding-bottom: 30px;
  }

  .dashboard-login-heading h2 {
    font-size: 46px;
  }

  .dashboard-login-tabs {
    margin-top: 28px;
  }
}

/* v327: preserve the complete seated figures from the approved Concept 1 crop. */
.dashboard-login-visual {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

.dashboard-login-visual img {
  width: 132% !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: none;
  flex: 0 0 auto;
  object-fit: contain !important;
  object-position: left bottom !important;
  transform: none !important;
  transform-origin: left bottom !important;
}

/* v328: make every homepage portal group an explicit destination menu. */
body.portal-dashboard-home .support-section-highlight {
  grid-template-columns: 43% minmax(0, 1fr);
  grid-template-rows: 286px;
  min-height: 286px;
}

body.portal-dashboard-home .support-section-highlight > img {
  height: 286px;
}

body.portal-dashboard-home .support-section-highlight-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 24px 16px 18px;
}

body.portal-dashboard-home .support-section-highlight-copy > strong {
  display: block;
}

body.portal-dashboard-home .support-section-highlight-copy > small {
  display: block;
  margin-top: 8px;
}

body.portal-dashboard-home .support-section-highlight-links {
  display: grid;
  min-width: 0;
  margin-top: auto;
  border-bottom: 1px solid var(--editorial-line);
}

body.portal-dashboard-home .support-section-highlight-links a {
  display: flex;
  min-width: 0;
  min-height: 29px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-top: 1px solid var(--editorial-line);
  color: var(--editorial-green);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

body.portal-dashboard-home .support-section-highlight-links a span {
  min-width: 0;
}

body.portal-dashboard-home .support-section-highlight-links svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  transition: transform 160ms ease;
}

body.portal-dashboard-home .support-section-highlight-links a:hover,
body.portal-dashboard-home .support-section-highlight-links a:focus-visible {
  color: #126f3f;
}

body.portal-dashboard-home .support-section-highlight-links a:hover svg,
body.portal-dashboard-home .support-section-highlight-links a:focus-visible svg {
  transform: translateX(3px);
}

@media (max-width: 1800px) and (min-width: 901px) {
  body.portal-dashboard-home .support-section-highlights {
    grid-template-columns: 1fr;
  }

  body.portal-dashboard-home .support-section-highlight {
    grid-template-columns: 34% minmax(0, 1fr);
    grid-template-rows: 218px;
    min-height: 218px;
  }

  body.portal-dashboard-home .support-section-highlight > img {
    height: 218px;
  }

  body.portal-dashboard-home .support-section-highlight-copy {
    padding: 22px 22px 18px;
  }

  body.portal-dashboard-home .support-section-highlight-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
  }
}

@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) {
  body.portal-dashboard-home .support-section-highlight {
    grid-template-columns: 36% minmax(0, 1fr);
    grid-template-rows: 218px;
    min-height: 218px;
  }

  body.portal-dashboard-home .support-section-highlight > img {
    height: 218px;
  }

  body.portal-dashboard-home .support-section-highlight-copy {
    padding: 20px 18px 16px;
  }

  body.portal-dashboard-home .support-section-highlight-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
  }
}

@media (max-width: 620px) {
  body.portal-dashboard-home .support-section-highlight {
    grid-template-columns: 1fr;
    grid-template-rows: 168px auto;
    min-height: 0;
  }

  body.portal-dashboard-home .support-section-highlight > img {
    height: 168px;
    border-radius: 11px 11px 0 0;
  }

  body.portal-dashboard-home .support-section-highlight-copy {
    padding: 20px 18px;
  }

  body.portal-dashboard-home .support-section-highlight-links {
    grid-template-columns: 1fr;
    margin-top: 18px;
  }

  body.portal-dashboard-home .support-section-highlight-links a {
    min-height: 36px;
    font-size: 12px;
  }
}

/* v329: homepage routes begin with the visitor's situation, not another navigation menu. */
.support-situation-section {
  padding: 34px 42px 52px;
  background: #fff;
  border-top: 1px solid var(--editorial-line);
}

.support-situation-heading h2 {
  display: flex;
  align-items: center;
  gap: 22px;
  margin: 0;
  color: var(--editorial-navy);
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(38px, 3vw, 58px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.035em;
}

.support-situation-heading h2::after {
  height: 1px;
  min-width: 48px;
  flex: 1;
  background: var(--editorial-line);
  content: "";
}

.support-situation-heading p {
  margin: 14px 0 0;
  color: var(--editorial-muted);
  font-size: 14px;
  line-height: 1.5;
}

.support-situation-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin-top: 30px;
  border-top: 1px solid var(--editorial-line);
  border-bottom: 1px solid var(--editorial-line);
}

.support-situation-tabs {
  display: grid;
  align-content: start;
}

.support-situation-tab {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 88px;
  grid-template-columns: 68px minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  padding: 0 34px 0 18px;
  border: 0;
  border-bottom: 1px solid var(--editorial-line);
  background: transparent;
  color: var(--editorial-navy);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.support-situation-tab:last-child {
  border-bottom: 0;
}

.support-situation-tab::before {
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 0;
  width: 3px;
  background: var(--editorial-green);
  content: "";
  opacity: 0;
  transform: scaleY(0.35);
  transition: opacity 160ms ease, transform 160ms ease;
}

.support-situation-tab > span {
  color: var(--editorial-green);
  font-family: "Times New Roman", Times, serif;
  font-size: 24px;
  line-height: 1;
}

.support-situation-tab > strong {
  min-width: 0;
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(23px, 1.7vw, 31px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.support-situation-tab[aria-selected="true"] {
  color: var(--editorial-green);
}

.support-situation-tab[aria-selected="true"]::before {
  opacity: 1;
  transform: scaleY(1);
}

.support-situation-tab:hover,
.support-situation-tab:focus-visible {
  color: var(--editorial-green);
}

.support-situation-tab:focus-visible {
  outline: 2px solid rgba(31, 143, 79, 0.45);
  outline-offset: -3px;
}

.support-situation-panel {
  min-width: 0;
  border-left: 1px solid var(--editorial-line);
  padding: 38px 42px 30px 52px;
}

.support-situation-panel-copy {
  animation: support-situation-in 180ms ease both;
}

.support-situation-panel h3 {
  max-width: 620px;
  margin: 0;
  color: var(--editorial-navy);
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(31px, 2.4vw, 44px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.03em;
}

.support-situation-panel p {
  max-width: 590px;
  margin: 18px 0 28px;
  color: var(--editorial-muted);
  font-size: 15px;
  line-height: 1.55;
}

.support-situation-links {
  display: grid;
  border-bottom: 1px solid var(--editorial-line);
}

.support-situation-links a {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid var(--editorial-line);
  color: var(--editorial-green);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

.support-situation-links a span {
  min-width: 0;
}

.support-situation-links svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  transition: transform 160ms ease;
}

.support-situation-links a:hover,
.support-situation-links a:focus-visible {
  color: #126f3f;
}

.support-situation-links a:hover svg,
.support-situation-links a:focus-visible svg {
  transform: translateX(4px);
}

@keyframes support-situation-in {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1120px) {
  .support-situation-section {
    padding-right: 30px;
    padding-left: 30px;
  }

  .support-situation-tab {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    padding-right: 22px;
  }

  .support-situation-panel {
    padding-right: 28px;
    padding-left: 34px;
  }
}

@media (max-width: 820px) {
  body.portal-dashboard-home .support-home-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .support-situation-grid {
    grid-template-columns: 1fr;
  }

  .support-situation-panel {
    border-top: 1px solid var(--editorial-line);
    border-left: 0;
    padding: 32px 18px 28px;
  }
}

@media (max-width: 620px) {
  .support-situation-section {
    padding: 28px 20px 38px;
  }

  .support-situation-heading h2 {
    gap: 14px;
    font-size: 38px;
  }

  .support-situation-heading p {
    font-size: 13px;
  }

  .support-situation-grid {
    margin-top: 24px;
  }

  .support-situation-tab {
    min-height: 74px;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
    padding: 0 12px 0 14px;
  }

  .support-situation-tab > span {
    font-size: 20px;
  }

  .support-situation-tab > strong {
    font-size: 23px;
  }

  .support-situation-panel {
    padding: 28px 14px 24px;
  }

  .support-situation-panel h3 {
    font-size: 32px;
  }

  .support-situation-panel p {
    margin: 14px 0 22px;
    font-size: 14px;
  }

  .support-situation-links a {
    min-height: 50px;
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .support-situation-panel-copy {
    animation: none;
  }
}

/* About, privacy and consent surfaces added during the source-completeness pass. */
.portal-cookie-banner {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 10020;
  display: none;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 18px;
  width: min(720px, calc(100vw - 48px));
  padding: 18px 20px;
  border: 1px solid rgba(28, 129, 76, 0.28);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 20px 55px rgba(23, 49, 68, 0.18);
  color: #102341;
  font-family: Arial, Helvetica, sans-serif;
}

.portal-cookie-banner.is-visible {
  display: grid;
}

.portal-cookie-banner strong {
  display: block;
  margin-bottom: 4px;
  font-size: 16px;
}

.portal-cookie-banner p {
  margin: 0;
  color: #60708a;
  font-size: 13px;
  line-height: 1.45;
}

.portal-cookie-banner a {
  color: #1c814c;
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.portal-cookie-banner button {
  min-height: 44px;
  padding: 0 20px;
  border: 0;
  border-radius: 12px;
  color: #fff;
  background: #1c814c;
  font: 700 14px/1 Arial, Helvetica, sans-serif;
  cursor: pointer;
}

.dashboard-login-consent {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  color: #66758d;
  font: 600 12px/1.45 Arial, Helvetica, sans-serif;
}

.dashboard-login-consent[hidden] {
  display: none !important;
}

.dashboard-login-consent input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.dashboard-login-consent > span {
  width: 18px;
  height: 18px;
  margin-top: 1px;
  border: 1px solid #a9bdd0;
  border-radius: 4px;
  background: #fff;
}

.dashboard-login-consent input:checked + span {
  border-color: #1c814c;
  background: #1c814c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 10 4 4 8-9' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;
}

.dashboard-login-consent em {
  font-style: normal;
}

.dashboard-login-consent a {
  color: #1c814c;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.about-editorial-page,
body.privacy-editorial-page {
  margin: 0;
  color: #102341;
  background: #fff !important;
}

.about-editorial-shell,
.privacy-editorial-shell {
  box-sizing: border-box;
  width: min(1380px, calc(100% - 64px));
  margin: 0 auto;
  padding: 64px 0 80px;
}

.about-editorial-shell {
  width: min(1260px, calc(100% - 80px));
  padding: 48px 0 104px;
}

.about-editorial-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
  gap: clamp(56px, 8vw, 112px);
  align-items: center;
  padding: 48px 0 64px;
  border-top: 1px solid #d8e1e7;
  border-bottom: 1px solid #d8e1e7;
}

.about-editorial-hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.about-editorial-hero h1,
.about-editorial-story h2,
.about-editorial-mission h2,
.privacy-editorial-hero h1 {
  margin: 0;
  color: #071a38;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  line-height: 1.02;
}

.about-editorial-hero h1 {
  max-width: 620px;
  font-size: clamp(58px, 5.3vw, 78px);
  letter-spacing: -0.035em;
}

.about-editorial-hero p,
.about-editorial-mission p,
.privacy-editorial-hero p {
  max-width: 760px;
  margin: 24px 0 0;
  color: #5e6d84;
  font: 400 20px/1.55 Arial, Helvetica, sans-serif;
}

.about-editorial-hero-copy > a {
  display: inline-flex;
  gap: 16px;
  align-items: center;
  margin-top: 40px;
  padding-bottom: 8px;
  border-bottom: 1px solid #1c814c;
  color: #1c814c;
  font: 700 17px/1.2 Georgia, "Times New Roman", serif;
  text-decoration: none;
}

.about-editorial-hero-copy > a svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.about-editorial-hero-copy > a:hover,
.about-editorial-hero-copy > a:focus-visible {
  color: #0f6439;
}

.about-editorial-founder {
  margin: 0;
}

.about-editorial-founder img {
  width: 100%;
  aspect-ratio: 4 / 4.35;
  object-fit: cover;
  object-position: center 28%;
}

.about-editorial-founder figcaption {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 0 0;
  border-top: 1px solid #d8e1e7;
  color: #5e6d84;
  font: 400 14px/1.4 Arial, Helvetica, sans-serif;
}

.about-editorial-founder figcaption strong {
  color: #071a38;
  font-size: 15px;
}

.about-editorial-founder figcaption span {
  text-align: right;
}

.about-editorial-story {
  display: grid;
  grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(56px, 8vw, 112px);
  align-items: start;
  padding: 88px 0 96px;
  border-bottom: 1px solid #d8e1e7;
}

.about-editorial-story-heading {
  position: sticky;
  top: 120px;
}

.about-editorial-story h2,
.about-editorial-mission h2 {
  font-size: clamp(42px, 4.1vw, 58px);
  letter-spacing: -0.025em;
}

.about-editorial-story-heading > p {
  max-width: 360px;
  margin: 24px 0 0;
  color: #5e6d84;
  font: 400 17px/1.6 Arial, Helvetica, sans-serif;
}

.about-editorial-story-copy {
  max-width: 760px;
}

.about-editorial-story-copy p,
.about-editorial-mission p {
  margin: 0 0 26px;
  color: #243750;
  font: 400 18px/1.75 Arial, Helvetica, sans-serif;
}

.about-editorial-story-copy p:first-child::first-letter {
  float: left;
  margin: 4px 10px 0 0;
  color: #1c814c;
  font: 400 62px/0.8 Georgia, "Times New Roman", serif;
}

.about-editorial-mission {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
  align-items: stretch;
  margin-top: 80px;
  background: #f1f7f3;
}

.about-editorial-mission figure {
  min-height: 520px;
  margin: 0;
}

.about-editorial-mission img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-editorial-mission > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(48px, 6vw, 80px);
}

.about-editorial-mission h2 {
  margin-bottom: 32px;
}

.privacy-editorial-shell {
  width: min(1320px, calc(100% - 80px));
  padding: 48px 0 104px;
}

.privacy-editorial-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
  gap: 72px;
  align-items: end;
  padding: 48px 0 56px;
  border-top: 1px solid #d8e1e7;
  border-bottom: 1px solid #d8e1e7;
}

.privacy-editorial-hero span {
  color: #1c814c;
  font: 800 12px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.privacy-editorial-hero h1 {
  max-width: 790px;
  margin: 18px 0 0;
  color: #071a38;
  font: 400 clamp(50px, 5.2vw, 72px)/0.98 Georgia, "Times New Roman", serif;
  letter-spacing: -0.035em;
}

.privacy-editorial-hero > p {
  max-width: 420px;
  margin: 0 0 7px;
  padding-left: 24px;
  border-left: 2px solid #1c814c;
  color: #5e6d84;
  font: 400 18px/1.55 Arial, Helvetica, sans-serif;
}

.privacy-editorial-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 860px);
  gap: clamp(48px, 7vw, 96px);
  justify-content: center;
  align-items: start;
  margin-top: 72px;
}

.privacy-editorial-toc {
  position: sticky;
  top: 32px;
  display: flex;
  flex-direction: column;
  border-top: 1px solid #bccbd3;
}

.privacy-editorial-toc > strong {
  padding: 18px 0 16px;
  color: #071a38;
  font: 800 12px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.privacy-editorial-toc > a {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid #e0e7eb;
  color: #40516a;
  font: 600 13px/1.35 Arial, Helvetica, sans-serif;
  text-decoration: none;
  transition: color 160ms ease, padding-left 160ms ease;
}

.privacy-editorial-toc > a span {
  color: #1c814c;
  font-weight: 800;
}

.privacy-editorial-toc > a:hover,
.privacy-editorial-toc > a:focus-visible {
  padding-left: 5px;
  color: #1c814c;
}

.privacy-editorial-document {
  min-width: 0;
  margin: 0;
  color: #26364e;
  font: 400 17px/1.72 Arial, Helvetica, sans-serif;
}

.privacy-editorial-document > div > div:first-child,
.privacy-editorial-document h4 {
  display: none;
}

.privacy-policy-section {
  scroll-margin-top: 28px;
  padding: 40px 0 46px;
  border-top: 1px solid #bccbd3;
}

.privacy-policy-section:first-child {
  padding-top: 0;
  border-top: 0;
}

.privacy-editorial-document h2,
.privacy-editorial-document h5 {
  margin: 0 0 24px;
  color: #071a38;
  font: 400 clamp(28px, 3vw, 38px)/1.13 Georgia, "Times New Roman", serif;
  letter-spacing: -0.018em;
}

.privacy-editorial-document p {
  margin: 0 0 16px;
}

.privacy-editorial-document ul,
.privacy-editorial-document ol {
  margin: 0 0 18px;
  padding-left: 24px;
}

.privacy-editorial-document a {
  color: #1c814c;
  text-underline-offset: 3px;
}

.privacy-editorial-document table {
  display: block;
  width: 100%;
  margin: 26px 0;
  overflow-x: auto;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.5;
}

.privacy-editorial-document th,
.privacy-editorial-document td {
  min-width: 180px;
  padding: 14px 16px;
  border: 1px solid #d8e1e7;
  text-align: left;
  vertical-align: top;
}

.privacy-editorial-document th {
  color: #17375a;
  background: #f4f8f6;
  font-weight: 700;
}

.editorial-footer-bottom .editorial-footer-policy-link,
.editorial-footer-bottom a[href="/politika-konfidentsialnosti.html"] {
  color: #1c814c;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

@media (max-width: 1450px) and (min-width: 851px) {
  .privacy-editorial-hero {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .privacy-editorial-hero h1 { max-width: 900px; }
  .privacy-editorial-hero > p {
    max-width: 680px;
    margin: 0;
  }
}

@media (max-width: 850px) {
  .portal-cookie-banner,
  .portal-cookie-banner.is-visible { grid-template-columns: 1fr auto; }
  .portal-cookie-banner div { grid-column: 1 / -1; }
  .about-editorial-shell,
  .privacy-editorial-shell { width: min(100% - 32px, 720px); padding-top: 32px; }
  .about-editorial-shell { padding-bottom: 72px; }
  .about-editorial-hero {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 36px 0 48px;
  }
  .about-editorial-founder { width: min(100%, 480px); }
  .about-editorial-story {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 64px 0 72px;
  }
  .about-editorial-story-heading { position: static; }
  .about-editorial-story-heading > p { max-width: 520px; }
  .about-editorial-mission {
    grid-template-columns: 1fr;
    margin-top: 48px;
  }
  .about-editorial-mission figure { min-height: 0; }
  .about-editorial-mission img {
    height: auto;
    aspect-ratio: 16 / 10;
    object-position: center 38%;
  }
  .about-editorial-mission > div { padding: 40px 28px; }
  .privacy-editorial-hero {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 36px 0 40px;
  }
  .privacy-editorial-hero h1 {
    max-width: 620px;
    font-size: clamp(42px, 12vw, 62px);
  }
  .privacy-editorial-hero > p {
    max-width: 580px;
    margin: 0;
    padding: 0;
    border-left: 0;
  }
  .privacy-editorial-layout {
    grid-template-columns: 1fr;
    gap: 48px;
    margin-top: 48px;
  }
  .privacy-editorial-toc {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 28px;
  }
  .privacy-editorial-toc > strong { grid-column: 1 / -1; }
  .privacy-policy-section { padding: 34px 0 38px; }
}

@media (max-width: 560px) {
  .about-editorial-shell { width: min(100% - 24px, 520px); }
  .about-editorial-hero h1 { font-size: 52px; }
  .about-editorial-hero p { font-size: 18px; }
  .about-editorial-founder figcaption {
    flex-direction: column;
    gap: 4px;
  }
  .about-editorial-founder figcaption span { text-align: left; }
  .about-editorial-story h2,
  .about-editorial-mission h2 { font-size: 40px; }
  .about-editorial-story-copy p,
  .about-editorial-mission p { font-size: 17px; }
  .about-editorial-mission > div { padding: 34px 22px; }
  .privacy-editorial-toc { grid-template-columns: 1fr; }
  .privacy-editorial-document { font-size: 16px; line-height: 1.68; }
  .privacy-editorial-document h2,
  .privacy-editorial-document h5 { font-size: 28px; }
}
/* Keep the official pro-dcp.ru emblem intact. The purple planet is part of the source PNG. */
body.portal-dashboard-home .support-brand::before,
body.portal-dashboard-home .support-brand::after,
body.portal-with-sidebar .portal-shared-sidebar .support-brand::before,
body.portal-with-sidebar .portal-shared-sidebar .support-brand::after {
  content: none !important;
  display: none !important;
}

/* v334: approved mobile concept 1 — compact editorial shell. */
.portal-mobile-menu-toggle,
.portal-mobile-menu-close,
.portal-mobile-menu-backdrop,
.portal-mobile-nav-head {
  display: none;
}

.support-situation-tab > small {
  display: none;
}

@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) {
  :root {
    --mobile-editorial-ink: #071a38;
    --mobile-editorial-muted: #5e6d84;
    --mobile-editorial-green: #1c814c;
    --mobile-editorial-line: #d8e1e7;
    --mobile-editorial-header: 72px;
  }

  html.portal-scroll-locked,
  html.portal-scroll-locked body,
  body.portal-modal-open,
  body.portal-mobile-menu-open {
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  body.portal-dashboard-home,
  body.portal-with-sidebar {
    min-width: 0 !important;
    overflow-x: hidden !important;
    background: #ffffff !important;
  }

  body.portal-dashboard-home .support-home-shell {
    display: block !important;
    min-width: 0;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    display: flex !important;
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    height: var(--mobile-editorial-header) !important;
    min-height: var(--mobile-editorial-header) !important;
    align-items: center;
    gap: 0 !important;
    margin: 0 !important;
    padding: 7px 64px 7px 56px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--mobile-editorial-line) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 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 {
    display: grid !important;
    width: min(100%, 230px) !important;
    min-width: 0;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: center;
    gap: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.portal-dashboard-home .support-brand img,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand > img {
    display: block !important;
    width: 38px !important;
    height: 54px !important;
    object-fit: contain !important;
    filter: none !important;
  }

  body.portal-dashboard-home .support-brand span,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand > span {
    display: grid !important;
    min-width: 0;
    gap: 3px !important;
  }

  body.portal-dashboard-home .support-brand strong,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand strong {
    color: var(--mobile-editorial-ink) !important;
    font: 700 16px/0.98 Georgia, "Times New Roman", serif !important;
    letter-spacing: -0.035em !important;
  }

  body.portal-dashboard-home .support-brand small,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand small {
    margin: 0 !important;
    color: var(--mobile-editorial-muted) !important;
    font: 600 9px/1.15 Arial, Helvetica, sans-serif !important;
  }

  .portal-mobile-menu-toggle,
  .portal-mobile-menu-close {
    display: grid;
    place-items: center;
    box-sizing: border-box;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: var(--mobile-editorial-ink);
    background: transparent;
    cursor: pointer;
  }

  .portal-mobile-menu-toggle {
    position: absolute;
    left: 8px;
    top: 14px;
    z-index: 2;
  }

  .portal-mobile-menu-toggle svg,
  .portal-mobile-menu-close svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
  }

  .portal-mobile-menu-toggle:focus-visible,
  .portal-mobile-menu-close:focus-visible {
    outline: 2px solid rgba(28, 129, 76, 0.42);
    outline-offset: 1px;
  }

  body.portal-dashboard-home .support-nav,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 1020 !important;
    display: block !important;
    box-sizing: border-box;
    width: min(84vw, 344px) !important;
    height: 100dvh !important;
    max-height: none !important;
    padding: 0 18px 32px !important;
    overflow: hidden auto !important;
    visibility: hidden;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: 28px 0 70px rgba(7, 26, 56, 0.2) !important;
    opacity: 0;
    transform: translateX(-104%);
    transition: transform 220ms ease, opacity 180ms ease, visibility 220ms step-end;
  }

  body.portal-mobile-menu-open .support-nav,
  body.portal-mobile-menu-open .portal-shared-sidebar .support-nav {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
    transition: transform 220ms ease, opacity 180ms ease, visibility 0ms step-start;
  }

  body.portal-mobile-menu-open .support-sidebar,
  body.portal-mobile-menu-open .portal-shared-sidebar {
    z-index: auto !important;
  }

  .portal-mobile-nav-head {
    position: sticky;
    top: 0;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 84px;
    margin: 0 -2px 10px;
    border-bottom: 1px solid var(--mobile-editorial-line);
    background: #ffffff;
  }

  body.portal-dashboard-home .support-nav .portal-mobile-nav-head > a,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav .portal-mobile-nav-head > a {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 64px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  .portal-mobile-nav-head > a img {
    display: block;
    width: 38px;
    height: 54px;
    object-fit: contain;
  }

  .portal-mobile-nav-head > a span {
    display: grid !important;
    width: auto !important;
    height: auto !important;
    place-items: initial !important;
    gap: 3px;
  }

  .portal-mobile-nav-head > a strong {
    color: var(--mobile-editorial-ink);
    font: 700 17px/0.98 Georgia, "Times New Roman", serif;
    letter-spacing: -0.035em;
  }

  .portal-mobile-nav-head > a small {
    color: var(--mobile-editorial-muted);
    font: 600 9px/1.15 Arial, Helvetica, sans-serif;
  }

  body.portal-dashboard-home .support-nav > a,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav > a {
    display: grid !important;
    box-sizing: border-box;
    width: 100% !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    align-items: center;
    gap: 13px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #e3e9ed !important;
    border-radius: 0 !important;
    color: var(--mobile-editorial-ink) !important;
    background: transparent !important;
    font: 650 13px/1.2 Arial, Helvetica, sans-serif !important;
    white-space: normal !important;
    box-shadow: none !important;
  }

  body.portal-dashboard-home .support-nav > a.is-active,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav > a.is-active,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav > a[aria-current="page"] {
    color: var(--mobile-editorial-green) !important;
    background: #eef7f1 !important;
  }

  body.portal-dashboard-home .support-nav > a > span,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav > a > span {
    display: grid !important;
    width: 30px !important;
    height: 30px !important;
    place-items: center;
  }

  body.portal-dashboard-home .support-nav .support-nav-icon,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav-icon {
    display: block !important;
    width: 25px !important;
    height: 25px !important;
    object-fit: contain;
    filter: grayscale(1) saturate(0) brightness(0.54) sepia(0.1) hue-rotate(165deg) !important;
  }

  .portal-mobile-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 990;
    display: block;
    visibility: hidden;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(7, 26, 56, 0.46);
    opacity: 0;
    cursor: pointer;
    transition: opacity 180ms ease, visibility 180ms step-end;
  }

  body.portal-mobile-menu-open .portal-mobile-menu-backdrop {
    visibility: visible;
    opacity: 1;
    transition: opacity 180ms ease, visibility 0ms step-start;
  }

  body.portal-mobile-menu-open .support-sidebar,
  body.portal-mobile-menu-open .portal-shared-sidebar {
    z-index: 1000 !important;
    border-bottom-color: transparent !important;
    background: transparent !important;
  }

  body.portal-mobile-menu-open .support-topbar,
  body.portal-mobile-menu-open .portal-shared-topbar {
    z-index: 980 !important;
  }

  body.portal-dashboard-home .support-main {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.portal-dashboard-home .support-home-grid,
  body.portal-dashboard-home .support-home-left,
  body.portal-dashboard-home .support-home-right {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.portal-dashboard-home .support-home-grid {
    display: block !important;
  }

  body.portal-dashboard-home .support-topbar {
    position: absolute !important;
    top: calc(-1 * var(--mobile-editorial-header)) !important;
    right: 8px !important;
    z-index: 1005 !important;
    display: flex !important;
    width: 48px !important;
    min-width: 48px !important;
    height: var(--mobile-editorial-header) !important;
    min-height: var(--mobile-editorial-header) !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.portal-with-sidebar .portal-shared-topbar {
    position: absolute !important;
    top: 0 !important;
    right: 8px !important;
    z-index: 1005 !important;
    display: flex !important;
    width: 48px !important;
    min-width: 48px !important;
    height: var(--mobile-editorial-header) !important;
    min-height: var(--mobile-editorial-header) !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.portal-dashboard-home .support-topnav,
  body.portal-with-sidebar .portal-shared-topnav {
    display: none !important;
  }

  body.portal-dashboard-home .support-topbar .dashboard-login-trigger,
  body.portal-with-sidebar .portal-shared-topbar .dashboard-login-trigger {
    display: grid !important;
    box-sizing: border-box;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    place-items: center;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #9aabc1 !important;
    border-radius: 50% !important;
    color: var(--mobile-editorial-ink) !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

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

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

  body.portal-dashboard-home .support-topbar .dashboard-login-field-icon,
  body.portal-with-sidebar .portal-shared-topbar .dashboard-login-field-icon {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
  }

  body.portal-with-sidebar > main,
  body.portal-with-sidebar > .page-shell,
  body.portal-with-sidebar main.page-shell {
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.portal-with-sidebar main h1,
  body.portal-with-sidebar .page-shell h1,
  body.portal-dashboard-home main h1 {
    max-width: 100% !important;
    color: var(--mobile-editorial-ink) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(36px, 10.6vw, 44px) !important;
    font-weight: 400 !important;
    line-height: 1.03 !important;
    letter-spacing: -0.035em !important;
    overflow-wrap: anywhere;
  }

  body.portal-with-sidebar main p,
  body.portal-with-sidebar main li,
  body.portal-with-sidebar main a,
  body.portal-with-sidebar main strong,
  body.portal-with-sidebar main td,
  body.portal-with-sidebar main th {
    overflow-wrap: anywhere;
  }

  body.portal-dashboard-home .support-hero-carousel,
  body.portal-dashboard-home .support-hero-slides,
  body.portal-dashboard-home .support-hero-slide.is-active {
    min-height: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  body.portal-dashboard-home .support-hero-slides {
    position: relative !important;
  }

  body.portal-dashboard-home .support-hero-slide.is-active {
    position: relative !important;
    display: grid !important;
    grid-template-rows: auto 260px;
  }

  body.portal-dashboard-home .support-hero-slide::after {
    content: none !important;
  }

  body.portal-dashboard-home .support-hero-slide > img {
    position: relative !important;
    inset: auto !important;
    grid-row: 2;
    display: block !important;
    width: 100% !important;
    height: 260px !important;
    object-fit: cover !important;
    object-position: center 42% !important;
    filter: saturate(0.9) contrast(0.98) !important;
  }

  body.portal-dashboard-home .support-hero-image-link {
    inset: auto 0 0 !important;
    width: 100% !important;
    height: 260px !important;
  }

  body.portal-dashboard-home .support-hero-slide .support-hero-copy {
    position: relative !important;
    grid-row: 1;
    align-content: start !important;
    gap: 16px !important;
    box-sizing: border-box;
    width: 100% !important;
    min-height: 0 !important;
    padding: 26px 20px 34px !important;
  }

  body.portal-dashboard-home .support-hero h1 {
    font-size: clamp(40px, 11vw, 46px) !important;
  }

  body.portal-dashboard-home .support-hero h1 span {
    display: block;
    white-space: normal !important;
  }

  body.portal-dashboard-home .support-hero p {
    max-width: 520px;
    color: var(--mobile-editorial-muted) !important;
    font: 400 15px/1.5 Arial, Helvetica, sans-serif !important;
  }

  body.portal-dashboard-home .support-hero-story-link {
    display: inline-flex !important;
    min-height: 44px;
    align-items: center;
    padding: 4px 0 7px !important;
    font: 600 15px/1.3 Arial, Helvetica, sans-serif !important;
  }

  body.portal-dashboard-home .support-hero-pagination {
    top: auto !important;
    bottom: 238px !important;
    gap: 0 !important;
  }

  body.portal-dashboard-home .support-hero-pagination button {
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    background: radial-gradient(circle, #ffffff 0 4px, #718078 4.5px 5.5px, transparent 6px) center/44px 44px no-repeat !important;
    box-shadow: none !important;
  }

  body.portal-dashboard-home .support-hero-pagination button.is-active {
    background: radial-gradient(circle, var(--mobile-editorial-green) 0 5px, transparent 5.5px) center/44px 44px no-repeat !important;
    transform: none !important;
  }

  .support-situation-section {
    padding: 30px 20px 38px !important;
    border-top: 1px solid var(--mobile-editorial-line) !important;
  }

  .support-situation-heading h2 {
    display: block !important;
    font-size: 34px !important;
    line-height: 1.04 !important;
  }

  .support-situation-heading h2::after {
    content: none !important;
  }

  .support-situation-heading p {
    margin-top: 10px !important;
    font-size: 13px !important;
  }

  .support-situation-grid {
    margin-top: 22px !important;
  }

  .support-situation-tab {
    min-height: 72px !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-content: center !important;
    gap: 3px 10px !important;
    padding: 0 10px !important;
  }

  .support-situation-tab > span {
    grid-row: 1 / span 2;
    width: 28px !important;
    height: 28px !important;
    font-size: 0 !important;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    filter: grayscale(1) saturate(0) brightness(0.48) sepia(0.08) hue-rotate(165deg);
  }

  .support-situation-tab:nth-child(1) > span { background-image: url("/assets/generated/navigation-icons/specialists.png?v=2"); }
  .support-situation-tab:nth-child(2) > span { background-image: url("/assets/generated/navigation-icons/rehabilitation.png?v=2"); }
  .support-situation-tab:nth-child(3) > span { background-image: url("/assets/generated/navigation-icons/library.png?v=2"); }
  .support-situation-tab:nth-child(4) > span { background-image: url("/assets/generated/sidebar-icons/nav-psychological-v1.png"); }

  .support-situation-tab > strong {
    grid-column: 2;
    align-self: end;
    font: 400 19px/1.08 Georgia, "Times New Roman", serif !important;
  }

  .support-situation-tab > small {
    display: block;
    grid-column: 2;
    align-self: start;
    color: var(--mobile-editorial-muted);
    font: 400 11px/1.2 Arial, Helvetica, sans-serif;
  }

  .support-situation-panel {
    padding: 26px 10px 20px !important;
  }

  .support-situation-panel h3 {
    font-size: 28px !important;
  }

  .support-situation-links a {
    min-height: 52px !important;
  }

  body.portal-dashboard-home .support-home-right {
    position: relative !important;
    min-height: 0 !important;
    padding: 34px 20px !important;
  }

  .search-editorial-filters {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: visible !important;
  }

  .search-editorial-filters button {
    box-sizing: border-box;
    min-width: 0 !important;
    min-height: 52px !important;
    white-space: normal !important;
  }

  .specialists-editorial-card-link {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    justify-content: space-between !important;
  }

  .specialists-editorial-featured figcaption > a {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    justify-content: space-between !important;
  }

  .privacy-editorial-shell,
  .about-editorial-shell {
    width: min(100% - 32px, 720px) !important;
  }

  .privacy-editorial-hero,
  .about-editorial-hero {
    padding-top: 28px !important;
  }

  .privacy-editorial-hero h1,
  .privacy-editorial-hero p,
  .privacy-editorial-document,
  .privacy-editorial-document * {
    max-width: 100% !important;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .dashboard-ai-maintenance {
    place-items: center !important;
    padding: 16px !important;
  }

  .dashboard-ai-maintenance-sign {
    width: min(100%, 640px) !important;
    max-width: 100% !important;
  }

  .dashboard-login-layer,
  .auth-modal-backdrop {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  .dashboard-login-dialog {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 72px) !important;
    overflow: hidden auto !important;
    border-radius: 22px 22px 0 0 !important;
  }

  .dashboard-login-panel {
    padding-bottom: max(28px, env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 620px) {
  body.portal-with-sidebar > main,
  body.portal-with-sidebar main.page-shell,
  body.portal-with-sidebar .page-shell {
    width: min(100% - 32px, 560px) !important;
    padding-top: 28px !important;
  }

  body.institutions-editorial-page.portal-with-sidebar > main.institutions-editorial-shell {
    width: 100% !important;
    margin: 0 !important;
    padding-top: 0 !important;
  }

  body.institutions-editorial-page .institutions-editorial-nearby,
  body.institutions-editorial-page .institutions-editorial-directory {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  body.portal-dashboard-home .support-home-left,
  body.portal-dashboard-home .support-main,
  body.portal-dashboard-home .support-home-grid {
    width: 100% !important;
    min-width: 0 !important;
  }

  .editorial-footer {
    color: var(--editorial-ink, #0b1b38) !important;
    border-top: 1px solid var(--editorial-line, #dce3e8) !important;
    background: #ffffff !important;
    padding: 26px 20px 20px !important;
  }

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

  .editorial-footer-directory {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 18px !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .editorial-footer-directory nav {
    display: flex !important;
    gap: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .editorial-footer-directory nav:nth-of-type(1) { order: 1; }
  .editorial-footer-directory nav:nth-of-type(2) { order: 2; }

  .editorial-footer-directory nav:nth-of-type(3) {
    order: 3;
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 18px !important;
  }

  .editorial-footer-directory nav:nth-of-type(3) h2 {
    grid-column: 1 / -1;
  }

  .editorial-footer-directory nav a {
    display: flex !important;
    align-items: center !important;
    min-height: 36px !important;
    font-size: 12.5px !important;
    line-height: 1.25 !important;
  }

  .editorial-footer-directory h2 {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    color: var(--editorial-green, #23834d) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }

  .editorial-footer-directory nav a {
    color: var(--editorial-ink, #0b1b38) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
  }

  .editorial-footer-contact {
    order: 0;
    grid-column: 1 / -1;
    display: grid !important;
    gap: 7px !important;
    min-width: 0 !important;
    padding: 0 0 20px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--editorial-line, #dce3e8) !important;
    font-style: normal !important;
  }

  .editorial-footer-contact > span {
    display: block !important;
    margin: 0 !important;
    color: var(--editorial-green, #23834d) !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }

  .editorial-footer-contact > a {
    width: max-content !important;
    max-width: 100% !important;
    color: var(--editorial-ink, #0b1b38) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 24px !important;
    line-height: 1 !important;
    text-decoration: none !important;
  }

  .editorial-footer-contact > a::after {
    display: none !important;
    content: none !important;
  }

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

  .editorial-footer-bottom {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    min-height: 0 !important;
    margin-top: 20px !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid var(--editorial-line, #dce3e8) !important;
    background: transparent !important;
  }

  .editorial-footer-bottom small,
  .editorial-footer-bottom a {
    color: #8491a2 !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
  }

  .editorial-footer-bottom > div {
    display: none !important;
  }

  .portal-cookie-banner,
  .portal-cookie-banner.is-visible {
    right: 12px !important;
    bottom: 12px !important;
    width: calc(100vw - 24px) !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 16px !important;
    border-radius: 14px !important;
  }

  .portal-cookie-banner div {
    grid-column: auto !important;
  }

  .portal-cookie-banner button {
    width: 100%;
  }
}

@media (max-width: 900px) and (orientation: landscape) {
  :root {
    --mobile-editorial-header: 60px;
  }

  body.portal-dashboard-home .support-sidebar,
  body.portal-with-sidebar .portal-shared-sidebar {
    padding-top: 3px !important;
    padding-bottom: 3px !important;
  }

  .portal-mobile-menu-toggle {
    top: 8px;
  }

  body.portal-dashboard-home .support-brand img,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand > img {
    height: 46px !important;
  }

  body.portal-dashboard-home .support-hero-slide.is-active {
    grid-template-columns: minmax(300px, 44%) minmax(0, 1fr);
    grid-template-rows: auto;
  }

  body.portal-dashboard-home .support-hero-slide > img {
    grid-column: 1;
    grid-row: 1;
    height: 330px !important;
  }

  body.portal-dashboard-home .support-hero-image-link {
    right: auto !important;
    bottom: 0 !important;
    width: 44% !important;
    height: 330px !important;
  }

  body.portal-dashboard-home .support-hero-slide .support-hero-copy {
    grid-column: 2;
    grid-row: 1;
    align-content: center !important;
    min-height: 330px !important;
  }

  body.portal-dashboard-home .support-hero-pagination {
    top: auto !important;
    bottom: 4px !important;
    left: 22% !important;
  }
}

/* Static editorial pages have page-specific sidebar rules with high specificity. */
@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 body.portal-with-sidebar > aside.support-sidebar.portal-shared-sidebar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    display: flex !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;
    align-items: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 7px 64px 7px 56px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--mobile-editorial-line) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: none !important;
  }

  html body.portal-with-sidebar > aside.support-sidebar.portal-shared-sidebar > .support-brand {
    display: grid !important;
    width: min(100%, 230px) !important;
    height: 54px !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body.portal-mobile-menu-open > aside.support-sidebar.portal-shared-sidebar {
    z-index: 1000 !important;
    border-bottom-color: transparent !important;
    background: transparent !important;
  }
}

@media (max-width: 900px) and (orientation: landscape) {
  html body.portal-with-sidebar > aside.support-sidebar.portal-shared-sidebar {
    padding-top: 3px !important;
    padding-bottom: 3px !important;
  }
}

/* v340: generated PNG controls and a centered mobile authentication card. */
.portal-mobile-control-image {
  display: block;
  width: 56px;
  height: 56px;
  max-width: none;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  filter: none !important;
}

.dashboard-login-trigger .portal-mobile-profile-image {
  display: none;
}

.dashboard-login-close {
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0 !important;
}

.dashboard-login-close .portal-mobile-control-image {
  width: 56px;
  height: 56px;
}

@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) {
  .portal-mobile-menu-toggle,
  .portal-mobile-menu-close,
  body.portal-dashboard-home .support-topbar .dashboard-login-trigger,
  body.portal-with-sidebar .portal-shared-topbar .dashboard-login-trigger {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .portal-mobile-menu-toggle .portal-mobile-control-image,
  .portal-mobile-menu-close .portal-mobile-control-image,
  body.portal-dashboard-home .support-topbar .portal-mobile-profile-image,
  body.portal-with-sidebar .portal-shared-topbar .portal-mobile-profile-image {
    display: block !important;
    width: 56px !important;
    height: 56px !important;
  }

  body.portal-dashboard-home .support-topbar,
  body.portal-with-sidebar .portal-shared-topbar {
    right: 10px !important;
  }

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

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

  .dashboard-login-layer,
  .auth-modal-backdrop,
  .auth-modal-backdrop.is-open {
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
  }

  .dashboard-login-dialog {
    flex: 0 0 auto !important;
    width: min(calc(100vw - 32px), 520px) !important;
    max-width: 520px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 32px) !important;
    margin: auto !important;
    overflow: hidden auto !important;
    border-radius: 24px !important;
    box-shadow: 0 24px 80px rgba(7, 26, 56, 0.24) !important;
  }

  .dashboard-login-panel {
    padding-bottom: max(28px, env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 900px) and (orientation: landscape) {
  .dashboard-login-layer,
  .auth-modal-backdrop,
  .auth-modal-backdrop.is-open {
    align-items: flex-start !important;
    overflow: hidden auto !important;
  }
}

/* v341: keep portrait carousel pagination in its own row above the hero image. */
@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) {
  body.portal-dashboard-home .support-hero-slide .support-hero-copy {
    padding-bottom: 64px !important;
  }

  body.portal-dashboard-home .support-hero-pagination {
    top: auto !important;
    bottom: 260px !important;
    left: 50% !important;
    height: 44px !important;
    align-items: center !important;
    transform: translateX(-50%) !important;
  }

  body.portal-dashboard-home .support-hero-pagination button:focus-visible {
    outline: none !important;
    background: radial-gradient(circle, #ffffff 0 4px, var(--mobile-editorial-green) 4.5px 7px, transparent 7.5px) center/44px 44px no-repeat !important;
  }

  body.portal-dashboard-home .support-hero-pagination button.is-active:focus-visible {
    outline: none !important;
    background: radial-gradient(circle, var(--mobile-editorial-green) 0 5px, rgba(28, 129, 76, 0.22) 5.5px 8px, transparent 8.5px) center/44px 44px no-repeat !important;
  }
}

/* v365: podcast detail pages use a purpose-built mobile composition. */
@media (max-width: 760px) {
  body.portal-with-sidebar.podcast-detail-page .page-shell.podcast-detail-shell {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none;
    margin: 0;
    padding: 18px 18px max(72px, env(safe-area-inset-bottom));
  }

  body.podcast-detail-page .podcast-detail-breadcrumb {
    gap: 7px;
    margin-bottom: 16px;
    font-size: 12px;
  }

  body.podcast-detail-page .podcast-detail-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  body.podcast-detail-page .podcast-detail-hero .podcasts-player {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
  }

  body.podcast-detail-page .podcasts-player-poster > span {
    width: 62px;
    height: 62px;
  }

  body.podcast-detail-page .podcasts-player-poster > strong {
    display: none;
  }

  body.podcast-detail-page .podcast-detail-heading > p {
    margin-bottom: 9px;
    font-size: 14px;
  }

  body.podcast-detail-page .podcast-detail-heading h1 {
    max-width: 100%;
    font-size: clamp(32px, 9.4vw, 40px) !important;
    line-height: 1;
    letter-spacing: -0.035em;
    overflow-wrap: anywhere;
  }

  body.podcast-detail-page .podcast-detail-heading > time {
    margin-top: 11px;
    font-size: 13px;
  }

  body.podcast-detail-page .podcast-detail-heading dl {
    gap: 15px;
    margin-top: 18px;
    padding-top: 17px;
  }

  body.podcast-detail-page .podcast-detail-heading dt {
    font-size: 12px;
  }

  body.podcast-detail-page .podcast-detail-heading dd {
    font-size: 14px;
    line-height: 1.43;
  }

  body.podcast-detail-page .podcast-detail-watch {
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin-top: 20px;
    font-size: 15px;
  }

  body.podcast-detail-page .podcast-detail-watch > span[aria-hidden="true"] {
    display: none;
  }

  body.podcast-detail-page .podcast-detail-related {
    margin-top: 40px;
  }

  body.podcast-detail-page .podcast-detail-related .podcasts-section-heading {
    align-items: baseline;
    gap: 14px;
    padding-bottom: 12px;
  }

  body.podcast-detail-page .podcast-detail-related .podcasts-section-heading h2 {
    font-size: clamp(30px, 8.8vw, 36px);
  }

  body.podcast-detail-page .podcast-detail-related .podcasts-section-heading > a {
    flex: 0 0 auto;
    font-size: 12px;
  }

  body.podcast-detail-page .podcasts-episode-button {
    grid-template-columns: 40px 104px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    align-items: center;
    gap: 12px;
    min-height: 96px;
    padding: 14px 0;
  }

  body.podcast-detail-page .podcasts-episode-number {
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: center;
    padding: 0;
    font-size: 27px;
  }

  body.podcast-detail-page .podcasts-episode-button .podcasts-episode-image {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100%;
    height: 68px;
    margin: 0;
    aspect-ratio: auto;
    border-radius: 8px;
  }

  body.podcast-detail-page .podcasts-episode-button .podcasts-episode-copy {
    grid-column: auto !important;
    grid-row: auto !important;
    gap: 5px;
  }

  body.podcast-detail-page .podcasts-episode-copy time {
    font-size: 11px;
  }

  body.podcast-detail-page .podcasts-episode-copy strong {
    font-size: clamp(16px, 4.6vw, 19px);
    line-height: 1.08;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 420px) {
  body.portal-with-sidebar.podcast-detail-page .page-shell.podcast-detail-shell {
    padding-right: 16px;
    padding-left: 16px;
  }

  body.podcast-detail-page .podcasts-episode-button {
    grid-template-columns: 40px 92px minmax(0, 1fr) !important;
    gap: 10px;
  }

  body.podcast-detail-page .podcasts-episode-button .podcasts-episode-image {
    height: 62px;
  }

  body.podcast-detail-page .podcasts-episode-copy strong {
    font-size: 16px;
  }
}

html[data-theme="dark"] body.podcast-detail-page {
  --podcasts-ink: var(--dark-ink);
  --podcasts-muted: var(--dark-muted);
  --podcasts-green: var(--dark-green);
  --podcasts-line: var(--dark-line);
  background: var(--dark-bg) !important;
}

html[data-theme="dark"] body.portal-with-sidebar.podcast-detail-page .page-shell.podcast-detail-shell {
  color: var(--dark-ink) !important;
  background: var(--dark-bg) !important;
}

html[data-theme="dark"] body.podcast-detail-page :where(
  .podcast-detail-heading h1,
  .podcast-detail-heading dd,
  .podcast-detail-related .podcasts-section-heading h2,
  .podcasts-episode-number,
  .podcasts-episode-copy strong
) {
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] body.podcast-detail-page :where(
  .podcast-detail-breadcrumb,
  .podcast-detail-heading > time,
  .podcast-detail-heading dt,
  .podcasts-episode-copy time
) {
  color: var(--dark-muted) !important;
}

html[data-theme="dark"] body.podcast-detail-page .podcasts-episode-button {
  background: transparent !important;
}

/* v364: mobile maintenance is a clean, animated, full-screen route home. */
.dashboard-ai-maintenance-home-link {
  display: none;
}

@keyframes dashboard-maintenance-mobile-enter {
  0% {
    opacity: 0;
    transform: translateY(22px) scale(0.9);
  }
  72% {
    opacity: 1;
    transform: translateY(-3px) scale(1.018);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes dashboard-maintenance-mobile-breathe {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-6px) scale(1.012);
  }
}

@media (max-width: 920px) {
  body.portal-mobile-menu-open .support-topbar,
  body.portal-mobile-menu-open .portal-shared-topbar,
  body.portal-assistant-fullscreen-open .support-topbar,
  body.portal-assistant-fullscreen-open .portal-shared-topbar,
  .dashboard-ai-fullscreen.is-maintenance .dashboard-ai-full-controls {
    display: none !important;
  }

  .dashboard-ai-fullscreen.is-maintenance .dashboard-ai-maintenance-home-link {
    position: absolute;
    inset: 0;
    z-index: 30;
    display: block;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .dashboard-ai-fullscreen.is-maintenance .dashboard-ai-maintenance-sign {
    width: min(92vw, 620px) !important;
  }

  .dashboard-ai-fullscreen.is-maintenance .dashboard-ai-maintenance-sign picture {
    display: block;
  }

  .dashboard-ai-fullscreen.is-maintenance .dashboard-ai-maintenance-sign img {
    animation:
      dashboard-maintenance-mobile-enter 620ms cubic-bezier(0.22, 0.78, 0.24, 1) both,
      dashboard-maintenance-mobile-breathe 3.2s ease-in-out 620ms infinite;
    transform-origin: 50% 50%;
  }
}

@media (max-width: 920px) and (prefers-reduced-motion: reduce) {
  .dashboard-ai-fullscreen.is-maintenance .dashboard-ai-maintenance-sign img {
    animation: none;
  }
}

/* v363: keep every mobile navigation illustration in its native PNG colors. */
@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) {
  body.portal-dashboard-home .support-sidebar .support-nav .support-nav-icon,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav .support-nav-icon,
  body.portal-dashboard-home .support-sidebar .support-nav a:is(:hover, :focus-visible, .is-active) .support-nav-icon,
  body.portal-with-sidebar .portal-shared-sidebar .support-nav a:is(:hover, :focus-visible, .is-active, [aria-current="page"]) .support-nav-icon {
    opacity: 1 !important;
    filter: none !important;
    -webkit-filter: none !important;
    mix-blend-mode: normal !important;
  }
}

/* v361: readable native dark theme and arrow-free result rows for portal search. */
html[data-theme="dark"] body.search-editorial-page {
  --search-ink: var(--dark-ink);
  --search-muted: var(--dark-muted);
  --search-green: var(--dark-green);
  --search-green-dark: var(--dark-green-strong);
  --search-line: var(--dark-line);
  background: var(--dark-bg) !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] body.search-editorial-page .search-editorial-filters button {
  color: var(--dark-muted) !important;
}

html[data-theme="dark"] body.search-editorial-page .search-editorial-filters button:is(:hover, :focus-visible, [aria-pressed="true"]) {
  color: var(--dark-green) !important;
}

html[data-theme="dark"] body.search-editorial-page .search-editorial-filters button[aria-pressed="true"] {
  border-color: #4b6757 !important;
  background: var(--dark-surface-raised) !important;
}

html[data-theme="dark"] body.search-editorial-page :where(
  .search-editorial-hero > p,
  .search-editorial-results-head p,
  .search-editorial-filters button small,
  .search-editorial-meta,
  .search-editorial-description,
  .search-editorial-empty p
) {
  color: var(--dark-muted) !important;
}

html[data-theme="dark"] body.search-editorial-page :where(
  .search-editorial-hero h1,
  .search-editorial-results-head h2,
  .search-editorial-row strong,
  .search-editorial-empty h3
) {
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] body.search-editorial-page .search-editorial-form > svg {
  color: var(--dark-muted) !important;
}

html[data-theme="dark"] body.search-editorial-page :where(
  .search-editorial-form,
  .search-editorial-results-head,
  .search-editorial-filters,
  .search-editorial-row,
  .search-editorial-empty
) {
  border-color: var(--dark-line) !important;
}

body.search-editorial-page .search-editorial-row {
  grid-template-columns: 42px minmax(0, 1fr) !important;
}

body.search-editorial-page .search-editorial-row > svg {
  display: none !important;
}

@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) {
  body.search-editorial-page .search-editorial-row {
    grid-template-columns: 34px minmax(0, 1fr) !important;
  }
}

/* v360: links and catalog rows remain fully clickable without decorative arrows. */
body :where(
  .methods-editorial-material-arrow,
  .podcasts-row-arrow,
  .psychological-material-arrow,
  .rehab-article-related-arrow,
  .rehab-editorial-material-arrow
) {
  display: none !important;
}

body svg:has(> path[d="M5 12h13M13 7l5 5-5 5"]),
body svg:has(> path[d="M4 10h11M11 6l4 4-4 4"]),
body svg:has(> path[d="M3 10h13M12 6l4 4-4 4"]),
body svg:has(> path[d="M4 12h15M14 7l5 5-5 5"]),
body svg:has(> path[d="M5 12h14M13 6l6 6-6 6"]),
body svg:has(> path[d="M5 12h14"]):has(> path[d="m13 6 6 6-6 6"]) {
  display: none !important;
}

body.psychological-editorial-page .psychological-featured-copy > a > span[aria-hidden="true"],
body.legal-editorial-page .legal-pathway-list a > b[aria-hidden="true"] {
  display: none !important;
}

.advisor-flow span:not(:last-child)::after,
.support-side-head a::after {
  display: none !important;
  content: none !important;
}

.equipment-catalog-row {
  grid-template-columns: 42px 126px minmax(0, 1fr) !important;
}

body.library-route-page .library-route-material-row {
  grid-template-columns: 42px minmax(112px, 142px) minmax(0, 1fr) 76px !important;
}

body.methods-editorial-page .methods-editorial-material-row,
body.rehabilitation-editorial-page .rehab-editorial-material-row {
  grid-template-columns: 100px 52px minmax(0, 1fr) !important;
}

body.rehabilitation-article-page .rehab-article-related-row {
  grid-template-columns: 100px 52px minmax(0, 1fr) !important;
}

.podcasts-episode-button {
  grid-template-columns: 72px minmax(180px, 270px) minmax(0, 1fr) !important;
}

body.psychological-editorial-page .psychological-material-row {
  grid-template-columns: 78px 38px minmax(150px, 190px) minmax(0, 1fr) !important;
}

.course-profile-other > div > a {
  grid-template-columns: 48px minmax(0, 1fr) minmax(170px, auto) !important;
}

@media (max-width: 1180px) {
  .equipment-catalog-row {
    grid-template-columns: 36px 112px minmax(0, 1fr) !important;
  }

  body.library-route-page .library-route-material-row {
    grid-template-columns: 34px 112px minmax(0, 1fr) 68px !important;
  }

  .podcasts-episode-button {
    grid-template-columns: 58px minmax(160px, 220px) minmax(0, 1fr) !important;
  }

  body.psychological-editorial-page .psychological-material-row {
    grid-template-columns: 70px 34px 150px minmax(0, 1fr) !important;
  }
}

@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) {
  body.library-route-page .library-route-material-row {
    grid-template-columns: 40px 104px minmax(0, 1fr) !important;
  }

  body.methods-editorial-page .methods-editorial-material-row,
  body.rehabilitation-editorial-page .rehab-editorial-material-row {
    grid-template-columns: 66px minmax(0, 1fr) !important;
  }

  .podcasts-episode-button {
    grid-template-columns: 50px minmax(150px, 200px) minmax(0, 1fr) !important;
  }

  body.psychological-editorial-page .psychological-material-row {
    grid-template-columns: 38px 132px minmax(0, 1fr) !important;
  }

  .course-profile-other > div > a {
    grid-template-columns: 36px minmax(0, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .podcasts-episode-button {
    grid-template-columns: 42px minmax(0, 1fr) !important;
  }

  .podcasts-episode-button .podcasts-episode-image,
  .podcasts-episode-button .podcasts-episode-copy {
    grid-column: 2 !important;
  }
}

@media (max-width: 620px) {
  .equipment-catalog-row {
    grid-template-columns: 32px minmax(0, 1fr) !important;
  }

  body.library-route-page .library-route-material-row {
    grid-template-columns: 28px 92px minmax(0, 1fr) !important;
  }

  body.psychological-editorial-page .psychological-material-row {
    grid-template-columns: 32px 92px minmax(0, 1fr) !important;
  }

  body.rehabilitation-article-page .rehab-article-related-row {
    grid-template-columns: 68px minmax(0, 1fr) !important;
  }
}

/* v359 — readable education catalog hierarchy in the dark theme */
html[data-theme="dark"] body.education-editorial-page {
  --education-ink: var(--dark-ink);
  --education-muted: var(--dark-muted);
  --education-green: var(--dark-green);
  --education-green-dark: var(--dark-green-strong);
  --education-line: var(--dark-line);
}

html[data-theme="dark"] body.education-editorial-page .education-editorial-heading > p {
  color: var(--education-green) !important;
}

html[data-theme="dark"] body.education-editorial-page :where(
  .education-editorial-heading > span,
  .education-editorial-audiences > span,
  .education-featured-program > p
) {
  color: var(--education-muted) !important;
}

/* v343: native system dark theme across the portal instead of browser force-dark. */
html[data-theme="dark"] {
  color-scheme: dark;
  background: #0e1217;
  --dark-bg: #0e1217;
  --dark-surface: #151b22;
  --dark-surface-raised: #1d242c;
  --dark-ink: #f2f5f3;
  --dark-muted: #aeb9c7;
  --dark-green: #76c993;
  --dark-green-strong: #90d7aa;
  --dark-line: #343e49;
  --dark-focus: #b6e6c7;
}

html[data-theme="dark"] body {
  --editorial-ink: var(--dark-ink);
  --editorial-muted: var(--dark-muted);
  --editorial-green: var(--dark-green);
  --editorial-green-dark: var(--dark-green-strong);
  --editorial-line: var(--dark-line);
  --specialists-ink: var(--dark-ink);
  --specialists-muted: var(--dark-muted);
  --specialists-green: var(--dark-green);
  --specialists-line: var(--dark-line);
  --course-ink: var(--dark-ink);
  --course-muted: var(--dark-muted);
  --course-green: var(--dark-green);
  --course-green-dark: var(--dark-green-strong);
  --course-line: var(--dark-line);
  --podcasts-ink: var(--dark-ink);
  --podcasts-muted: var(--dark-muted);
  --podcasts-green: var(--dark-green);
  --podcasts-line: var(--dark-line);
  --rehab-ink: var(--dark-ink);
  --rehab-muted: var(--dark-muted);
  --rehab-green: var(--dark-green);
  --rehab-line: var(--dark-line);
  --rehab-article-ink: var(--dark-ink);
  --rehab-article-muted: var(--dark-muted);
  --rehab-article-green: var(--dark-green);
  --rehab-article-line: var(--dark-line);
  --institutions-ink: var(--dark-ink);
  --institutions-muted: var(--dark-muted);
  --institutions-green: var(--dark-green);
  --institutions-line: var(--dark-line);
  --psychological-ink: var(--dark-ink);
  --psychological-muted: var(--dark-muted);
  --psychological-green: var(--dark-green);
  --psychological-line: var(--dark-line);
  --contacts-ink: var(--dark-ink);
  --contacts-muted: var(--dark-muted);
  --contacts-green: var(--dark-green);
  --contacts-line: var(--dark-line);
  --payment-ink: var(--dark-ink);
  --payment-muted: var(--dark-muted);
  --payment-green: var(--dark-green);
  --payment-line: var(--dark-line);
  --premium-ink: var(--dark-ink);
  --premium-muted: var(--dark-muted);
  --premium-green: var(--dark-green);
  --premium-green-dark: var(--dark-green-strong);
  --premium-line: var(--dark-line);
  --mobile-editorial-ink: var(--dark-ink);
  --mobile-editorial-muted: var(--dark-muted);
  --mobile-editorial-green: var(--dark-green);
  --mobile-editorial-line: var(--dark-line);
  background: var(--dark-bg) !important;
  color: var(--dark-ink);
}

html[data-theme="dark"] :where(a, button, input, textarea, select, summary):focus-visible {
  outline-color: var(--dark-focus) !important;
}

html[data-theme="dark"] :where(input, textarea, select) {
  color: var(--dark-ink) !important;
  caret-color: var(--dark-green);
}

html[data-theme="dark"] :where(input, textarea)::placeholder {
  color: #8995a4 !important;
  opacity: 1;
}

html[data-theme="dark"] img:not(.support-nav-icon):not(.portal-mobile-control-image) {
  forced-color-adjust: none;
}

html[data-theme="dark"] .portal-mobile-profile-image {
  content: url("/assets/ui/mobile-profile-button-dark-v1.png");
}

html[data-theme="dark"] .portal-mobile-menu-toggle .portal-mobile-control-image {
  content: url("/assets/ui/mobile-menu-button-dark-v1.png");
}

html[data-theme="dark"] :where(.portal-mobile-menu-close, .dashboard-login-close) .portal-mobile-control-image {
  content: url("/assets/ui/mobile-close-button-dark-v1.png");
}

html[data-theme="dark"] body.portal-dashboard-home :where(.support-main, .support-home-grid, .support-home-left, .support-home-right, .support-hero, .support-hero-copy, .support-situation-section, .support-situation-tabs, .support-situation-panel),
html[data-theme="dark"] body.portal-with-sidebar :where(.page-shell, main) {
  background-color: var(--dark-bg) !important;
}

html[data-theme="dark"] body.portal-dashboard-home :where(.support-sidebar, .support-topbar),
html[data-theme="dark"] body.portal-with-sidebar :where(.portal-shared-sidebar, .portal-shared-topbar),
html[data-theme="dark"] body:not(.portal-dashboard-home) > :where(.support-sidebar, .portal-shared-sidebar) {
  border-color: var(--dark-line) !important;
  background-color: rgba(14, 18, 23, 0.98) !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] :where(.support-brand, .support-brand strong, .support-brand small, .portal-shared-topbar, .support-topbar) {
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] :where(.support-nav a, .portal-shared-sidebar .support-nav a) {
  border-color: transparent !important;
  color: var(--dark-muted) !important;
}

html[data-theme="dark"] :where(.support-nav a:hover, .support-nav a:focus-visible, .support-nav a.is-active) {
  background-color: var(--dark-surface-raised) !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] .support-nav a.is-active {
  box-shadow: inset 3px 0 0 var(--dark-green) !important;
}

html[data-theme="dark"] .support-nav-icon {
  filter: none !important;
}

html[data-theme="dark"] .support-nav a.is-active .support-nav-icon {
  filter: none !important;
}

html[data-theme="dark"] body.portal-dashboard-home :where(.support-hero h1, .support-situation-heading h2, .support-situation-tab strong, .support-situation-panel h3),
html[data-theme="dark"] body.portal-with-sidebar :where(h1, h2, h3, h4) {
  color: var(--dark-ink);
}

html[data-theme="dark"] body.portal-dashboard-home :where(.support-hero p, .support-situation-heading p, .support-situation-panel p, .support-situation-tab small) {
  color: var(--dark-muted) !important;
}

html[data-theme="dark"] .support-situation-tab {
  border-color: var(--dark-line) !important;
  background-color: transparent !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] .support-situation-tab:hover,
html[data-theme="dark"] .support-situation-tab:focus-visible,
html[data-theme="dark"] .support-situation-tab.is-active {
  background-color: var(--dark-surface) !important;
}

html[data-theme="dark"] .support-situation-tab.is-active {
  box-shadow: inset 3px 0 0 var(--dark-green) !important;
}

html[data-theme="dark"] .support-situation-tab > span {
  filter: grayscale(1) brightness(0) invert(1) opacity(0.76) !important;
}

html[data-theme="dark"] .support-situation-tab.is-active > span {
  filter: grayscale(1) brightness(0) invert(1) opacity(1) !important;
}

html[data-theme="dark"] :where(.support-situation-links a, .support-section-menu a, .support-home-right a) {
  border-color: var(--dark-line) !important;
  color: var(--dark-green) !important;
}

html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button {
  background: radial-gradient(circle, #aeb9c7 0 4px, #202832 4.5px 6px, transparent 6.5px) center/44px 44px no-repeat !important;
}

html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button.is-active {
  background: radial-gradient(circle, var(--dark-green) 0 5px, transparent 5.5px) center/44px 44px no-repeat !important;
}

html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button:focus-visible {
  background: radial-gradient(circle, #e8eeeb 0 4px, var(--dark-focus) 4.5px 7px, transparent 7.5px) center/44px 44px no-repeat !important;
}

html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button.is-active:focus-visible {
  background: radial-gradient(circle, var(--dark-green) 0 5px, rgba(182, 230, 199, 0.36) 5.5px 8px, transparent 8.5px) center/44px 44px no-repeat !important;
}

html[data-theme="dark"] :where(
  .specialists-editorial-shell,
  .rehabilitation-editorial-shell,
  .methods-editorial-shell,
  .institutions-editorial-shell,
  .library-family-route-shell,
  .education-editorial-shell,
  .equipment-editorial-shell,
  .rehabilitation-article-shell,
  .course-profile-shell,
  .psychological-editorial-shell,
  .podcasts-editorial-shell,
  .search-editorial-shell,
  .specialist-detail-shell,
  .institution-detail-shell,
  .about-editorial-shell,
  .privacy-editorial-shell,
  .contacts-editorial-shell,
  .payment-editorial-shell
) {
  background-color: var(--dark-bg) !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] :where(
  .specialists-editorial-card,
  .rehabilitation-editorial-item,
  .methods-editorial-item,
  .institutions-editorial-nearby-item,
  .institutions-editorial-row,
  .library-route-column,
  .library-editorial-row,
  .education-course-card,
  .equipment-catalog-row,
  .rehabilitation-article-related a,
  .course-profile-program li,
  .psychological-editorial-row,
  .podcasts-episode-button,
  .search-editorial-result,
  .specialist-profile-section,
  .institution-profile-section,
  .privacy-policy-section
) {
  border-color: var(--dark-line) !important;
  background-color: transparent !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] :where(
  .specialists-editorial-card:hover,
  .specialists-editorial-card:focus-visible,
  .institutions-editorial-nearby-item:hover,
  .institutions-editorial-nearby-item:focus-visible,
  .education-course-card:hover,
  .education-course-card:focus-visible,
  .equipment-catalog-row:hover,
  .equipment-catalog-row:focus-visible,
  .podcasts-episode-button:hover,
  .podcasts-episode-button:focus-visible,
  .search-editorial-result:hover,
  .search-editorial-result:focus-visible
) {
  background-color: var(--dark-surface) !important;
}

html[data-theme="dark"] :where(
  .specialists-editorial-card-copy strong,
  .institutions-editorial-row strong,
  .library-editorial-row strong,
  .education-course-card strong,
  .equipment-catalog-copy strong,
  .podcasts-episode-copy strong,
  .search-editorial-result h2,
  .search-editorial-result h3
) {
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] :where(
  .specialists-editorial-card-copy small,
  .institutions-editorial-row small,
  .library-editorial-row small,
  .education-course-card small,
  .equipment-catalog-copy small,
  .podcasts-episode-copy time,
  .search-editorial-result p
) {
  color: var(--dark-muted) !important;
}

html[data-theme="dark"] :where(
  .institutions-editorial-search,
  .institutions-editorial-directory-search,
  .library-editorial-search,
  .search-editorial-form,
  .contacts-editorial-form,
  .dashboard-search
) {
  border-color: var(--dark-line) !important;
  background-color: transparent !important;
}

html[data-theme="dark"] :where(
  .article-body-card,
  .article-lead-card,
  .article-hero-card,
  .rehabilitation-article-body,
  .rehabilitation-article-contents,
  .course-profile-intro,
  .course-profile-program,
  .specialist-profile-panel,
  .institution-profile-panel,
  .about-editorial-story,
  .about-editorial-mission,
  .privacy-editorial-document
) {
  border-color: var(--dark-line) !important;
  background-color: transparent !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] :where(.article-body-card, .rehabilitation-article-body, .privacy-editorial-document) :where(p, li, td, th, dd) {
  color: #c7d0da !important;
}

html[data-theme="dark"] :where(table, th, td) {
  border-color: var(--dark-line) !important;
}

html[data-theme="dark"] :where(th, .article-body-section:nth-child(even)) {
  background-color: var(--dark-surface) !important;
}

html[data-theme="dark"] .editorial-footer {
  border-color: var(--dark-line) !important;
  background-color: #10161c !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] .editorial-footer :where(h2, strong, a, address) {
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] .editorial-footer :where(p, small, span) {
  color: var(--dark-muted) !important;
}

html[data-theme="dark"] .editorial-footer .editorial-footer-directory h2,
html[data-theme="dark"] .editorial-footer .editorial-footer-contact > span {
  color: var(--dark-green) !important;
}

html[data-theme="dark"] .editorial-footer a:hover,
html[data-theme="dark"] .editorial-footer a:focus-visible {
  color: var(--dark-green) !important;
}

html[data-theme="dark"] .editorial-footer-bottom {
  border-color: var(--dark-line) !important;
  background: #10161c !important;
  color: var(--dark-muted) !important;
}

html[data-theme="dark"] :where(.dashboard-login-layer, .auth-modal-backdrop) {
  background-color: rgba(2, 5, 8, 0.78) !important;
  backdrop-filter: blur(8px);
}

html[data-theme="dark"] :where(.dashboard-login-dialog, .dashboard-login-intro, .dashboard-login-panel) {
  border-color: var(--dark-line) !important;
  background-color: var(--dark-surface) !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] .dashboard-login-intro {
  background-color: #111820 !important;
}

html[data-theme="dark"] :where(.dashboard-login-heading h2, .dashboard-login-intro-copy h3, .dashboard-login-tabs button) {
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] :where(.dashboard-login-heading p, .dashboard-login-intro-copy p, .dashboard-login-row, .dashboard-login-note) {
  color: var(--dark-muted) !important;
}

html[data-theme="dark"] :where(.dashboard-login-field, .dashboard-login-row input, .dashboard-login-panel input) {
  border-color: #46515e !important;
  background-color: #11171d !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] .dashboard-login-tabs {
  border-color: var(--dark-line) !important;
}

html[data-theme="dark"] .dashboard-login-tabs button.is-active {
  border-color: var(--dark-green) !important;
  color: var(--dark-green) !important;
}

html[data-theme="dark"] .portal-cookie-banner {
  border-color: #41505c !important;
  background: #1b232b !important;
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.48) !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] .portal-cookie-banner :where(p, span) {
  color: var(--dark-muted) !important;
}

@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[data-theme="dark"] body.portal-dashboard-home .support-sidebar,
  html[data-theme="dark"] body.portal-with-sidebar > aside.support-sidebar.portal-shared-sidebar {
    border-bottom-color: var(--dark-line) !important;
    background: rgba(14, 18, 23, 0.98) !important;
  }

  html[data-theme="dark"] body.portal-mobile-menu-open :where(.support-sidebar, .portal-shared-sidebar) {
    background: var(--dark-bg) !important;
  }

  html[data-theme="dark"] body.portal-mobile-menu-open .support-nav {
    border-color: var(--dark-line) !important;
    background: var(--dark-bg) !important;
  }

  html[data-theme="dark"] .dashboard-login-dialog {
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.62) !important;
  }
}

/* Higher-specificity corrections for legacy page rules that still use !important. */
html[data-theme="dark"] body:is(.portal-dashboard-home, .portal-with-sidebar) {
  background: var(--dark-bg) !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] body.portal-with-sidebar > main,
html[data-theme="dark"] body.portal-with-sidebar > main.page-shell,
html[data-theme="dark"] body.portal-with-sidebar > .page-shell,
html[data-theme="dark"] body.portal-with-sidebar .specialists-editorial-content {
  background: var(--dark-bg) !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav,
html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-nav,
html[data-theme="dark"] body.portal-with-sidebar .portal-mobile-nav-head,
html[data-theme="dark"] body.portal-dashboard-home .portal-mobile-nav-head {
  border-color: var(--dark-line) !important;
  background: var(--dark-bg) !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] body.portal-with-sidebar .portal-mobile-nav-head :where(strong, span),
html[data-theme="dark"] body.portal-dashboard-home .portal-mobile-nav-head :where(strong, span) {
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] body.portal-with-sidebar:is(
  .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
) > main[class] {
  background: var(--dark-bg) !important;
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] body.portal-with-sidebar main :where(p, small, time, dd) {
  color: var(--dark-muted) !important;
}

html[data-theme="dark"] body.portal-with-sidebar main :where(h1, h2, h3, h4, h5, strong, dt) {
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] body.portal-with-sidebar main :where(a, button) {
  border-color: var(--dark-line);
}

html[data-theme="dark"] body.portal-with-sidebar main a {
  color: var(--dark-green) !important;
}

html[data-theme="dark"] body.portal-with-sidebar main a:hover,
html[data-theme="dark"] body.portal-with-sidebar main a:focus-visible {
  color: var(--dark-green-strong) !important;
}

html[data-theme="dark"] :where(.education-featured-media > a, .equipment-featured-copy > a) {
  border: 1px solid #46515e !important;
  background: var(--dark-surface-raised) !important;
  box-shadow: none !important;
  color: var(--dark-green) !important;
}

html[data-theme="dark"] :where(.education-featured-media > a, .equipment-featured-copy > a):hover,
html[data-theme="dark"] :where(.education-featured-media > a, .equipment-featured-copy > a):focus-visible {
  border-color: var(--dark-green) !important;
  background: #24312b !important;
}

html[data-theme="dark"] body.portal-dashboard-home .support-home-shell,
html[data-theme="dark"] body.portal-dashboard-home .support-hero-slides,
html[data-theme="dark"] body.portal-dashboard-home .support-hero-slide,
html[data-theme="dark"] body.portal-dashboard-home .support-hero-slide.is-active {
  background-color: var(--dark-bg) !important;
}

/* v347: replace the light carousel fade in dark mode and let it blend behind the copy. */
@media (min-width: 901px) {
  html[data-theme="dark"] body.portal-dashboard-home .support-hero-slide::after {
    background: linear-gradient(
      90deg,
      var(--dark-bg) 0%,
      var(--dark-bg) 36%,
      rgba(14, 18, 23, 0.98) 47%,
      rgba(14, 18, 23, 0.78) 56%,
      rgba(14, 18, 23, 0.12) 68%,
      rgba(14, 18, 23, 0) 75%
    ) !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-hero-slide .support-hero-copy {
    background-color: transparent !important;
  }
}

html[data-theme="dark"] .course-profile-action:not(.course-profile-action--secondary) {
  border-color: #2f8053 !important;
  background: #246a45 !important;
  color: #ffffff !important;
}

html[data-theme="dark"] .course-profile-action.course-profile-action--secondary {
  border-color: #46515e !important;
  background: var(--dark-surface-raised) !important;
  color: var(--dark-green) !important;
}

html[data-theme="dark"] .course-profile-action:hover,
html[data-theme="dark"] .course-profile-action:focus-visible {
  border-color: var(--dark-green) !important;
  background: #2d7850 !important;
  color: #ffffff !important;
}

/* v348: keep lesson and course counters unmistakably legible in dark mode. */
html[data-theme="dark"] body.education-course-page :where(
  .course-profile-program li > span,
  .course-profile-other > div > a > span
),
html[data-theme="dark"] body.education-editorial-page .education-featured-program li > span {
  color: #b6e6c7 !important;
}

html[data-theme="dark"] body.education-course-page .course-profile-meta span + span::before {
  color: #b6e6c7 !important;
}

html[data-theme="dark"] :where(.dashboard-login-check, .dashboard-login-forgot, .dashboard-login-signup) {
  color: #b8c3d0 !important;
}

html[data-theme="dark"] .dashboard-login-signup button {
  color: var(--dark-green) !important;
}

html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-nav a.is-active,
html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav a.is-active {
  border-color: transparent !important;
  background: #1e2a24 !important;
  box-shadow: inset 3px 0 0 var(--dark-green) !important;
  color: var(--dark-green-strong) !important;
}

/* v346: keep the illustrated navigation icons and interaction states calm in dark mode. */
html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-nav a:hover,
html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-nav a:focus-visible,
html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav a:hover,
html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav a:focus-visible {
  border-color: transparent !important;
  background: #18231e !important;
  box-shadow: none !important;
  color: var(--dark-green-strong) !important;
}

html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-nav .support-nav-icon,
html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav .support-nav-icon {
  filter: none !important;
  opacity: 0.9 !important;
}

html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-nav a:hover .support-nav-icon,
html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-nav a:focus-visible .support-nav-icon,
html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-nav a.is-active .support-nav-icon,
html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav a:hover .support-nav-icon,
html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav a:focus-visible .support-nav-icon,
html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav a.is-active .support-nav-icon {
  filter: none !important;
  opacity: 1 !important;
}

html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-brand strong,
html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-brand strong {
  color: var(--dark-ink) !important;
}

html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-brand small,
html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-brand small {
  color: var(--dark-muted) !important;
}

html[data-theme="dark"] body.portal-dashboard-home .support-hero-story-link {
  color: var(--dark-green) !important;
}

/* v350: carousel dots choose a story; its photo and visible label open the promoted section. */
html[data-theme="dark"] body.portal-dashboard-home .support-hero-story-link {
  border-bottom-color: var(--dark-green) !important;
}

html[data-theme="dark"] body.portal-dashboard-home .premium-assistant-cta {
  border-color: var(--dark-green) !important;
  background: var(--dark-green) !important;
  color: #0b2416 !important;
}

html[data-theme="dark"] body.portal-dashboard-home .premium-assistant-cta:hover,
html[data-theme="dark"] body.portal-dashboard-home .premium-assistant-cta:focus-visible {
  background: var(--dark-green-strong) !important;
  color: #07170e !important;
}

/* v349: keep the complete official emblem inside its rendered box at every scale. */
img[src$="/assets/brand/pro-dcp-logo-original.png"] {
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 3px !important;
}

@media (min-width: 901px) {
  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 {
    padding: 6px !important;
  }
}

@media (min-width: 901px) and (max-width: 1399px) {
  body.portal-dashboard-home .support-brand,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body.portal-dashboard-home .support-brand > img,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand > img {
    width: 58px !important;
    height: 84px !important;
    padding: 4px !important;
  }

  body.portal-dashboard-home .support-brand strong,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand strong {
    max-width: none !important;
    font-size: 22px !important;
    line-height: 0.98 !important;
  }

  body.portal-dashboard-home .support-brand small,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand small {
    font-size: 11px !important;
  }
}

html[data-theme="dark"] body.portal-with-sidebar > aside.support-sidebar.portal-shared-sidebar {
  border-color: var(--dark-line) !important;
  background: var(--dark-bg) !important;
  color: var(--dark-ink) !important;
}

/* v351: keep helper details available without letting them dominate the mobile page. */
body.portal-dashboard-home .premium-assistant-details > summary {
  display: none;
}

body.portal-dashboard-home .premium-assistant-details:not([open]) > .premium-assistant-steps {
  display: grid;
}

@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) {
  body.portal-dashboard-home .premium-assistant-cta {
    order: 1;
  }

  body.portal-dashboard-home .premium-assistant-details {
    order: 2;
  }

  body.portal-dashboard-home .premium-assistant-details > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    min-height: 48px;
    padding: 9px 0;
    border-top: 1px solid var(--editorial-line);
    border-bottom: 1px solid var(--editorial-line);
    color: var(--editorial-green);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.3;
    cursor: pointer;
    list-style: none;
  }

  body.portal-dashboard-home .premium-assistant-details > summary::-webkit-details-marker {
    display: none;
  }

  body.portal-dashboard-home .premium-assistant-details > summary::after {
    content: "+";
    flex: 0 0 auto;
    margin-left: 16px;
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
  }

  body.portal-dashboard-home .premium-assistant-details[open] > summary::after {
    content: "−";
  }

  body.portal-dashboard-home .premium-assistant-details:not([open]) > .premium-assistant-steps {
    display: none;
  }

  body.portal-dashboard-home .premium-assistant-details[open] > .premium-assistant-steps {
    display: grid;
  }

  html[data-theme="dark"] body.portal-dashboard-home .premium-assistant-details > summary {
    border-color: var(--dark-line);
    color: var(--dark-green);
  }
}

/* v352: mobile dark modes can dim transparent PNGs; place nav art on a stable mint tile. */
@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[data-theme="dark"] body.portal-dashboard-home .support-nav > a,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav > a {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    min-height: 60px !important;
    gap: 12px !important;
    padding: 6px 8px !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-nav > a > span,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav > a > span {
    box-sizing: border-box;
    width: 38px !important;
    height: 38px !important;
    border: 1px solid #8dbda0 !important;
    border-radius: 10px !important;
    background: #b9dac4 !important;
    box-shadow: inset 0 0 0 1px rgba(14, 18, 23, 0.08) !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-nav > a.is-active > span,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav > a.is-active > span,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav > a[aria-current="page"] > span {
    border-color: #a8d7b8 !important;
    background: #d3eadb !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-nav .support-nav-icon,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav .support-nav-icon {
    width: 30px !important;
    height: 30px !important;
    opacity: 1 !important;
    filter: brightness(1.32) saturate(1.22) contrast(1.06) drop-shadow(0 1px 1px rgba(14, 18, 23, 0.16)) !important;
    -webkit-filter: brightness(1.32) saturate(1.22) contrast(1.06) drop-shadow(0 1px 1px rgba(14, 18, 23, 0.16)) !important;
    mix-blend-mode: normal !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-nav a:is(:hover, :focus-visible, .is-active) .support-nav-icon,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav a:is(:hover, :focus-visible, .is-active, [aria-current="page"]) .support-nav-icon {
    opacity: 1 !important;
    filter: brightness(1.32) saturate(1.22) contrast(1.06) drop-shadow(0 1px 1px rgba(14, 18, 23, 0.16)) !important;
    -webkit-filter: brightness(1.32) saturate(1.22) contrast(1.06) drop-shadow(0 1px 1px rgba(14, 18, 23, 0.16)) !important;
  }
}

/* v354: calm, legible dark login dialog with a properly cropped visual. */
html[data-theme="dark"] .dashboard-login-dialog {
  border-color: #3b4854 !important;
  background: #141b22 !important;
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.68) !important;
}

html[data-theme="dark"] .dashboard-login-intro {
  border-right-color: #34414c !important;
  background: #10171e !important;
}

html[data-theme="dark"] .dashboard-login-brand strong {
  color: #f2f6f8 !important;
}

html[data-theme="dark"] .dashboard-login-brand small {
  color: #aab7c4 !important;
}

html[data-theme="dark"] .dashboard-login-brand img {
  filter: brightness(1.08) saturate(1.06) drop-shadow(0 8px 18px rgba(0, 0, 0, 0.22));
}

html[data-theme="dark"] .dashboard-login-visual {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #10171e !important;
}

html[data-theme="dark"] .dashboard-login-visual img {
  width: 190% !important;
  filter: brightness(0.7) saturate(0.82) contrast(1.07) !important;
}

html[data-theme="dark"] .dashboard-login-visual::before {
  background: none !important;
}

html[data-theme="dark"] .dashboard-login-visual::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  height: auto;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(16, 23, 30, 0.82) 0%, rgba(16, 23, 30, 0.2) 18%, rgba(4, 10, 14, 0.14) 100%),
    linear-gradient(90deg, rgba(4, 10, 14, 0.24), rgba(4, 10, 14, 0) 68%);
}

html[data-theme="dark"] .dashboard-login-panel {
  background: #141b22 !important;
}

html[data-theme="dark"] .dashboard-login-tab {
  color: #bcc7d1 !important;
}

html[data-theme="dark"] .dashboard-login-tab.is-active {
  color: #8ed6a8 !important;
}

html[data-theme="dark"] .dashboard-login-field {
  border-color: #43515e !important;
  background: #0f161c !important;
}

html[data-theme="dark"] .dashboard-login-field:focus-within {
  border-color: #76c895 !important;
  box-shadow: 0 0 0 3px rgba(118, 200, 149, 0.14) !important;
}

html[data-theme="dark"] .dashboard-login-field input,
html[data-theme="dark"] .dashboard-login-field input::placeholder {
  color: #aab6c2 !important;
}

html[data-theme="dark"] .dashboard-login-field svg,
html[data-theme="dark"] .dashboard-login-password-toggle {
  color: #8fa2b5 !important;
}

html[data-theme="dark"] .dashboard-login-submit {
  background: #2f8f5b !important;
}

html[data-theme="dark"] .dashboard-login-submit:is(:hover, :focus-visible) {
  background: #38a76a !important;
}

@media (min-width: 841px) {
  html[data-theme="dark"] .dashboard-login-close {
    top: 22px !important;
    right: 22px !important;
    width: 44px !important;
    height: 44px !important;
    outline: none !important;
  }

  html[data-theme="dark"] .dashboard-login-close .portal-mobile-control-image {
    width: 44px !important;
    height: 44px !important;
  }

  html[data-theme="dark"] .dashboard-login-close:focus-visible {
    outline: none !important;
    filter: brightness(1.08);
  }
}

/* v355: use a native low-key photograph in dark mode instead of filtering the light-room image. */
.dashboard-login-visual-image--dark {
  display: none !important;
}

html[data-theme="dark"] .dashboard-login-visual-image--light {
  display: none !important;
}

html[data-theme="dark"] .dashboard-login-visual .dashboard-login-visual-image--dark {
  display: block !important;
  width: 118% !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: none !important;
  margin-left: -9%;
  flex: 0 0 auto;
  align-self: flex-end;
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: none !important;
  filter: none !important;
}

html[data-theme="dark"] .dashboard-login-visual::after {
  background: none !important;
}

/* v362: mirror the seamless light-login composition with the native dark photograph. */
@media (min-width: 841px) {
  html[data-theme="dark"] .dashboard-login-intro,
  html[data-theme="dark"] .dashboard-login-visual {
    background: #10171e !important;
  }

  html[data-theme="dark"] .dashboard-login-visual .dashboard-login-visual-image--dark {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    align-self: stretch !important;
    object-fit: cover !important;
    object-position: 74% bottom !important;
    -webkit-mask-image: linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0, 0, 0, 0.58) 7%,
      #000 19%,
      #000 100%
    );
    mask-image: linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0, 0, 0, 0.58) 7%,
      #000 19%,
      #000 100%
    );
  }
}

/* v356: dedicated high-contrast situation icons for the mobile dark theme. */
@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[data-theme="dark"] body.portal-dashboard-home .support-situation-tab > span,
  html[data-theme="dark"] body.portal-dashboard-home .support-situation-tab.is-active > span {
    filter: none !important;
    opacity: 1 !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-situation-tab:nth-child(1) > span {
    background-image: url("/assets/generated/navigation-icons/specialists-dark-v2.png?v=2");
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-situation-tab:nth-child(2) > span {
    background-image: url("/assets/generated/navigation-icons/rehabilitation-dark-v2.png?v=2");
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-situation-tab:nth-child(3) > span {
    background-image: url("/assets/generated/navigation-icons/library-dark-v2.png?v=2");
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-situation-tab:nth-child(4) > span {
    background-image: url("/assets/generated/sidebar-icons/nav-psychological-dark-v2.png");
  }
}

/* v357: centered mobile brand, image-overlay carousel controls and native dark navigation art. */
@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) {
  body.portal-dashboard-home .support-sidebar > .support-brand,
  body.portal-with-sidebar .portal-shared-sidebar > .support-brand {
    position: absolute !important;
    left: 50% !important;
    width: min(calc(100% - 120px), 230px) !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
  }

  body.portal-dashboard-home .premium-assistant {
    display: none !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-nav > a,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav > a {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-nav > a > span,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav > a > span,
  html[data-theme="dark"] body.portal-dashboard-home .support-nav > a.is-active > span,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav > a.is-active > span,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav > a[aria-current="page"] > span {
    width: 34px !important;
    height: 34px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-nav .support-nav-icon,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav .support-nav-icon,
  html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-nav a:is(:hover, :focus-visible, .is-active) .support-nav-icon,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-nav a:is(:hover, :focus-visible, .is-active, [aria-current="page"]) .support-nav-icon {
    width: 32px !important;
    height: 32px !important;
    opacity: 1 !important;
    filter: none !important;
    -webkit-filter: none !important;
  }

  html[data-theme="dark"] .support-nav-icon[data-nav-icon="home"] {
    content: url("/assets/generated/navigation-icons/home-dark-v2.png?v=2");
  }

  html[data-theme="dark"] .support-nav-icon[data-nav-icon="doctor"] {
    content: url("/assets/generated/navigation-icons/specialists-dark-v2.png?v=2");
  }

  html[data-theme="dark"] .support-nav-icon[data-nav-icon="rehab"] {
    content: url("/assets/generated/navigation-icons/rehabilitation-dark-v2.png?v=2");
  }

  html[data-theme="dark"] .support-nav-icon[data-nav-icon="methods"] {
    content: url("/assets/generated/navigation-icons/advanced-methods-dark-v2.png?v=2");
  }

  html[data-theme="dark"] .support-nav-icon[data-nav-icon="hospital"] {
    content: url("/assets/generated/navigation-icons/institutions-dark-v2.png?v=2");
  }

  html[data-theme="dark"] .support-nav-icon[data-nav-icon="book"] {
    content: url("/assets/generated/navigation-icons/library-dark-v2.png?v=2");
  }

  html[data-theme="dark"] .support-nav-icon[data-nav-icon="webinar"] {
    content: url("/assets/generated/navigation-icons/webinars-dark-v2.png?v=2");
  }

  html[data-theme="dark"] .support-nav-icon[data-nav-icon="podcast"] {
    content: url("/assets/generated/navigation-icons/podcasts-dark-v2.png?v=2");
  }

  html[data-theme="dark"] .support-nav-icon[data-nav-icon="equipment"] {
    content: url("/assets/generated/navigation-icons/equipment-dark-v2.png?v=2");
  }

  html[data-theme="dark"] .support-nav-icon[data-nav-icon="assistant"] {
    content: url("/assets/generated/navigation-icons/assistant-dark-v2.png?v=2");
  }
}

@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) {
  body.portal-dashboard-home .support-hero-slide .support-hero-copy {
    padding-bottom: 34px !important;
  }

  body.portal-dashboard-home .support-hero-pagination {
    top: auto !important;
    bottom: 14px !important;
    left: 50% !important;
    box-sizing: border-box;
    width: auto !important;
    height: 38px !important;
    gap: 0 !important;
    padding: 0 7px !important;
    border: 1px solid rgba(255, 255, 255, 0.34) !important;
    border-radius: 999px !important;
    background: rgba(7, 14, 21, 0.72) !important;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.28) !important;
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    transform: translateX(-50%) !important;
  }

  body.portal-dashboard-home .support-hero-pagination button,
  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button {
    width: 36px !important;
    height: 36px !important;
    background: radial-gradient(circle, #f7faf8 0 4px, rgba(169, 185, 198, 0.9) 4.5px 6px, transparent 6.5px) center/36px 36px no-repeat !important;
  }

  body.portal-dashboard-home .support-hero-pagination button.is-active,
  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button.is-active {
    background: radial-gradient(circle, #78d49a 0 5px, #f5fff8 5.5px 7px, transparent 7.5px) center/36px 36px no-repeat !important;
  }

  body.portal-dashboard-home .support-hero-pagination button:focus-visible,
  body.portal-dashboard-home .support-hero-pagination button.is-active:focus-visible,
  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button:focus-visible,
  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button.is-active:focus-visible {
    outline: 2px solid rgba(182, 230, 199, 0.9) !important;
    outline-offset: -4px !important;
  }
}

/* v365 last-mile override: compact detail-page rows win over v360. */
@media (max-width: 760px) {
  body.podcast-detail-page .podcasts-episode-button {
    grid-template-columns: 40px 104px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    align-items: center;
    gap: 12px;
    min-height: 96px;
    padding: 14px 0;
  }

  body.podcast-detail-page .podcasts-episode-number,
  body.podcast-detail-page .podcasts-episode-button .podcasts-episode-image,
  body.podcast-detail-page .podcasts-episode-button .podcasts-episode-copy {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  body.podcast-detail-page .podcasts-episode-button .podcasts-episode-image {
    width: 100%;
    height: 68px;
    margin: 0;
    aspect-ratio: auto;
  }
}

@media (max-width: 420px) {
  body.podcast-detail-page .podcasts-episode-button {
    grid-template-columns: 40px 92px minmax(0, 1fr) !important;
    gap: 10px;
  }

  body.podcast-detail-page .podcasts-episode-button .podcasts-episode-image {
    height: 62px;
  }
}

/* v366: give the taller mobile registration form breathing room below the header. */
@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) {
  .dashboard-login-layer:has(.dashboard-login-tab:nth-child(2)[aria-selected="true"]),
  .auth-modal-backdrop:has(.dashboard-login-tab:nth-child(2)[aria-selected="true"]) {
    box-sizing: border-box;
    padding: 48px 16px 16px !important;
  }

  .dashboard-login-dialog:has(.dashboard-login-tab:nth-child(2)[aria-selected="true"]) {
    max-height: calc(100dvh - 64px) !important;
  }
}

/* v369: desktop podcast episode banners keep the complete native 16:9 frame. */
@media (min-width: 761px) {
  body.podcasts-editorial-page .podcasts-episode-button {
    grid-template-columns: 64px clamp(260px, 22vw, 340px) minmax(0, 1fr) !important;
    gap: clamp(22px, 2vw, 34px);
    min-height: 0;
    padding: 16px 0;
  }

  body.podcasts-editorial-page .podcasts-episode-image {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  body.podcasts-editorial-page .podcasts-episode-image img {
    object-fit: contain;
    object-position: center;
  }
}

/* v370: reclaim the full route-link width after decorative arrows were removed. */
body.library-family-route-page .library-route-stage-links a {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

/* v372: the assistant remains a mobile-menu shortcut, not a desktop rail item. */
@media (min-width: 901px) {
  body.portal-with-sidebar .portal-shared-sidebar .support-nav [data-sidebar-assistant="true"],
  body.portal-with-sidebar .support-sidebar .support-nav [data-sidebar-assistant="true"] {
    display: none !important;
  }
}

/* v373: lower the portrait carousel controls without taking them off the photo. */
@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) {
  body.portal-dashboard-home .support-hero-pagination {
    bottom: 6px !important;
  }
}

/* v374: homepage-only mobile assistant launcher with a dedicated guide icon. */
body.portal-dashboard-home .mobile-home-assistant-launcher {
  display: none;
}

@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) {
  body.portal-dashboard-home .mobile-home-assistant-launcher {
    position: fixed;
    right: 18px;
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    z-index: 88;
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    padding: 5px;
    border: 1px solid rgba(77, 154, 105, 0.48);
    border-radius: 50%;
    background: rgba(247, 251, 248, 0.96);
    box-shadow: 0 10px 28px rgba(15, 40, 72, 0.24);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher::after {
    content: "";
    position: absolute;
    inset: -5px;
    border: 1px solid rgba(105, 201, 141, 0.42);
    border-radius: inherit;
    animation: mobile-assistant-guide-pulse 3s ease-in-out infinite;
    pointer-events: none;
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher img {
    display: block;
    width: 54px;
    height: 54px;
    object-fit: contain;
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher:focus-visible {
    outline: 3px solid rgba(105, 201, 141, 0.8);
    outline-offset: 3px;
  }

  html[data-theme="dark"] body.portal-dashboard-home .mobile-home-assistant-launcher {
    border-color: rgba(126, 213, 159, 0.54);
    background: rgba(17, 27, 38, 0.94);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.42);
  }

  body.portal-mobile-menu-open .mobile-home-assistant-launcher,
  body.portal-modal-open .mobile-home-assistant-launcher {
    display: none !important;
  }
}

@keyframes mobile-assistant-guide-pulse {
  0%, 100% {
    transform: scale(0.96);
    opacity: 0;
  }
  45% {
    opacity: 0.74;
  }
  70% {
    transform: scale(1.08);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-dashboard-home .mobile-home-assistant-launcher::after {
    animation: none;
  }
}

/* v380: exact approved Route assistant mark with dedicated light and dark artwork. */
@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) {
  body.portal-dashboard-home .mobile-home-assistant-launcher {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: 0 8px 24px rgba(15, 40, 72, 0.2);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher::after {
    content: none;
    animation: none;
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher .mobile-assistant-route-icon {
    width: 64px;
    height: 64px;
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher .mobile-assistant-route-icon--dark {
    display: none !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .mobile-home-assistant-launcher {
    border: 0;
    background: transparent;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.42);
  }

  html[data-theme="dark"] body.portal-dashboard-home .mobile-home-assistant-launcher .mobile-assistant-route-icon--light {
    display: none !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .mobile-home-assistant-launcher .mobile-assistant-route-icon--dark {
    display: block !important;
  }
}

/* v393: approved portal-palette mobile assistant chip with a single clear CTA. */
@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) {
  body.portal-dashboard-home .mobile-home-assistant-launcher {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: 184px;
    height: 56px;
    padding: 0 14px 0 13px;
    overflow: hidden;
    border: 1px solid #dde6e8;
    border-radius: 14px;
    background: #ffffff;
    color: #0b1b38;
    box-shadow: 0 7px 20px rgba(20, 35, 45, 0.12);
    transition: width 220ms ease, height 220ms ease, padding 220ms ease, border-radius 220ms ease, box-shadow 220ms ease;
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: #23834d;
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher::after {
    content: none;
  }

  body.portal-dashboard-home .mobile-assistant-launcher-mark {
    flex: 0 0 29px;
    width: 29px;
    height: 29px;
  }

  body.portal-dashboard-home .mobile-assistant-launcher-mark svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  body.portal-dashboard-home .mobile-assistant-launcher-spark {
    fill: #23834d;
    stroke: none;
  }

  body.portal-dashboard-home .mobile-assistant-launcher-copy {
    max-width: 118px;
    overflow: hidden;
    color: inherit;
    font-family: Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    opacity: 1;
    transition: max-width 180ms ease, opacity 140ms ease;
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher.is-collapsed {
    justify-content: center;
    gap: 0;
    width: 52px;
    height: 52px;
    padding: 0;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(20, 35, 45, 0.11);
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher.is-collapsed .mobile-assistant-launcher-copy {
    max-width: 0;
    opacity: 0;
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher:hover,
  body.portal-dashboard-home .mobile-home-assistant-launcher:active {
    border-color: #b8c8c0;
    box-shadow: 0 8px 24px rgba(20, 35, 45, 0.16);
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher:focus-visible {
    outline: 3px solid rgba(35, 131, 77, 0.28);
    outline-offset: 3px;
  }

  html[data-theme="dark"] body.portal-dashboard-home .mobile-home-assistant-launcher {
    border-color: #343e49;
    background: #151b22;
    color: #f2f5f3;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32);
  }

  html[data-theme="dark"] body.portal-dashboard-home .mobile-home-assistant-launcher::before {
    background: #76c993;
  }

  html[data-theme="dark"] body.portal-dashboard-home .mobile-assistant-launcher-spark {
    fill: #76c993;
  }

  html[data-theme="dark"] body.portal-dashboard-home .mobile-home-assistant-launcher:hover,
  html[data-theme="dark"] body.portal-dashboard-home .mobile-home-assistant-launcher:active {
    border-color: #52606d;
    box-shadow: 0 9px 27px rgba(0, 0, 0, 0.4);
  }

  html[data-theme="dark"] body.portal-dashboard-home .mobile-home-assistant-launcher:focus-visible {
    outline-color: rgba(118, 201, 147, 0.42);
  }
}

@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
  body.portal-dashboard-home .mobile-home-assistant-launcher,
  body.portal-dashboard-home .mobile-assistant-launcher-copy {
    transition: none;
  }
}

/* v381: keep picture as one layout item so its source nodes never enter a parent grid. */
picture.portal-optimized-picture {
  display: block;
  min-width: 0;
  max-width: 100%;
}

/* v382: keep the homepage desktop navigation aligned with internal-page rails. */
@media (min-width: 1181px) {
  body.portal-dashboard-home .support-sidebar .support-nav {
    padding-top: 0 !important;
  }
}

/* v383: allow horizontal finger swipes while preserving vertical page scrolling. */
@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) {
  body.portal-dashboard-home .support-hero-slides {
    touch-action: pan-y pinch-zoom;
    user-select: none;
    -webkit-user-select: none;
  }
}

/* v384: remove the framed mobile podcast shell while preserving its reading gutter. */
@media (max-width: 760px) {
  body.portal-with-sidebar.podcasts-editorial-page .page-shell.podcasts-editorial-shell {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-right: 16px;
    padding-left: 16px;
  }
}

/* v375: keep the native colored situation art and reveal the selected mobile route below the header. */
@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) {
  body.portal-dashboard-home .support-situation-tab > span,
  body.portal-dashboard-home .support-situation-tab[aria-selected="true"] > span {
    filter: none !important;
    opacity: 1 !important;
  }

  body.portal-dashboard-home .support-situation-panel {
    scroll-margin-top: 88px;
  }
}

/* v376: replace the institution hero search's retained light-theme navy rule in dark mode. */
html[data-theme="dark"] body.institutions-editorial-page .institutions-editorial-search input {
  border-bottom: 1px solid var(--dark-line) !important;
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-editorial-search input:focus {
  border-bottom-color: var(--dark-green) !important;
}

/* v377: the footer's large mission statement is primary copy, not muted metadata. */
html[data-theme="dark"] .editorial-footer .editorial-footer-statement p {
  color: var(--dark-ink) !important;
}

/* v378: mobile carousel dots belong to a separate row immediately below the photo. */
@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) {
  body.portal-dashboard-home .support-hero-pagination {
    position: relative !important;
    inset: auto !important;
    z-index: 4;
    display: flex !important;
    box-sizing: border-box;
    width: 100% !important;
    height: 52px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body.portal-dashboard-home .support-hero-pagination button,
  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button {
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, #ffffff 0 4px, #8290a2 4.5px 6px, transparent 6.5px) center/44px 44px no-repeat !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.portal-dashboard-home .support-hero-pagination button.is-active,
  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button.is-active {
    background: radial-gradient(circle, var(--mobile-editorial-green) 0 5px, rgba(28, 129, 76, 0.22) 5.5px 8px, transparent 8.5px) center/44px 44px no-repeat !important;
  }

  body.portal-dashboard-home .support-hero-pagination button:focus-visible,
  body.portal-dashboard-home .support-hero-pagination button.is-active:focus-visible,
  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button:focus-visible,
  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button.is-active:focus-visible {
    outline: 2px solid var(--mobile-editorial-green) !important;
    outline-offset: -7px !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination {
    background: var(--dark-bg) !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button {
    background: radial-gradient(circle, var(--dark-bg) 0 4px, #9aa8b7 4.5px 6px, transparent 6.5px) center/44px 44px no-repeat !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button.is-active {
    background: radial-gradient(circle, var(--dark-green) 0 5px, rgba(126, 213, 159, 0.28) 5.5px 8px, transparent 8.5px) center/44px 44px no-repeat !important;
  }
}

/* v379: keep complete native 16:9 podcast portraits on narrow screens. */
@media (max-width: 760px) {
  body.podcasts-editorial-page .podcasts-episode-image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
  }

  body.podcasts-editorial-page .podcasts-episode-image img {
    object-fit: contain !important;
    object-position: center !important;
  }
}

/* v385: mobile editorial surfaces span the viewport; reading gutters stay inside. */
@media (max-width: 620px) {
  body.portal-with-sidebar > main {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  body.portal-with-sidebar > :is(
    .rehab-editorial-shell,
    .methods-editorial-shell,
    .library-route-shell,
    .about-editorial-shell,
    .privacy-editorial-shell,
    .specialist-detail-shell,
    .institution-detail-shell,
    .rehab-article-shell
  ) {
    box-sizing: border-box !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
}

/* v387: high-contrast mobile carousel dots for every native dark-theme state. */
@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[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button {
    background: radial-gradient(
      circle,
      #c8d3dc 0 5px,
      #f1f5f2 5.5px 7px,
      rgba(216, 225, 232, 0.3) 7.5px 9px,
      transparent 9.5px
    ) center/44px 44px no-repeat !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button.is-active,
  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button.is-active:focus-visible {
    background: radial-gradient(
      circle,
      #63e09a 0 6px,
      #effbf4 6.5px 8.5px,
      rgba(99, 224, 154, 0.38) 9px 11.5px,
      transparent 12px
    ) center/44px 44px no-repeat !important;
    outline: none !important;
  }
}

/* v388: readable mobile typography for every long-form article template. */
@media (max-width: 700px) {
  body.rehabilitation-article-page .rehab-article-header,
  body.rehabilitation-article-page .rehab-article-layout,
  body.rehabilitation-article-page .rehab-article-related {
    padding-right: 4px !important;
    padding-left: 4px !important;
  }

  body.rehabilitation-article-page .rehab-article-header h1 {
    font-size: clamp(32px, 8.8vw, 38px) !important;
    line-height: 1.07 !important;
    letter-spacing: -0.035em !important;
    overflow-wrap: break-word !important;
  }

  body.rehabilitation-article-page .rehab-article-body .rehab-article-lead {
    padding-top: 26px !important;
    padding-bottom: 26px !important;
    font-size: 21px !important;
    line-height: 1.38 !important;
    letter-spacing: -0.012em !important;
  }

  body.rehabilitation-article-page .rehab-article-body h2 {
    font-size: 28px !important;
    line-height: 1.12 !important;
  }

  body.rehabilitation-article-page .rehab-article-body h3 {
    font-size: 24px !important;
    line-height: 1.16 !important;
  }
}

/* v389: close the mobile article audit gaps found across all 218 long-form pages. */
@media (max-width: 700px) {
  body.rehabilitation-article-page .rehab-article-header h1 {
    font-size: 28px !important;
  }

  body.rehabilitation-article-page .rehab-article-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.rehabilitation-article-page :where(
    .rehab-article-main,
    .rehab-article-hero,
    .rehab-article-body,
    .rehab-article-table-wrap
  ) {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* v390: lower internal-page registration and render carousel dots as real circles. */
@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) {
  body.portal-with-sidebar .auth-modal-backdrop:has(
    .dashboard-login-tab:nth-child(2)[aria-selected="true"]
  ) {
    top: var(--mobile-editorial-header, 72px) !important;
  }

  body.portal-with-sidebar .auth-modal-backdrop:has(
    .dashboard-login-tab:nth-child(2)[aria-selected="true"]
  ) .dashboard-login-dialog {
    max-height: calc(100dvh - var(--mobile-editorial-header, 72px) - 64px) !important;
  }

  body.portal-dashboard-home .support-hero-pagination button,
  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button {
    position: relative !important;
    background: none !important;
  }

  body.portal-dashboard-home .support-hero-pagination button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    box-sizing: border-box;
    width: 12px;
    height: 12px;
    border: 2px solid #8290a2;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 0 0 2px rgba(130, 144, 162, 0.12);
    transform: translate(-50%, -50%);
  }

  body.portal-dashboard-home .support-hero-pagination button.is-active::before {
    width: 14px;
    height: 14px;
    border-color: #eaf9ef;
    background: var(--mobile-editorial-green);
    box-shadow: 0 0 0 3px rgba(28, 129, 76, 0.24);
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button::before {
    border-color: #edf3f6;
    background: #aebbc6;
    box-shadow: 0 0 0 2px rgba(237, 243, 246, 0.18);
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-hero-pagination button.is-active::before {
    border-color: #effbf4;
    background: #63e09a;
    box-shadow: 0 0 0 3px rgba(99, 224, 154, 0.38);
  }
}

/* v391: authentication always covers the shared mobile header, matching the homepage flow. */
.auth-modal-backdrop.is-open {
  inset: 0 !important;
  z-index: 2200 !important;
}

@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) {
  body.portal-with-sidebar .auth-modal-backdrop:has(
    .dashboard-login-tab:nth-child(2)[aria-selected="true"]
  ) {
    inset: 0 !important;
    top: 0 !important;
  }

  body.portal-with-sidebar .auth-modal-backdrop:has(
    .dashboard-login-tab:nth-child(2)[aria-selected="true"]
  ) .dashboard-login-dialog {
    max-height: calc(100dvh - 64px) !important;
  }
}
/* v394: persistent three-mode theme selector and portrait iPad homepage repair. */
.support-topbar-actions {
  grid-column: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  min-width: 0;
}

.portal-theme-toggle {
  --theme-toggle-index: 1;
  position: relative;
  isolation: isolate;
  display: grid;
  box-sizing: border-box;
  width: 210px;
  height: 42px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  padding: 3px;
  overflow: hidden;
  border: 1px solid #cbd6de;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fa 100%);
  box-shadow: 0 7px 18px rgba(7, 26, 56, 0.07);
}

.portal-theme-toggle[data-theme-mode="light"] {
  --theme-toggle-index: 0;
}

.portal-theme-toggle[data-theme-mode="dark"] {
  --theme-toggle-index: 2;
}

.portal-theme-toggle::before {
  content: "";
  position: absolute;
  inset: 3px auto 3px 3px;
  z-index: -1;
  width: calc((100% - 6px) / 3);
  border: 1px solid #a8ccb8;
  border-radius: 10px;
  background: linear-gradient(180deg, #eef8f2 0%, #e2f2e8 100%);
  box-shadow: 0 2px 7px rgba(22, 92, 57, 0.11);
  transform: translateX(calc(var(--theme-toggle-index) * 100%));
  transition: transform 190ms ease, background-color 190ms ease, border-color 190ms ease;
}

.portal-theme-option {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 0;
  padding: 0 5px;
  border: 0;
  border-radius: 10px;
  color: #647188;
  background: transparent;
  font: 650 10px/1 Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
  cursor: pointer;
  transition: color 160ms ease;
}

.portal-theme-option:hover,
.portal-theme-option:focus-visible {
  color: #173353;
}

.portal-theme-option:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.38);
  outline-offset: -2px;
}

.portal-theme-option.is-active {
  color: #14653e;
}

.portal-theme-option svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html[data-theme="dark"] .portal-theme-toggle {
  border-color: #3d4a58;
  background: linear-gradient(180deg, #161d25 0%, #10161d 100%);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.24);
}

html[data-theme="dark"] .portal-theme-toggle::before {
  border-color: #6fae8d;
  background: linear-gradient(180deg, #265d4d 0%, #204c40 100%);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.24);
}

html[data-theme="dark"] .portal-theme-option {
  color: #9da9b9;
}

html[data-theme="dark"] .portal-theme-option:hover,
html[data-theme="dark"] .portal-theme-option:focus-visible,
html[data-theme="dark"] .portal-theme-option.is-active {
  color: #f2f7f4;
}

@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) {
  body.portal-dashboard-home .support-brand,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand {
    width: min(100%, 165px) !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.portal-dashboard-home .support-topbar,
  body.portal-with-sidebar .portal-shared-topbar {
    right: 7px !important;
    width: 146px !important;
    min-width: 146px !important;
    justify-content: flex-end !important;
  }

  .support-topbar-actions {
    width: 146px;
    gap: 7px;
  }

  .portal-theme-toggle {
    width: 95px;
    height: 34px;
    flex: 0 0 95px;
    padding: 2px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(7, 26, 56, 0.06);
  }

  .portal-theme-toggle::before {
    inset: 2px auto 2px 2px;
    width: calc((100% - 4px) / 3);
    border-radius: 9px;
  }

  .portal-theme-option {
    padding: 0;
  }

  .portal-theme-option svg {
    width: 15px;
    height: 15px;
  }

  .portal-theme-option-label {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  body.portal-dashboard-home .support-topbar .dashboard-login-trigger,
  body.portal-with-sidebar .portal-shared-topbar .dashboard-login-trigger {
    flex: 0 0 44px;
  }

  body.portal-dashboard-home .support-topbar .portal-mobile-profile-image,
  body.portal-with-sidebar .portal-shared-topbar .portal-mobile-profile-image {
    width: 44px !important;
    height: 44px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .portal-theme-toggle::before {
    transition: none;
  }
}
/* v396: a portrait tablet uses the complete mobile reading flow, not a mixed desktop chooser. */
@media (min-width: 901px) and (max-width: 1180px) and (orientation: portrait), (min-width: 901px) and (max-width: 1400px) and (min-height: 820px) and (orientation: portrait), (min-width: 901px) and (max-width: 1400px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  body.portal-dashboard-home .support-situation-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.portal-dashboard-home .support-situation-panel {
    border-top: 1px solid var(--mobile-editorial-line) !important;
    border-left: 0 !important;
    padding: 32px 28px 28px !important;
  }
}

/* v398: complete portrait mobile-shell audit plus stronger tablet controls. */
@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) {
  body.portal-dashboard-home .support-topbar,
  body.portal-with-sidebar .portal-shared-topbar {
    position: fixed !important;
    top: 0 !important;
    right: 7px !important;
    z-index: 1005 !important;
  }

  .portal-theme-toggle {
    width: 104px !important;
    height: 40px !important;
    flex-basis: 104px !important;
    padding: 4px !important;
    border-radius: 22px !important;
    border-color: #b9c8d2 !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 7px 20px rgba(20, 35, 45, 0.13) !important;
  }

  .portal-theme-toggle::before {
    inset: 4px auto 4px 4px !important;
    width: calc((100% - 8px) / 3) !important;
    border-radius: 50% !important;
  }

  .portal-theme-option {
    border-radius: 50% !important;
    color: #40546d !important;
  }

  .portal-theme-option.is-active {
    color: #14653e !important;
  }

  .portal-theme-option svg {
    width: 16px !important;
    height: 16px !important;
    stroke-width: 2.2px !important;
  }

  .portal-mobile-profile-image {
    border-radius: 50% !important;
    filter: contrast(1.18) saturate(1.04) !important;
    box-shadow: 0 7px 20px rgba(20, 35, 45, 0.16) !important;
  }

  html[data-theme="dark"] .portal-theme-toggle {
    background: rgba(18, 24, 31, 0.96) !important;
  }

  body.portal-dashboard-home .support-topbar,
  body.portal-with-sidebar .portal-shared-topbar,
  .support-topbar-actions {
    width: 155px !important;
    min-width: 155px !important;
  }
}

@media (max-width: 620px) {
  html body.portal-dashboard-home aside.support-sidebar,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar {
    justify-content: flex-start !important;
    padding: 7px 162px 7px 62px !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: 8px !important;
    left: 64px !important;
    transform: none !important;
    width: 165px !important;
    min-width: 0 !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 6px !important;
    margin: 0 !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand img,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand img {
    width: 34px !important;
    height: 50px !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand strong,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand strong {
    font-size: 14px !important;
    line-height: 0.88 !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand small,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand small {
    font-size: 8px !important;
  }
}

@media (max-width: 400px) {
  html body.portal-dashboard-home aside.support-sidebar,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar {
    padding-right: 154px !important;
    padding-left: 56px !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    left: 56px !important;
    width: 145px !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 5px !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand img,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand img {
    width: 30px !important;
    height: 46px !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand strong,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand strong {
    font-size: 12.5px !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand small,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand small {
    font-size: 7px !important;
  }

  .portal-theme-toggle {
    width: 96px !important;
    flex-basis: 96px !important;
  }

  body.portal-dashboard-home .support-topbar,
  body.portal-with-sidebar .portal-shared-topbar,
  .support-topbar-actions {
    width: 147px !important;
    min-width: 147px !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) and (orientation: portrait), (min-width: 901px) and (max-width: 1400px) and (min-height: 820px) and (orientation: portrait), (min-width: 901px) and (max-width: 1400px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  body.portal-dashboard-home .support-topbar,
  body.portal-with-sidebar .portal-shared-topbar,
  .support-topbar-actions {
    width: 191px !important;
    min-width: 191px !important;
  }

  .support-topbar-actions {
    gap: 9px !important;
  }

  .portal-theme-toggle {
    width: 132px !important;
    height: 44px !important;
    flex-basis: 132px !important;
    padding: 4px !important;
    border-color: #849aaa !important;
    background: #f5f9f7 !important;
    box-shadow: 0 8px 22px rgba(20, 35, 45, 0.18) !important;
  }

  .portal-theme-option svg {
    width: 19px !important;
    height: 19px !important;
  }

  body.portal-dashboard-home .support-topbar .dashboard-login-trigger.portal-unified-login,
  body.portal-with-sidebar .portal-shared-topbar .dashboard-login-trigger.portal-unified-login {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
  }

  body.portal-dashboard-home .support-topbar .portal-mobile-profile-image,
  body.portal-with-sidebar .portal-shared-topbar .portal-mobile-profile-image {
    width: 48px !important;
    height: 48px !important;
  }

  html[data-theme="dark"] .portal-theme-toggle {
    border-color: #78909f !important;
    background: #151d25 !important;
  }

  html body.portal-with-sidebar {
    --portal-sidebar-width: 0px !important;
    padding-left: 0 !important;
  }

  html body.portal-dashboard-home > aside.support-sidebar,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar {
    position: sticky !important;
    inset: 0 auto auto 0 !important;
    display: flex !important;
    width: 100% !important;
    height: var(--mobile-editorial-header, 72px) !important;
    min-height: var(--mobile-editorial-header, 72px) !important;
    padding: 7px 178px 7px 64px !important;
    overflow: visible !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--mobile-editorial-line) !important;
    background: var(--mobile-editorial-bg) !important;
  }

  html body.portal-with-sidebar > main,
  html body.portal-with-sidebar > .page-shell,
  html body.portal-with-sidebar > main.page-shell {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  html body.portal-with-sidebar .portal-shared-sidebar .support-nav,
  html body.portal-dashboard-home .support-sidebar .support-nav {
    width: min(58vw, 480px) !important;
    max-width: 480px !important;
  }

  body.portal-dashboard-home .support-hero-slide.is-active {
    grid-template-rows: auto clamp(390px, 46vw, 470px) !important;
  }

  body.portal-dashboard-home .support-hero-slide > img,
  body.portal-dashboard-home .support-hero-image-link {
    height: clamp(390px, 46vw, 470px) !important;
  }

  body.specialists-editorial-page .specialists-editorial-grid,
  body.institutions-editorial-page .institutions-editorial-nearby-grid,
  body.institutions-editorial-page .institutions-editorial-grid,
  body.library-family-route-page .library-route-current-cards,
  body.rehabilitation-editorial-page .rehab-editorial-topic-grid,
  body.methods-editorial-page .methods-editorial-direction-grid,
  body.education-editorial-page .education-editorial-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.specialists-editorial-page .specialists-editorial-card,
  body.specialists-editorial-page .specialists-editorial-card:nth-child(n),
  body.institutions-editorial-page .institutions-editorial-card,
  body.institutions-editorial-page .institutions-editorial-card:nth-child(n) {
    border-left: 0 !important;
  }

  body.podcasts-editorial-page .podcasts-featured,
  body.podcast-detail-page .podcast-detail-hero,
  body.rehabilitation-article-page .rehab-article-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher {
    width: 224px !important;
    height: 64px !important;
    gap: 12px !important;
    padding-right: 18px !important;
    padding-left: 16px !important;
    border-radius: 16px !important;
  }

  body.portal-dashboard-home .mobile-assistant-launcher-mark {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
  }

  body.portal-dashboard-home .mobile-assistant-launcher-copy {
    max-width: 148px !important;
    font-size: 16px !important;
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher.is-collapsed {
    width: 66px !important;
    height: 66px !important;
    padding: 0 !important;
    border-radius: 17px !important;
  }
}

/* v399: use subject-safe wide artwork for the stacked homepage carousel. */
@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) {
  body.portal-dashboard-home .support-hero-slide.is-active {
    grid-template-rows: auto clamp(184px, 54vw, 520px) !important;
  }

  body.portal-dashboard-home .support-hero-slide > img,
  body.portal-dashboard-home .support-hero-image-link {
    height: clamp(184px, 54vw, 520px) !important;
  }

  body.portal-dashboard-home .support-hero-slide > img {
    object-position: center !important;
  }

  body.portal-dashboard-home .support-hero-slide-image--podcasts {
    content: url("/assets/generated/section-photos/section-podcasts-photo-wide-v2.webp");
  }

  body.portal-dashboard-home .support-hero-slide-image--webinars {
    content: url("/assets/generated/section-photos/section-webinars-photo-wide-v2.webp");
  }

  body.portal-dashboard-home .support-hero-slide-image--library {
    content: url("/assets/generated/section-photos/section-library-photo-wide-v2.webp");
  }
}

/* v400: one animated mobile theme button; Auto combines sun and moon. */
.portal-theme-cycle {
  display: none;
}

@keyframes portal-theme-cycle-pop {
  0% { opacity: 0.25; transform: rotate(-18deg) scale(0.72); }
  70% { opacity: 1; transform: rotate(3deg) scale(1.08); }
  100% { opacity: 1; transform: rotate(0) scale(1); }
}

@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) {
  .portal-theme-toggle {
    display: none !important;
  }

  .portal-theme-cycle {
    display: grid !important;
    box-sizing: border-box;
    width: 44px;
    min-width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    margin: 0;
    padding: 0;
    border: 1px solid #b7c5ce;
    border-radius: 50%;
    color: #102642;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 7px 20px rgba(20, 35, 45, 0.13);
    cursor: pointer;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
  }

  .portal-theme-cycle:hover,
  .portal-theme-cycle:focus-visible {
    border-color: #72c99d;
    box-shadow: 0 0 0 4px rgba(80, 210, 150, 0.12), 0 8px 22px rgba(20, 35, 45, 0.16);
  }

  .portal-theme-cycle:focus-visible {
    outline: 2px solid rgba(35, 131, 77, 0.42);
    outline-offset: 2px;
  }

  .portal-theme-cycle[data-theme-mode="auto"] {
    color: #14653e;
    border-color: #9bd8bb;
    box-shadow: 0 0 0 3px rgba(80, 210, 150, 0.1), 0 7px 20px rgba(20, 35, 45, 0.13);
  }

  .portal-theme-cycle[data-theme-mode="dark"],
  html[data-theme="dark"] .portal-theme-cycle {
    color: #f4f7f5;
    border-color: #54626d;
    background: rgba(24, 31, 38, 0.98);
    box-shadow: 0 0 0 3px rgba(80, 210, 150, 0.08), 0 8px 22px rgba(0, 0, 0, 0.28);
  }

  html[data-theme="dark"] .portal-theme-cycle[data-theme-mode="auto"] {
    color: #8fe3ba;
    border-color: #5d9b7b;
  }

  .portal-theme-cycle-icon {
    display: none;
    width: 24px;
    height: 24px;
    place-items: center;
  }

  .portal-theme-cycle-icon:only-child,
  .portal-theme-cycle[data-theme-mode="light"] [data-theme-cycle-icon="light"],
  .portal-theme-cycle[data-theme-mode="auto"] [data-theme-cycle-icon="auto"],
  .portal-theme-cycle[data-theme-mode="dark"] [data-theme-cycle-icon="dark"] {
    display: grid;
    animation: portal-theme-cycle-pop 230ms ease-out;
  }

  .portal-theme-cycle svg {
    display: block;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .portal-theme-cycle[data-theme-mode="auto"] svg {
    width: 24px;
    height: 24px;
  }

  body.portal-dashboard-home .support-topbar,
  body.portal-with-sidebar .portal-shared-topbar,
  .support-topbar-actions {
    width: 96px !important;
    min-width: 96px !important;
  }

  .support-topbar-actions {
    gap: 8px !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) and (orientation: portrait), (min-width: 901px) and (max-width: 1400px) and (min-height: 820px) and (orientation: portrait), (min-width: 901px) and (max-width: 1400px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .portal-theme-cycle {
    width: 48px;
    min-width: 48px;
    height: 48px;
    flex-basis: 48px;
  }

  body.portal-dashboard-home .support-topbar,
  body.portal-with-sidebar .portal-shared-topbar,
  .support-topbar-actions {
    width: 105px !important;
    min-width: 105px !important;
  }

  .support-topbar-actions {
    gap: 9px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .portal-theme-cycle-icon {
    animation: none !important;
  }
}

/* v401: portrait tablets use the complete mobile authentication layout. */
@media (min-width: 901px) and (max-width: 1180px) and (orientation: portrait), (min-width: 901px) and (max-width: 1400px) and (min-height: 820px) and (orientation: portrait), (min-width: 901px) and (max-width: 1400px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  .dashboard-login-layer,
  .auth-modal-backdrop,
  .auth-modal-backdrop.is-open {
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
  }

  .dashboard-login-dialog {
    display: block !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(calc(100vw - 32px), 520px) !important;
    max-width: 520px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 32px) !important;
    margin: auto !important;
    overflow: hidden auto !important;
    border-radius: 24px !important;
  }

  .dashboard-login-intro {
    display: none !important;
  }

  .dashboard-login-panel {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 36px 30px max(28px, env(safe-area-inset-bottom)) !important;
    overflow: visible !important;
  }
}

/* v402: keep the shared brand entirely inside the portrait-tablet header. */
@media (min-width: 901px) and (max-width: 1180px) and (orientation: portrait), (min-width: 901px) and (max-width: 1400px) and (min-height: 820px) and (orientation: portrait), (min-width: 901px) and (max-width: 1400px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  html body.portal-dashboard-home aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    position: absolute !important;
    top: 9px !important;
    left: 50% !important;
    width: 165px !important;
    height: 54px !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand > img,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand > img {
    width: 38px !important;
    height: 54px !important;
    padding: 0 !important;
    object-fit: contain !important;
  }

  html body.portal-dashboard-home 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;
    gap: 3px !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand strong,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand strong {
    max-width: none !important;
    font-size: 16px !important;
    line-height: 0.98 !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand small,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand small {
    font-size: 9px !important;
    line-height: 1.15 !important;
  }
}

/* v403: one coherent portrait-tablet system from compact 11-inch to 13-inch layouts. */
html:has(body.portal-dashboard-home),
body.portal-dashboard-home {
  overflow-x: hidden;
}

.course-profile-media > picture,
.course-profile-media > picture > img,
.course-profile-media > img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto;
}

@media (min-width: 621px) and (max-width: 900px), (min-width: 621px) and (max-width: 1400px) and (min-height: 820px) and (orientation: portrait), (min-width: 621px) and (max-width: 1400px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  html body.portal-dashboard-home aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    position: absolute !important;
    top: 9px !important;
    left: 50% !important;
    width: 165px !important;
    height: 54px !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand > img,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand > img {
    width: 38px !important;
    height: 54px !important;
    padding: 0 !important;
    object-fit: contain !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand strong,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand strong {
    max-width: none !important;
    font-size: 16px !important;
    line-height: 0.98 !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand small,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand small {
    font-size: 9px !important;
    line-height: 1.15 !important;
  }

  body.portal-dashboard-home .support-situation-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.library-family-route-page .library-route-current-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.library-family-route-page .library-route-current-card,
  body.library-family-route-page .library-route-current-card:first-child,
  body.library-family-route-page .library-route-current-card:last-child {
    padding: 24px !important;
  }

  body.library-family-route-page .library-route-current-card:nth-child(odd) {
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  body.library-family-route-page .library-route-current-card:nth-child(even) {
    padding-right: 0 !important;
    border-left: 1px solid var(--editorial-line) !important;
  }

  body.library-family-route-page .library-route-current-card:nth-child(n + 3) {
    border-top: 1px solid var(--editorial-line) !important;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item,
  body.institutions-editorial-page .institutions-editorial-nearby-item:first-child,
  body.institutions-editorial-page .institutions-editorial-nearby-item:last-child,
  body.institutions-editorial-page .institutions-editorial-nearby-item:nth-child(n) {
    padding: 28px 0 !important;
    border-top: 1px solid var(--institutions-line) !important;
    border-left: 0 !important;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item > strong {
    min-height: 0 !important;
  }

  body.institutions-editorial-page .institutions-editorial-directory-head {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }

  body.institutions-editorial-page .institutions-editorial-grid > .institutions-editorial-card,
  body.institutions-editorial-page .institutions-editorial-grid > .institutions-editorial-card:nth-child(n) {
    grid-template-columns: 32px 112px minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    gap: 6px 18px !important;
    min-height: 0 !important;
    padding: 18px 0 !important;
  }

  body.institutions-editorial-page .institutions-editorial-card-number {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
  }

  body.institutions-editorial-page .institutions-editorial-card-media {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    width: 112px !important;
    height: 78px !important;
  }

  body.institutions-editorial-page .institutions-editorial-card-copy {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  body.institutions-editorial-page .institutions-editorial-card-meta {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }

  body.institutions-editorial-page .institutions-editorial-card-action {
    grid-column: 2 / 4 !important;
    grid-row: 3 !important;
    justify-self: start !important;
    margin-top: 7px !important;
  }

  body.specialists-editorial-page .specialists-editorial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: clamp(28px, 4vw, 44px) !important;
  }

  body.specialists-editorial-page .specialists-editorial-card,
  body.specialists-editorial-page .specialists-editorial-card:nth-child(n) {
    grid-template-columns: clamp(112px, 15vw, 150px) minmax(0, 1fr) !important;
    gap: 18px !important;
    min-height: clamp(164px, 21vw, 210px) !important;
    padding: 12px 0 !important;
  }

  body.specialists-editorial-page .specialists-editorial-card-photo {
    width: clamp(112px, 15vw, 150px) !important;
    height: clamp(140px, 18.4vw, 184px) !important;
  }

  body.specialists-editorial-page .specialists-editorial-card-copy strong {
    font-size: clamp(20px, 2.35vw, 26px) !important;
  }

  body.institution-detail-page .institution-detail-hero,
  body.institution-detail-page .institution-detail-document {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.institution-detail-page .institution-detail-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.about-editorial-page .about-editorial-hero,
  body.about-editorial-page .about-editorial-story,
  body.about-editorial-page .about-editorial-mission,
  body.privacy-editorial-page .privacy-editorial-layout,
  body.contacts-editorial-page .contacts-hero,
  body.contacts-editorial-page .contacts-section-heading,
  body.contacts-editorial-page .contacts-details-layout,
  body.contacts-editorial-page .contacts-help,
  body.payment-editorial-page .payment-editorial-hero,
  body.payment-editorial-page .payment-editorial-heading,
  body.payment-editorial-page .payment-process-list,
  body.payment-editorial-page .payment-policy,
  body.payment-editorial-page .payment-requisites-layout,
  body.payment-editorial-page .payment-help,
  body.podcasts-editorial-page .podcasts-featured,
  body.podcast-detail-page .podcast-detail-hero {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.contacts-editorial-page .contacts-details-layout > *,
  body.contacts-editorial-page .contacts-details-layout > * + *,
  body.payment-editorial-page .payment-requisites-layout > *,
  body.payment-editorial-page .payment-requisites-layout > * + * {
    padding-right: 0 !important;
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  body.contacts-editorial-page .contacts-details-layout > * + * {
    border-top: 1px solid var(--contacts-line) !important;
  }

  body.payment-editorial-page .payment-requisites-layout > * + *,
  body.payment-editorial-page .payment-policy article + article {
    border-top: 1px solid var(--payment-line) !important;
  }

  body.contacts-editorial-page .contacts-help > a,
  body.payment-editorial-page .payment-help > a {
    justify-self: start !important;
  }

  body.payment-editorial-page .payment-process-list li,
  body.payment-editorial-page .payment-process-list li:nth-child(even),
  body.payment-editorial-page .payment-policy article,
  body.payment-editorial-page .payment-policy article + article {
    border-left: 0 !important;
  }

  body.podcasts-editorial-page .podcasts-featured-copy dl,
  body.rehabilitation-article-page .rehab-article-toc {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* v417: compact, filled nearby-institution media on phones and portrait tablets. */
@media (min-width: 621px) and (max-width: 900px), (min-width: 621px) and (max-width: 1400px) and (min-height: 820px) and (orientation: portrait), (min-width: 621px) and (max-width: 1400px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
  body.institutions-editorial-page .institutions-editorial-nearby-item,
  body.institutions-editorial-page .institutions-editorial-nearby-item:first-child,
  body.institutions-editorial-page .institutions-editorial-nearby-item:last-child,
  body.institutions-editorial-page .institutions-editorial-nearby-item:nth-child(n) {
    grid-template-columns: minmax(0, 1fr) clamp(270px, 42vw, 430px) !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
    column-gap: clamp(24px, 4vw, 42px) !important;
    align-items: start !important;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item > strong,
  body.institutions-editorial-page .institutions-editorial-nearby-item > small,
  body.institutions-editorial-page .institutions-editorial-nearby-item > p,
  body.institutions-editorial-page .institutions-editorial-nearby-item > span {
    grid-column: 1 !important;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item > strong {
    grid-row: 1 !important;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item > small {
    grid-row: 2 !important;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item > p {
    grid-row: 3 !important;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item > span {
    grid-row: 4 !important;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item > img,
  body.institutions-editorial-page .institutions-editorial-nearby-item > picture.portal-optimized-picture,
  body.institutions-editorial-page .institutions-editorial-nearby-item:not(:has(> img)):not(:has(> picture.portal-optimized-picture))::before {
    grid-column: 2 !important;
    grid-row: 1 / 5 !important;
    align-self: center !important;
    width: 100% !important;
    height: clamp(170px, 21vw, 220px) !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    background: #f5f7f6 !important;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item > picture.portal-optimized-picture > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }
}

@media (max-width: 620px) {
  body.institutions-editorial-page .institutions-editorial-nearby-item > img,
  body.institutions-editorial-page .institutions-editorial-nearby-item > picture.portal-optimized-picture,
  body.institutions-editorial-page .institutions-editorial-nearby-item:not(:has(> img)):not(:has(> picture.portal-optimized-picture))::before {
    height: 170px !important;
    object-fit: cover !important;
    object-position: center !important;
    background: #f5f7f6 !important;
  }

  body.institutions-editorial-page .institutions-editorial-nearby-item > picture.portal-optimized-picture > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }
}

/* v405: one animated theme-cycle button on every viewport. */
.portal-theme-toggle {
  display: none !important;
}

.portal-theme-cycle {
  display: grid !important;
  box-sizing: border-box !important;
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !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, 0.98) !important;
  box-shadow: 0 7px 20px rgba(20, 35, 45, 0.13) !important;
  cursor: pointer !important;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}

.portal-theme-cycle:hover {
  border-color: #72c99d !important;
  box-shadow: 0 0 0 4px rgba(80, 210, 150, 0.12), 0 8px 22px rgba(20, 35, 45, 0.16) !important;
  transform: translateY(-1px) !important;
}

.portal-theme-cycle:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.42) !important;
  outline-offset: 2px !important;
}

.portal-theme-cycle[data-theme-mode="auto"] {
  color: #14653e !important;
  border-color: #8fd3ad !important;
  box-shadow: 0 0 0 3px rgba(80, 210, 150, 0.1), 0 7px 20px rgba(20, 35, 45, 0.13) !important;
}

.portal-theme-cycle[data-theme-mode="dark"],
html[data-theme="dark"] .portal-theme-cycle {
  color: #f4f7f5 !important;
  border-color: #54626d !important;
  background: rgba(24, 31, 38, 0.98) !important;
  box-shadow: 0 0 0 3px rgba(80, 210, 150, 0.08), 0 8px 22px rgba(0, 0, 0, 0.28) !important;
}

html[data-theme="dark"] .portal-theme-cycle[data-theme-mode="auto"] {
  color: #8fe3ba !important;
  border-color: #5d9b7b !important;
}

.portal-theme-cycle-icon {
  display: none !important;
  width: 25px !important;
  height: 25px !important;
  place-items: center !important;
}

.portal-theme-cycle-icon:only-child,
.portal-theme-cycle[data-theme-mode="light"] [data-theme-cycle-icon="light"],
.portal-theme-cycle[data-theme-mode="auto"] [data-theme-cycle-icon="auto"],
.portal-theme-cycle[data-theme-mode="dark"] [data-theme-cycle-icon="dark"] {
  display: grid !important;
  animation: portal-theme-cycle-pop 230ms ease-out;
}

.portal-theme-cycle svg {
  display: block !important;
  width: 23px !important;
  height: 23px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.65 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.portal-theme-cycle[data-theme-mode="auto"] svg {
  width: 25px !important;
  height: 25px !important;
}

@media (max-width: 900px) {
  .portal-theme-cycle {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .portal-theme-cycle,
  .portal-theme-cycle-icon {
    animation: none !important;
    transition: none !important;
  }
}

/* v406: center the compact brand and let manual Light override Android force-dark. */
html[data-theme-mode="light"],
html[data-theme-mode="light"] body {
  color-scheme: only light !important;
}

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

@media (max-width: 340px) {
  html body.portal-dashboard-home aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    width: 106px !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    gap: 3px !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand img,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand img {
    width: 24px !important;
    height: 40px !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand strong,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand strong {
    font-size: 9.5px !important;
  }
}

/* v407: equal visible theme/profile circles in compact headers. */
@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) {
  body.portal-dashboard-home .support-topbar .dashboard-login-trigger.portal-unified-login,
  body.portal-with-sidebar .portal-shared-topbar .dashboard-login-trigger.portal-unified-login {
    overflow: hidden !important;
  }

  body.portal-dashboard-home .support-topbar .portal-mobile-profile-image,
  body.portal-with-sidebar .portal-shared-topbar .portal-mobile-profile-image {
    transform: scale(1.4) !important;
    transform-origin: center !important;
  }

  .portal-theme-cycle[data-theme-mode="auto"] {
    box-shadow: 0 7px 20px rgba(20, 35, 45, 0.13) !important;
  }

  html[data-theme="dark"] .portal-theme-cycle[data-theme-mode="auto"] {
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28) !important;
  }
}

/* v408: suppress square touch highlights while retaining circular keyboard focus. */
@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) {
  .portal-mobile-menu-toggle,
  .portal-theme-cycle,
  body.portal-dashboard-home .support-topbar .dashboard-login-trigger.portal-unified-login,
  body.portal-with-sidebar .portal-shared-topbar .dashboard-login-trigger.portal-unified-login {
    border-radius: 50% !important;
    outline: 0 !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation;
  }

  .portal-mobile-menu-toggle:focus-visible,
  .portal-theme-cycle:focus-visible,
  body.portal-dashboard-home .support-topbar .dashboard-login-trigger.portal-unified-login:focus-visible,
  body.portal-with-sidebar .portal-shared-topbar .dashboard-login-trigger.portal-unified-login:focus-visible {
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(35, 131, 77, 0.34), 0 7px 20px rgba(20, 35, 45, 0.13) !important;
  }

  html[data-theme="dark"] .portal-mobile-menu-toggle:focus-visible,
  html[data-theme="dark"] .portal-theme-cycle:focus-visible,
  html[data-theme="dark"] body.portal-dashboard-home .support-topbar .dashboard-login-trigger.portal-unified-login:focus-visible,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-topbar .dashboard-login-trigger.portal-unified-login:focus-visible {
    box-shadow: 0 0 0 3px rgba(143, 227, 186, 0.34), 0 8px 22px rgba(0, 0, 0, 0.28) !important;
  }
}

/* v410: keep compact-tablet hero copy above its image and center a larger tablet-only assistant mark. */
@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) {
  body.portal-dashboard-home .support-hero-slide .support-hero-copy {
    transform: none !important;
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher.is-collapsed {
    justify-content: center !important;
    gap: 0 !important;
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher.is-collapsed .mobile-assistant-launcher-mark {
    margin: 0 !important;
  }

  body.portal-dashboard-home .mobile-home-assistant-launcher.is-collapsed .mobile-assistant-launcher-copy {
    width: 0 !important;
    max-width: 0 !important;
    flex: 0 0 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
  }
}

@media (min-width: 621px) and (min-height: 600px) and (max-width: 1180px),
  (min-width: 901px) and (max-width: 1400px) and (min-height: 820px),
  (min-width: 901px) and (max-width: 1400px) and (hover: none) and (pointer: coarse) {
  body.portal-dashboard-home .mobile-assistant-launcher-mark {
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px !important;
  }

  body.portal-dashboard-home .mobile-assistant-launcher-mark svg {
    stroke-width: 1.9 !important;
  }

}

/* v411: keep browser zoom fluid without mistaking a fine-pointer desktop for a landscape phone. */
body.portal-dashboard-home .support-hero-slide .support-hero-copy {
  transform: none !important;
}

@media (max-width: 900px) and (orientation: landscape) and (hover: hover) and (pointer: fine) {
  :root {
    --mobile-editorial-header: 72px;
  }

  body.portal-dashboard-home .support-sidebar,
  body.portal-with-sidebar .portal-shared-sidebar {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  .portal-mobile-menu-toggle {
    top: 14px !important;
  }

  body.portal-dashboard-home .support-brand img,
  body.portal-with-sidebar .portal-shared-sidebar .support-brand > img {
    height: 54px !important;
  }

  body.portal-dashboard-home .support-hero-slide.is-active {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto clamp(184px, 54vw, 520px) !important;
  }

  body.portal-dashboard-home .support-hero-slide > img {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    height: clamp(184px, 54vw, 520px) !important;
  }

  body.portal-dashboard-home .support-hero-image-link {
    inset: auto 0 0 !important;
    width: 100% !important;
    height: clamp(184px, 54vw, 520px) !important;
  }

  body.portal-dashboard-home .support-hero-slide .support-hero-copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-height: 0 !important;
    transform: none !important;
  }

  body.portal-dashboard-home .support-hero-pagination {
    top: auto !important;
    bottom: 14px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

/* v412: keep the complete homepage compact header fixed, matching internal routes. */
@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) {
  body.portal-dashboard-home .support-home-shell {
    box-sizing: border-box !important;
    padding-top: var(--mobile-editorial-header, 72px) !important;
  }

  body.portal-dashboard-home .support-home-shell > .support-sidebar {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 1000 !important;
    width: 100% !important;
  }
}

/* v413: give the compact phone brand a legible, optically centered lockup. */
@media (max-width: 620px) {
  html body.portal-dashboard-home aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    top: 50% !important;
    left: 50% !important;
    width: min(180px, calc(100vw - 220px)) !important;
    grid-template-columns: clamp(30px, 8.2vw, 38px) minmax(0, 1fr) !important;
    gap: clamp(5px, 1.7vw, 7px) !important;
    transform: translate(-50%, -50%) !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand > img,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand > img {
    width: clamp(30px, 8.2vw, 38px) !important;
    height: clamp(46px, 12.9vw, 52px) !important;
  }

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

  html body.portal-dashboard-home aside.support-sidebar > .support-brand strong,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand strong {
    font-size: clamp(14px, 3.8vw, 16px) !important;
    line-height: 0.96 !important;
  }

  html body.portal-dashboard-home 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.15vw, 9px) !important;
    line-height: 1.12 !important;
  }
}

@media (max-width: 340px) {
  html body.portal-dashboard-home aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    width: min(112px, calc(100vw - 214px)) !important;
    grid-template-columns: clamp(23px, 7.5vw, 26px) minmax(0, 1fr) !important;
    gap: 3px !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand > img,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand > img {
    width: clamp(23px, 7.5vw, 26px) !important;
    height: clamp(38px, 12.5vw, 42px) !important;
  }

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

  html body.portal-dashboard-home aside.support-sidebar > .support-brand small,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand small {
    font-size: 7.5px !important;
  }
}

@media (min-width: 341px) and (max-width: 359px) {
  html body.portal-dashboard-home aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    width: calc(100vw - 214px) !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand strong,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand strong {
    font-size: 3.65vw !important;
  }
}

/* v414: keep the medium desktop rail in normal grid flow on full-width landscape tablets. */
@media (min-width: 901px) and (max-width: 1180px) and (orientation: landscape) {
  body.portal-dashboard-home .support-home-shell > .support-sidebar {
    position: sticky !important;
    inset: auto !important;
    top: 0 !important;
    width: 228px !important;
  }

  body.portal-dashboard-home .support-home-shell > .support-main {
    grid-column: 2 !important;
    width: auto !important;
  }
}

@media (min-width: 901px) and (max-width: 1400px) and (orientation: landscape) {
  html body.portal-dashboard-home .support-sidebar .support-nav,
  html body.portal-with-sidebar .portal-shared-sidebar .support-nav {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.portal-dashboard-home .support-sidebar .support-nav a,
  html body.portal-with-sidebar .portal-shared-sidebar .support-nav a {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 32px minmax(96px, 1fr) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: normal !important;
  }

  body.specialists-editorial-page .specialists-editorial-featured figcaption > a {
    display: inline-block !important;
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }
}

/* v417: remove the obsolete 10px floating-rail gutter on full-width landscape tablets. */
@media (min-width: 901px) and (max-width: 1199px) and (orientation: landscape) {
  html:has(body.portal-with-sidebar),
  html body.portal-with-sidebar {
    background: #ffffff !important;
  }

  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    height: 100vh !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
  }

  html[data-theme="dark"]:has(body.portal-with-sidebar),
  html[data-theme="dark"] body.portal-with-sidebar,
  html[data-theme="dark"] body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar {
    background: var(--dark-bg, #0e1217) !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) and (orientation: landscape) {
  html body.portal-with-sidebar {
    padding-left: 228px !important;
  }

  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar {
    width: 228px !important;
  }
}

@media (min-width: 1181px) and (max-width: 1199px) and (orientation: landscape) {
  html body.portal-with-sidebar {
    padding-left: clamp(264px, 20.625vw, 330px) !important;
  }

  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar {
    width: clamp(264px, 20.625vw, 330px) !important;
  }
}

/* v418: lock every landscape-tablet sidebar label to one shared left edge. */
@media (min-width: 901px) and (max-width: 1400px) and (orientation: landscape) {
  html body.portal-dashboard-home .support-sidebar .support-nav a,
  html body.portal-with-sidebar .portal-shared-sidebar .support-nav a {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    text-align: left !important;
  }
}

/* v419: keep the illustrated tablet rail optically identical on every route. */
@media (min-width: 1181px) and (max-width: 1400px) and (orientation: landscape) {
  html body.portal-dashboard-home .support-sidebar .support-nav .support-nav-icon,
  html body.portal-with-sidebar .portal-shared-sidebar .support-nav .support-nav-icon {
    display: block !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    place-self: center !important;
    transform: none !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="home"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="home"] {
    width: 35px !important;
    height: 35px !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="doctor"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="doctor"],
  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="rehab"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="rehab"],
  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="podcast"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="podcast"],
  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="equipment"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="equipment"] {
    width: 33.5px !important;
    height: 33.5px !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="methods"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="methods"] {
    width: 35px !important;
    height: 35px !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="hospital"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="hospital"] {
    width: 39.5px !important;
    height: 39.5px !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="book"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="book"] {
    width: 41px !important;
    height: 41px !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="webinar"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="webinar"] {
    width: 45px !important;
    height: 45px !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) and (orientation: landscape) {
  html body.portal-dashboard-home .support-sidebar .support-nav .support-nav-icon,
  html body.portal-with-sidebar .portal-shared-sidebar .support-nav .support-nav-icon {
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    place-self: center !important;
    transform: none !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="home"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="home"],
  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="methods"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="methods"] {
    width: 32px !important;
    height: 32px !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="doctor"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="doctor"],
  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="rehab"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="rehab"],
  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="podcast"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="podcast"],
  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="equipment"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="equipment"] {
    width: 30.5px !important;
    height: 30.5px !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="hospital"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="hospital"] {
    width: 36px !important;
    height: 36px !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="book"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="book"] {
    width: 37.5px !important;
    height: 37.5px !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="webinar"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="webinar"] {
    width: 41px !important;
    height: 41px !important;
  }
}

/* v420: keep the shared shell visible while Safari swaps same-origin documents. */
@view-transition {
  navigation: auto;
}

body.portal-dashboard-home .support-sidebar,
body.portal-with-sidebar .portal-shared-sidebar.support-sidebar {
  view-transition-name: portal-sidebar;
}

body.portal-dashboard-home .support-topbar,
body.portal-with-sidebar .portal-shared-topbar {
  view-transition-name: portal-topbar;
}

::view-transition-group(portal-sidebar),
::view-transition-group(portal-topbar) {
  animation-duration: 160ms;
  animation-timing-function: ease-out;
}

::view-transition-old(portal-sidebar),
::view-transition-new(portal-sidebar),
::view-transition-old(portal-topbar),
::view-transition-new(portal-topbar) {
  mix-blend-mode: normal;
}

/* v421: one physical landscape-tablet sidebar, independent of route and Safari page zoom. */
@media (min-width: 901px) and (max-width: 1400px) and (orientation: landscape) {
  html body.portal-with-sidebar {
    box-sizing: border-box !important;
    padding-left: 22vw !important;
  }

  html body.portal-dashboard-home .support-home-shell {
    grid-template-columns: 22vw minmax(0, 1fr) !important;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar {
    box-sizing: border-box !important;
    grid-template-rows: 7.8125vw minmax(0, 1fr) !important;
    align-content: start !important;
    gap: 2.1875vw !important;
    width: 22vw !important;
    min-width: 22vw !important;
    max-width: 22vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 2.96875vw 2.5vw 2.1875vw !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border-radius: 0 !important;
    -webkit-text-size-adjust: none !important;
    text-size-adjust: none !important;
  }

  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    position: relative !important;
    display: grid !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 7.8125vw !important;
    min-height: 7.8125vw !important;
    max-height: 7.8125vw !important;
    grid-template-columns: 5.46875vw minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 1.09375vw !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !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 {
    display: block !important;
    width: 5.46875vw !important;
    min-width: 5.46875vw !important;
    max-width: 5.46875vw !important;
    height: 7.8125vw !important;
    min-height: 7.8125vw !important;
    max-height: 7.8125vw !important;
    padding: 0 !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;
    gap: 0.46875vw !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 {
    display: block !important;
    max-width: none !important;
    font-family: "Times New Roman", Times, serif !important;
    font-size: 2.05vw !important;
    font-weight: 700 !important;
    line-height: 0.96 !important;
    letter-spacing: -0.045em !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 {
    display: block !important;
    margin: 0 !important;
    font-family: Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif !important;
    font-size: 1vw !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
  }

  html body.portal-dashboard-home .support-sidebar > .support-nav,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-nav {
    display: grid !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    align-content: start !important;
    gap: 0.3125vw !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  html body.portal-dashboard-home .support-sidebar > .support-nav > a,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-nav > a {
    display: grid !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 4.375vw !important;
    min-height: 4.375vw !important;
    max-height: 4.375vw !important;
    grid-template-columns: 3.125vw minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    gap: 1.09375vw !important;
    margin: 0 !important;
    padding: 0 0.78125vw !important;
    border-radius: 0.859375vw !important;
    font-family: Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif !important;
    font-size: 1.2vw !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: normal !important;
    text-align: left !important;
    transform: none !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
  }

  html body.portal-dashboard-home .support-sidebar > .support-nav > a > span,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-nav > a > span {
    display: grid !important;
    box-sizing: border-box !important;
    place-items: center !important;
    width: 3.125vw !important;
    min-width: 3.125vw !important;
    max-width: 3.125vw !important;
    height: 3.125vw !important;
    min-height: 3.125vw !important;
    max-height: 3.125vw !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="home"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="home"],
  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="methods"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="methods"] {
    width: 2.734375vw !important;
    height: 2.734375vw !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="doctor"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="doctor"],
  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="rehab"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="rehab"],
  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="podcast"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="podcast"],
  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="equipment"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="equipment"] {
    width: 2.6171875vw !important;
    height: 2.6171875vw !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="hospital"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="hospital"] {
    width: 3.0859375vw !important;
    height: 3.0859375vw !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="book"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="book"] {
    width: 3.203125vw !important;
    height: 3.203125vw !important;
  }

  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="webinar"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="webinar"] {
    width: 3.515625vw !important;
    height: 3.515625vw !important;
  }

  html body.portal-with-sidebar.specialists-editorial-page > main.page-shell.specialists-editorial-shell {
    width: 78vw !important;
  }
}

/* v422: match the light login photograph framing to the dark-theme composition. */
@media (min-width: 841px) {
  html[data-theme="light"] .dashboard-login-visual .dashboard-login-visual-image--light {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    align-self: stretch !important;
    object-fit: cover !important;
    object-position: left bottom !important;
    transform: scale(1.4) !important;
    transform-origin: center center !important;
  }
}

/* v423: reserved rehabilitation-center route and its shared navigation icon. */
.rehabilitation-center-shell {
  box-sizing: border-box;
  display: grid;
  min-height: calc(100vh - 82px);
  min-height: calc(100dvh - 82px);
  place-items: center;
  padding: 64px;
  background: #ffffff;
}

.rehabilitation-center-placeholder {
  box-sizing: border-box;
  width: min(100%, 880px);
  padding: 56px 0;
  border-block: 1px solid #dce5e1;
  text-align: center;
}

.rehabilitation-center-placeholder p {
  margin: 0 0 18px;
  color: #258c57;
  font: 700 13px/1.2 Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rehabilitation-center-placeholder h1 {
  margin: 0;
  color: #0b1d39;
  font: 400 clamp(52px, 7vw, 92px)/0.98 Georgia, "Times New Roman", serif;
  letter-spacing: -0.055em;
}

.rehabilitation-center-placeholder span {
  display: block;
  margin-top: 24px;
  color: #68768c;
  font: 400 18px/1.5 Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
}

html[data-theme="dark"] .rehabilitation-center-shell {
  background: #0e1217;
}

html[data-theme="dark"] .rehabilitation-center-placeholder {
  border-color: #28333e;
}

html[data-theme="dark"] .rehabilitation-center-placeholder h1 {
  color: #f2f5f3;
}

html[data-theme="dark"] .rehabilitation-center-placeholder span {
  color: #aeb9c7;
}

@media (max-width: 900px) {
  .rehabilitation-center-shell {
    min-height: calc(100vh - 72px);
    min-height: calc(100dvh - 72px);
    padding: 36px 20px;
  }

  .rehabilitation-center-placeholder {
    padding: 42px 0;
  }

  .rehabilitation-center-placeholder h1 {
    font-size: clamp(42px, 12vw, 68px);
  }
}

@media (min-width: 901px) and (max-width: 1400px) and (orientation: landscape) {
  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="center"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="center"] {
    width: 2.6171875vw !important;
    height: 2.6171875vw !important;
  }
}

/* v424: shared portal search control beside the theme button in the full header. */
.portal-search-trigger {
  display: grid;
  box-sizing: border-box;
  width: 48px;
  min-width: 48px;
  height: 48px;
  flex: 0 0 48px;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 1px solid #b7c5ce;
  border-radius: 50%;
  color: #102642;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 7px 20px rgba(20, 35, 45, 0.13);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.portal-search-trigger svg {
  display: block;
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.portal-search-trigger:hover {
  border-color: #72c99d;
  box-shadow: 0 0 0 4px rgba(80, 210, 150, 0.12), 0 8px 22px rgba(20, 35, 45, 0.16);
  transform: translateY(-1px);
}

.portal-search-trigger:focus-visible {
  outline: 2px solid rgba(35, 131, 77, 0.42);
  outline-offset: 2px;
}

html[data-theme="dark"] .portal-search-trigger {
  color: #f4f7f5;
  border-color: #54626d;
  background: rgba(24, 31, 38, 0.98);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] .portal-search-trigger:hover {
  border-color: #72c99d;
  box-shadow: 0 0 0 4px rgba(80, 210, 150, 0.1), 0 8px 22px rgba(0, 0, 0, 0.32);
}

@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) {
  .portal-search-trigger {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .portal-search-trigger {
    transition: none;
  }
}

/* v425: the search page starts directly with its search field. */
body.search-editorial-page .search-editorial-hero--compact .search-editorial-form {
  margin-top: 0;
}

/* v427: approved full-width homepage hero with brighter promotional photography. */
body.portal-dashboard-home .support-home-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.portal-dashboard-home .support-home-left {
  grid-column: 1 / -1 !important;
  width: 100%;
  min-width: 0;
}

body.portal-dashboard-home .home-promo-banners {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  min-width: 0;
  padding: 10px 8px 14px;
  border-bottom: 1px solid var(--editorial-line);
  background: #ffffff;
}

body.portal-dashboard-home .home-promo-banner {
  position: relative;
  isolation: isolate;
  display: block;
  min-width: 0;
  height: clamp(218px, 16vw, 276px);
  overflow: hidden;
  border-radius: 5px;
  color: #ffffff;
  background: #18251f;
  text-decoration: none;
}

body.portal-dashboard-home .home-promo-banner > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.98) contrast(0.98) brightness(1.08);
  transition:
    transform 640ms cubic-bezier(0.16, 1, 0.3, 1),
    filter 480ms ease;
}

body.portal-dashboard-home .home-promo-banner--center > img {
  object-position: center 44%;
}

body.portal-dashboard-home .home-promo-banner--assistant > img {
  object-position: 31% 70%;
}

body.portal-dashboard-home .home-promo-banner--courses > img {
  object-position: 50% 54%;
}

body.portal-dashboard-home .home-promo-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(5, 12, 10, 0) 0%, rgba(5, 12, 10, 0) 52%, rgba(5, 12, 10, 0.08) 66%, rgba(5, 12, 10, 0.82) 100%);
}

body.portal-dashboard-home .home-promo-banner:where(:hover, :focus-visible) > img {
  filter: saturate(1.04) contrast(1.01) brightness(1.1);
  transform: scale(1.025);
}

body.portal-dashboard-home .home-promo-banner:focus-visible {
  outline: 2px solid var(--editorial-green);
  outline-offset: -2px;
}

body.portal-dashboard-home .home-promo-copy {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  display: grid;
  gap: 6px;
  padding: 24px 22px 18px;
}

body.portal-dashboard-home .home-promo-copy > small {
  width: max-content;
  color: #9af0bc;
  font: 700 11px/1 Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.portal-dashboard-home .home-promo-copy > strong {
  max-width: 92%;
  color: #ffffff;
  font: 400 clamp(27px, 2.2vw, 38px)/0.94 Georgia, "Times New Roman", serif;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

body.portal-dashboard-home .home-promo-copy > em {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  align-items: center;
  gap: 10px;
  color: #8fe3b2;
  font: 650 13px/1.2 Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
  font-style: normal;
}

body.portal-dashboard-home .home-promo-copy > em svg {
  display: block;
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 360ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.portal-dashboard-home .home-promo-banner:where(:hover, :focus-visible) .home-promo-copy > em svg {
  transform: translateX(3px);
}

body.portal-dashboard-home .home-promo-chat {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  display: grid;
  box-sizing: border-box;
  width: min(47%, 190px);
  gap: 6px;
  padding: 12px 13px;
  border: 1px solid rgba(255, 255, 255, 0.52);
  border-radius: 11px;
  color: #102642;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

body.portal-dashboard-home .home-promo-chat strong {
  font: 750 10px/1.2 Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

body.portal-dashboard-home .home-promo-chat small {
  color: #4e5f73;
  font: 500 9px/1.3 Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
}

body.portal-dashboard-home .home-promo-chat i {
  display: flex;
  gap: 4px;
  padding-top: 2px;
}

body.portal-dashboard-home .home-promo-chat i span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #9aaabc;
}

html[data-theme="dark"] body.portal-dashboard-home .home-promo-banners {
  border-color: #28333e;
  background: #0e1217;
}

@media (max-width: 1180px) and (min-width: 901px) {
  body.portal-dashboard-home .home-promo-banners {
    gap: 6px;
    padding: 8px 6px 12px;
  }

  body.portal-dashboard-home .home-promo-banner {
    height: 220px;
  }

  body.portal-dashboard-home .home-promo-copy {
    padding: 20px 16px 16px;
  }

  body.portal-dashboard-home .home-promo-copy > strong {
    font-size: 25px;
  }

  body.portal-dashboard-home .home-promo-chat {
    top: 12px;
    right: 12px;
    width: 52%;
    padding: 9px 10px;
  }
}

@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) {
  body.portal-dashboard-home .home-promo-banners {
    grid-template-columns: repeat(3, minmax(270px, 1fr));
    gap: 8px;
    padding: 12px 16px 16px;
    overflow-x: auto;
    scroll-padding-inline: 16px;
    scroll-snap-type: inline mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }

  body.portal-dashboard-home .home-promo-banners::-webkit-scrollbar {
    display: none;
  }

  body.portal-dashboard-home .home-promo-banner {
    height: 210px;
    scroll-snap-align: start;
  }

  body.portal-dashboard-home .home-promo-copy {
    padding: 18px 16px 15px;
  }

  body.portal-dashboard-home .home-promo-copy > strong {
    font-size: 27px;
  }

  body.portal-dashboard-home .home-promo-chat {
    top: 12px;
    right: 12px;
    width: 46%;
  }
}

@media (max-width: 620px) {
  body.portal-dashboard-home .home-promo-banners {
    grid-template-columns: repeat(3, minmax(min(82vw, 320px), 1fr));
  }

  body.portal-dashboard-home .home-promo-banner {
    height: 206px;
  }

  body.portal-dashboard-home .home-promo-chat {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-dashboard-home .home-promo-banner > img,
  body.portal-dashboard-home .home-promo-copy > em svg {
    transition: none;
  }
}

/* v428: separate webinars from the parent-course catalog and restore richer webinar photography. */
body.portal-dashboard-home .support-hero-slide-image--webinars {
  filter: saturate(1.18) contrast(1.04) brightness(1.06) !important;
}

body.webinars-editorial-page {
  --webinars-ink: #0b1b38;
  --webinars-muted: #5f6d82;
  --webinars-green: #23834d;
  --webinars-line: #dce3e7;
  color: var(--webinars-ink);
  background: #ffffff;
}

body.webinars-editorial-page .webinars-editorial-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: #ffffff;
}

.webinars-editorial-hero {
  display: grid;
  grid-template-columns: minmax(420px, 0.88fr) minmax(560px, 1.12fr);
  min-height: 570px;
  overflow: hidden;
  border-bottom: 1px solid var(--webinars-line);
}

.webinars-editorial-hero-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(62px, 7vw, 112px) clamp(48px, 6vw, 100px);
  background: #ffffff;
}

.webinars-editorial-hero-copy > p {
  margin: 0 0 26px;
  color: var(--webinars-green);
  font: 750 13px/1.2 Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.webinars-editorial-hero-copy > h1 {
  margin: 0;
  color: var(--webinars-ink);
  font: 400 clamp(58px, 5.4vw, 92px)/0.92 Georgia, "Times New Roman", serif;
  letter-spacing: -0.052em;
}

.webinars-editorial-hero-copy > span {
  max-width: 580px;
  margin-top: 34px;
  color: var(--webinars-muted);
  font: 520 clamp(18px, 1.55vw, 25px)/1.5 Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
}

.webinars-editorial-hero-media {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #dfe7e1;
}

.webinars-editorial-hero-media::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.38), rgba(255, 255, 255, 0) 24%);
  content: "";
}

.webinars-editorial-hero-media > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 570px;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.2) contrast(1.04) brightness(1.04);
}

.webinars-editorial-sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  padding: clamp(44px, 5vw, 76px) clamp(40px, 6vw, 96px) clamp(70px, 8vw, 120px);
  background: #ffffff;
}

.webinars-editorial-sections > article {
  min-height: 300px;
  padding: 8px clamp(30px, 4vw, 68px) 44px 0;
  border-top: 1px solid var(--webinars-line);
}

.webinars-editorial-sections > article + article {
  padding-right: 0;
  padding-left: clamp(30px, 4vw, 68px);
  border-left: 1px solid var(--webinars-line);
}

.webinars-editorial-sections article > span {
  display: block;
  margin-top: 28px;
  color: var(--webinars-green);
  font: 750 12px/1.2 Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.webinars-editorial-sections h2 {
  margin: 24px 0 0;
  color: var(--webinars-ink);
  font: 400 clamp(38px, 3.5vw, 58px)/0.98 Georgia, "Times New Roman", serif;
  letter-spacing: -0.04em;
}

.webinars-editorial-sections p {
  max-width: 560px;
  margin: 25px 0 0;
  color: var(--webinars-muted);
  font: 500 17px/1.55 Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
}

.webinars-editorial-sections strong {
  display: block;
  width: max-content;
  margin-top: 34px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--webinars-green);
  color: var(--webinars-green);
  font: 700 15px/1.2 Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif;
}

html[data-theme="dark"] body.webinars-editorial-page,
html[data-theme="dark"] body.webinars-editorial-page .webinars-editorial-shell,
html[data-theme="dark"] body.webinars-editorial-page .webinars-editorial-hero-copy,
html[data-theme="dark"] body.webinars-editorial-page .webinars-editorial-sections {
  --webinars-ink: #eef3f7;
  --webinars-muted: #b8c3ce;
  --webinars-green: #7cd5a3;
  --webinars-line: #2b3640;
  background: #0e1217;
}

html[data-theme="dark"] .webinars-editorial-hero-media::after {
  background: linear-gradient(90deg, rgba(14, 18, 23, 0.36), rgba(14, 18, 23, 0) 24%);
}

@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) {
  .webinars-editorial-hero {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .webinars-editorial-hero-copy {
    padding: 46px 26px 42px;
  }

  .webinars-editorial-hero-copy > p {
    margin-bottom: 18px;
  }

  .webinars-editorial-hero-copy > h1 {
    font-size: clamp(46px, 12vw, 72px);
  }

  .webinars-editorial-hero-copy > span {
    margin-top: 24px;
    font-size: 17px;
  }

  .webinars-editorial-hero-media,
  .webinars-editorial-hero-media > img {
    min-height: clamp(250px, 62vw, 520px);
  }

  .webinars-editorial-hero-media::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0) 26%);
  }

  html[data-theme="dark"] .webinars-editorial-hero-media::after {
    background: linear-gradient(180deg, rgba(14, 18, 23, 0.2), rgba(14, 18, 23, 0) 26%);
  }

  .webinars-editorial-sections {
    grid-template-columns: minmax(0, 1fr);
    padding: 42px 26px 72px;
  }

  .webinars-editorial-sections > article {
    min-height: 0;
    padding: 8px 0 48px;
  }

  .webinars-editorial-sections > article + article {
    padding: 8px 0 48px;
    border-left: 0;
  }
}

/* v429: approved connected situation chooser motion and three-story hero carousel. */
body.portal-dashboard-home .support-situation-connector-entry {
  display: none;
}

body.portal-dashboard-home .support-situation-panel-copy {
  animation: support-situation-panel-reveal 260ms ease both;
}

@keyframes support-situation-panel-reveal {
  from {
    opacity: 0;
    transform: translateY(7px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 901px) and (orientation: landscape), (min-width: 1401px) {
  body.portal-dashboard-home .support-situation-grid {
    position: relative;
    isolation: isolate;
    min-height: 560px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }

  body.portal-dashboard-home .support-situation-tabs {
    min-height: 560px;
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }

  body.portal-dashboard-home .support-situation-tab {
    z-index: 2;
    min-height: 0;
    grid-template-columns: 68px minmax(0, 1fr);
    padding: 0 48px 0 36px;
    transition: color 180ms ease, background-color 220ms ease;
  }

  body.portal-dashboard-home .support-situation-tab > small {
    display: none;
  }

  body.portal-dashboard-home .support-situation-tab[aria-selected="true"] {
    color: var(--editorial-green);
    background: linear-gradient(90deg, rgba(31, 143, 79, 0.1), rgba(31, 143, 79, 0.025) 70%, transparent);
  }

  body.portal-dashboard-home .support-situation-tab[aria-selected="true"]::before {
    top: 26px;
    bottom: 26px;
    width: 4px;
  }

  body.portal-dashboard-home .support-situation-tab[aria-selected="true"]::after {
    position: absolute;
    top: 50%;
    right: -8px;
    z-index: 6;
    width: 12px;
    height: 12px;
    border: 4px solid #e1efe7;
    border-radius: 50%;
    background: var(--editorial-green);
    box-shadow: 0 0 0 1px rgba(31, 143, 79, 0.16);
    content: "";
    transform: translateY(-50%);
    animation: support-situation-node-in 240ms 60ms ease both;
  }

  body.portal-dashboard-home .support-situation-connector-entry {
    position: absolute;
    top: var(--support-active-y);
    left: 50%;
    z-index: 4;
    display: block;
    width: 68px;
    height: 1px;
    pointer-events: none;
    background: #67c995;
    transform: scaleX(0);
    transform-origin: left center;
    animation: support-situation-line-in 380ms cubic-bezier(0.22, 0.72, 0.24, 1) forwards;
  }

  body.portal-dashboard-home .support-situation-panel {
    position: relative;
    z-index: 1;
    min-height: 560px;
    padding: 54px 68px 0 124px;
    overflow: visible;
  }

  body.portal-dashboard-home .support-situation-panel-copy {
    position: relative;
    min-height: 500px;
    animation: none;
  }

  body.portal-dashboard-home .support-situation-panel-copy::before {
    position: absolute;
    top: 16px;
    bottom: 18px;
    left: -56px;
    width: 1px;
    pointer-events: none;
    background: #67c995;
    content: "";
    transform: scaleY(0);
    transform-origin: top center;
    animation: support-situation-spine-in 420ms 170ms cubic-bezier(0.22, 0.72, 0.24, 1) forwards;
  }

  body.portal-dashboard-home .support-situation-panel h3 {
    animation: support-situation-copy-in 300ms 140ms ease both;
  }

  body.portal-dashboard-home .support-situation-panel p {
    animation: support-situation-copy-in 300ms 220ms ease both;
  }

  body.portal-dashboard-home .support-situation-links {
    margin-top: 32px;
  }

  body.portal-dashboard-home .support-situation-links a {
    position: relative;
    min-height: 82px;
    opacity: 0;
    transform: translateY(8px);
    animation: support-situation-link-in 300ms ease forwards;
    animation-delay: var(--support-link-delay);
  }

  body.portal-dashboard-home .support-situation-links a::before {
    position: absolute;
    top: 50%;
    left: -56px;
    width: 28px;
    height: 1px;
    pointer-events: none;
    background: #67c995;
    content: "";
    transform: scaleX(0);
    transform-origin: left center;
    animation: support-situation-branch-in 260ms ease forwards;
    animation-delay: var(--support-branch-delay);
  }

  body.portal-dashboard-home .support-situation-links a::after {
    position: absolute;
    top: 50%;
    left: -28px;
    width: 10px;
    height: 10px;
    border: 4px solid #e1efe7;
    border-radius: 50%;
    pointer-events: none;
    background: var(--editorial-green);
    box-shadow: 0 0 0 1px rgba(31, 143, 79, 0.14);
    content: "";
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.55);
    animation: support-situation-node-in 220ms ease forwards;
    animation-delay: var(--support-node-delay);
  }

  body.portal-dashboard-home .support-situation-links a > span {
    transition: transform 170ms ease;
  }

  body.portal-dashboard-home .support-situation-links a:hover > span,
  body.portal-dashboard-home .support-situation-links a:focus-visible > span {
    transform: translateX(4px);
  }

  body.portal-dashboard-home .support-situation-links svg {
    display: none;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-situation-tab[aria-selected="true"] {
    color: var(--dark-green) !important;
    background: linear-gradient(90deg, rgba(124, 213, 163, 0.13), rgba(124, 213, 163, 0.035) 72%, transparent) !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-situation-tab[aria-selected="true"]::after,
  html[data-theme="dark"] body.portal-dashboard-home .support-situation-links a::after {
    border-color: #1c2d26;
    background: var(--dark-green);
    box-shadow: 0 0 0 1px rgba(124, 213, 163, 0.16);
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-situation-connector-entry,
  html[data-theme="dark"] body.portal-dashboard-home .support-situation-panel-copy::before,
  html[data-theme="dark"] body.portal-dashboard-home .support-situation-links a::before {
    background: #70c99a;
  }
}

@keyframes support-situation-line-in {
  to {
    transform: scaleX(1);
  }
}

@keyframes support-situation-spine-in {
  to {
    transform: scaleY(1);
  }
}

@keyframes support-situation-branch-in {
  to {
    transform: scaleX(1);
  }
}

@keyframes support-situation-copy-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes support-situation-link-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes support-situation-node-in {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.55);
  }

  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-dashboard-home .support-situation-panel-copy,
  body.portal-dashboard-home .support-situation-panel-copy::before,
  body.portal-dashboard-home .support-situation-connector-entry,
  body.portal-dashboard-home .support-situation-tab[aria-selected="true"]::after,
  body.portal-dashboard-home .support-situation-panel h3,
  body.portal-dashboard-home .support-situation-panel p,
  body.portal-dashboard-home .support-situation-links a,
  body.portal-dashboard-home .support-situation-links a::before,
  body.portal-dashboard-home .support-situation-links a::after {
    animation: none !important;
    opacity: 1;
    transform: none;
  }

  body.portal-dashboard-home .support-situation-tab[aria-selected="true"]::after,
  body.portal-dashboard-home .support-situation-links a::after {
    transform: translate(-50%, -50%) scale(1);
  }
}

/* v431: the portal name uses the brand green across shared identity surfaces. */
body.portal-dashboard-home .support-sidebar .support-brand strong,
body.portal-with-sidebar .portal-shared-sidebar .support-brand strong,
body.portal-dashboard-home .portal-mobile-nav-head strong,
body.portal-with-sidebar .portal-mobile-nav-head strong,
.dashboard-login-brand strong,
.editorial-footer-brand strong {
  color: #1c814c !important;
}

html[data-theme="dark"] body.portal-dashboard-home .support-sidebar .support-brand strong,
html[data-theme="dark"] body.portal-with-sidebar .portal-shared-sidebar .support-brand strong,
html[data-theme="dark"] body.portal-dashboard-home .portal-mobile-nav-head strong,
html[data-theme="dark"] body.portal-with-sidebar .portal-mobile-nav-head strong,
html[data-theme="dark"] .dashboard-login-brand strong,
html[data-theme="dark"] .editorial-footer-brand strong {
  color: #7cd5a3 !important;
}

/* v432: restrained homepage motion for the hero, promotional banners and section reveals. */
body.portal-dashboard-home .support-hero-slide.is-active > img {
  transform-origin: center center;
  animation: home-hero-image-drift 5.2s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

body.portal-dashboard-home .support-hero-slide.is-active > .support-hero-slide-image--family {
  transform-origin: 72% 50%;
}

@keyframes home-hero-image-drift {
  from {
    transform: scale(1.002);
  }

  to {
    transform: scale(1.028);
  }
}

@media (hover: hover) and (pointer: fine) {
  body.portal-dashboard-home .home-promo-banner {
    transition:
      transform 520ms cubic-bezier(0.16, 1, 0.3, 1),
      box-shadow 520ms ease;
  }

  body.portal-dashboard-home .home-promo-banner:where(:hover, :focus-visible) {
    z-index: 3;
    transform: translateY(-5px);
    box-shadow: 0 18px 34px rgba(20, 44, 32, 0.2);
  }

  body.portal-dashboard-home .home-promo-banner:where(:hover, :focus-visible) > img {
    transform: scale(1.038);
  }

  html[data-theme="dark"] body.portal-dashboard-home .home-promo-banner:where(:hover, :focus-visible) {
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.42);
  }
}

body.portal-dashboard-home.home-scroll-motion-ready .home-scroll-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 560ms cubic-bezier(0.22, 0.72, 0.24, 1),
    transform 560ms cubic-bezier(0.22, 0.72, 0.24, 1);
  transition-delay: var(--home-reveal-delay, 0ms);
}

body.portal-dashboard-home.home-scroll-motion-ready .home-scroll-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

body.portal-dashboard-home.home-scroll-motion-ready .support-situation-heading.home-scroll-reveal h2::after {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 720ms cubic-bezier(0.22, 0.72, 0.24, 1);
  transition-delay: calc(var(--home-reveal-delay, 0ms) + 140ms);
}

body.portal-dashboard-home.home-scroll-motion-ready .support-situation-heading.home-scroll-reveal.is-visible h2::after {
  transform: scaleX(1);
}

body.portal-dashboard-home.home-scroll-motion-ready .editorial-footer-lead.home-scroll-reveal .editorial-footer-brand-line {
  transform: scaleY(0);
  transform-origin: top center;
  transition: transform 620ms cubic-bezier(0.22, 0.72, 0.24, 1);
  transition-delay: calc(var(--home-reveal-delay, 0ms) + 120ms);
}

body.portal-dashboard-home.home-scroll-motion-ready .editorial-footer-lead.home-scroll-reveal.is-visible .editorial-footer-brand-line {
  transform: scaleY(1);
}

body.portal-dashboard-home.home-scroll-motion-ready .editorial-footer-directory.home-scroll-reveal {
  position: relative;
  border-top-color: transparent;
}

body.portal-dashboard-home.home-scroll-motion-ready .editorial-footer-directory.home-scroll-reveal::before {
  position: absolute;
  top: 0;
  right: 48px;
  left: 48px;
  height: 1px;
  background: var(--editorial-line);
  content: "";
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 760ms cubic-bezier(0.22, 0.72, 0.24, 1);
  transition-delay: calc(var(--home-reveal-delay, 0ms) + 120ms);
}

body.portal-dashboard-home.home-scroll-motion-ready .editorial-footer-directory.home-scroll-reveal.is-visible::before {
  transform: scaleX(1);
}

@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) {
  body.portal-dashboard-home.home-scroll-motion-ready .editorial-footer-directory.home-scroll-reveal::before {
    right: 20px;
    left: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-dashboard-home .support-hero-slide.is-active > img {
    animation: none !important;
    transform: none !important;
  }

  body.portal-dashboard-home .home-promo-banner,
  body.portal-dashboard-home .home-promo-banner > img,
  body.portal-dashboard-home .home-scroll-reveal,
  body.portal-dashboard-home .home-scroll-reveal::before,
  body.portal-dashboard-home .home-scroll-reveal::after,
  body.portal-dashboard-home .home-scroll-reveal * {
    animation: none !important;
    transition: none !important;
  }

  body.portal-dashboard-home .home-scroll-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* v433: shared precise-pointer motion for editorial cards and directory rows. */
@media (hover: hover) and (pointer: fine) {
  body :where(
    .rehab-editorial-topic,
    .methods-editorial-direction,
    .institutions-editorial-nearby-item,
    .education-course-card,
    .equipment-latest-card
  ) {
    position: relative;
    z-index: 0;
    transform: translateZ(0);
    transition:
      transform 280ms cubic-bezier(0.22, 0.72, 0.24, 1),
      filter 280ms ease;
  }

  body :where(
    .rehab-editorial-topic,
    .methods-editorial-direction,
    .institutions-editorial-nearby-item,
    .education-course-card,
    .equipment-latest-card
  ):where(:hover, :focus-visible) {
    z-index: 3;
    transform: translateY(-5px);
  }

  body :where(
    .rehab-editorial-topic > img,
    .methods-editorial-direction > img,
    .institutions-editorial-nearby-item > img,
    .institutions-editorial-nearby-item > picture.portal-optimized-picture,
    .education-course-image,
    .equipment-latest-image
  ) {
    transition:
      transform 320ms cubic-bezier(0.22, 0.72, 0.24, 1),
      box-shadow 280ms ease,
      filter 280ms ease;
  }

  body :where(
    .education-course-image img,
    .equipment-latest-image img,
    .institutions-editorial-nearby-item > picture.portal-optimized-picture > img
  ) {
    transition:
      transform 320ms cubic-bezier(0.22, 0.72, 0.24, 1),
      filter 280ms ease;
  }

  body :where(
    .rehab-editorial-topic,
    .methods-editorial-direction,
    .institutions-editorial-nearby-item,
    .education-course-card,
    .equipment-latest-card
  ):where(:hover, :focus-visible) :where(
    .rehab-editorial-topic > img,
    .methods-editorial-direction > img,
    .institutions-editorial-nearby-item > img,
    .institutions-editorial-nearby-item > picture.portal-optimized-picture,
    .education-course-image,
    .equipment-latest-image
  ) {
    box-shadow: 0 16px 30px rgba(20, 44, 32, 0.16);
    filter: saturate(1.05) contrast(1.02);
  }

  body :where(
    .rehab-editorial-topic,
    .methods-editorial-direction,
    .institutions-editorial-nearby-item,
    .education-course-card,
    .equipment-latest-card
  ):where(:hover, :focus-visible) :where(
    .education-course-image img,
    .equipment-latest-image img,
    .institutions-editorial-nearby-item > picture.portal-optimized-picture > img
  ) {
    transform: scale(1.038);
  }

  body :where(
    .rehab-editorial-topic,
    .methods-editorial-direction
  ):where(:hover, :focus-visible) > img,
  body .institutions-editorial-nearby-item:where(:hover, :focus-visible) > img {
    transform: scale(1.024);
  }

  body :where(
    .education-course-card,
    .equipment-latest-card
  ):where(:hover, :focus-visible) > strong,
  body .education-course-card:where(:hover, :focus-visible) > strong,
  body .equipment-latest-card:where(:hover, :focus-visible) .equipment-latest-title strong {
    color: #23834d;
  }

  body :where(
    .rehab-editorial-material-row,
    .methods-editorial-material-row,
    .institutions-editorial-card,
    .equipment-catalog-row
  ) {
    transition:
      transform 240ms cubic-bezier(0.22, 0.72, 0.24, 1),
      background-color 240ms ease;
  }

  body :where(
    .rehab-editorial-material-row,
    .methods-editorial-material-row,
    .institutions-editorial-card,
    .equipment-catalog-row
  ):where(:hover, :focus-visible) {
    transform: translateX(5px);
    background-color: rgba(35, 131, 77, 0.055);
  }

  html[data-theme="dark"] body :where(
    .rehab-editorial-topic,
    .methods-editorial-direction,
    .institutions-editorial-nearby-item,
    .education-course-card,
    .equipment-latest-card
  ):where(:hover, :focus-visible) :where(
    .rehab-editorial-topic > img,
    .methods-editorial-direction > img,
    .institutions-editorial-nearby-item > img,
    .institutions-editorial-nearby-item > picture.portal-optimized-picture,
    .education-course-image,
    .equipment-latest-image
  ) {
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.38);
  }

  html[data-theme="dark"] body :where(
    .rehab-editorial-material-row,
    .methods-editorial-material-row,
    .institutions-editorial-card,
    .equipment-catalog-row
  ):where(:hover, :focus-visible) {
    background-color: rgba(124, 213, 163, 0.07) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body :where(
    .rehab-editorial-topic,
    .methods-editorial-direction,
    .institutions-editorial-nearby-item,
    .education-course-card,
    .equipment-latest-card,
    .rehab-editorial-material-row,
    .methods-editorial-material-row,
    .institutions-editorial-card,
    .equipment-catalog-row
  ),
  body :where(
    .rehab-editorial-topic > img,
    .methods-editorial-direction > img,
    .institutions-editorial-nearby-item > img,
    .institutions-editorial-nearby-item > picture.portal-optimized-picture,
    .institutions-editorial-nearby-item > picture.portal-optimized-picture > img,
    .education-course-image,
    .education-course-image img,
    .equipment-latest-image,
    .equipment-latest-image img
  ) {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* v435: restrained violet brand accents for AI, innovation and keyboard focus. */
:root {
  --brand-violet: #7851a9;
  --brand-violet-strong: #633a95;
  --brand-violet-soft: rgba(120, 81, 169, 0.14);
  --brand-violet-glow: rgba(120, 81, 169, 0.28);
}

html[data-theme="dark"] {
  --brand-violet: #b79ae8;
  --brand-violet-strong: #cfb8f4;
  --brand-violet-soft: rgba(183, 154, 232, 0.16);
  --brand-violet-glow: rgba(183, 154, 232, 0.32);
}

:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline-color: var(--brand-violet) !important;
  outline-style: solid !important;
  outline-width: 2px !important;
  outline-offset: 3px;
}

body.portal-dashboard-home .home-promo-banner--assistant .home-promo-chat {
  overflow: hidden;
  border-color: rgba(120, 81, 169, 0.3);
  box-shadow:
    0 12px 30px rgba(0, 0, 0, 0.18),
    0 0 0 3px var(--brand-violet-soft);
}

body.portal-dashboard-home .home-promo-banner--assistant .home-promo-chat strong {
  color: var(--brand-violet-strong);
}

body.portal-dashboard-home .home-promo-banner--assistant .home-promo-chat i span:first-child {
  background: var(--brand-violet);
  box-shadow: 0 0 0 3px var(--brand-violet-soft);
}

body.portal-dashboard-home .home-promo-banner--assistant .home-promo-chat::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    108deg,
    transparent 24%,
    rgba(183, 154, 232, 0.06) 40%,
    rgba(120, 81, 169, 0.24) 50%,
    rgba(183, 154, 232, 0.06) 60%,
    transparent 76%
  );
  transform: translateX(-135%);
}

button.assistant-launcher::before {
  content: "";
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 10px !important;
  min-width: 10px;
  height: 10px !important;
  flex: 0 0 10px;
  border: 0 !important;
  border-radius: 50%;
  background: var(--brand-violet) !important;
  box-shadow: 0 0 0 5px var(--brand-violet-soft);
  animation: none !important;
}

body.portal-dashboard-home .mobile-home-assistant-launcher::before {
  background: var(--brand-violet) !important;
}

body.portal-dashboard-home .mobile-assistant-launcher-mark {
  filter: drop-shadow(0 0 7px var(--brand-violet-glow));
}

body.portal-dashboard-home .mobile-assistant-launcher-spark {
  fill: var(--brand-violet) !important;
}

body.rehabilitation-editorial-page .rehab-editorial-latest h2,
body.methods-editorial-page .methods-editorial-latest h2,
body.equipment-editorial-page .equipment-section-title h2 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

body.rehabilitation-editorial-page .rehab-editorial-latest h2::before,
body.methods-editorial-page .methods-editorial-latest h2::before,
body.equipment-editorial-page .equipment-section-title h2::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: var(--brand-violet);
  box-shadow: 0 0 0 4px var(--brand-violet-soft);
}

body.equipment-editorial-page :where(
  .equipment-featured-media,
  .equipment-latest-image
) {
  position: relative;
  isolation: isolate;
}

body.equipment-editorial-page :where(
  .equipment-featured-media,
  .equipment-latest-image
)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    108deg,
    transparent 28%,
    rgba(183, 154, 232, 0.05) 42%,
    rgba(120, 81, 169, 0.2) 50%,
    rgba(183, 154, 232, 0.05) 58%,
    transparent 72%
  );
  transform: translateX(-135%);
}

@keyframes brand-violet-glint {
  0% {
    transform: translateX(-135%);
  }
  100% {
    transform: translateX(135%);
  }
}

@media (hover: hover) and (pointer: fine) {
  button.assistant-launcher:where(:hover, :focus-visible) {
    border-color: var(--brand-violet-glow) !important;
    box-shadow:
      0 18px 48px rgba(23, 35, 62, 0.16),
      0 0 0 4px var(--brand-violet-soft) !important;
  }

  button.assistant-launcher:where(:hover, :focus-visible)::before {
    box-shadow:
      0 0 0 5px var(--brand-violet-soft),
      0 0 14px var(--brand-violet-glow);
  }

  body.portal-dashboard-home .home-promo-banner--assistant:where(:hover, :focus-visible) .home-promo-chat::after,
  body.equipment-editorial-page .equipment-featured-media:where(:hover, :focus-visible)::after,
  body.equipment-editorial-page .equipment-latest-card:where(:hover, :focus-visible) .equipment-latest-image::after {
    animation: brand-violet-glint 900ms cubic-bezier(0.16, 1, 0.3, 1) both;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-dashboard-home .home-promo-banner--assistant .home-promo-chat::after,
  body.equipment-editorial-page :where(
    .equipment-featured-media,
    .equipment-latest-image
  )::after {
    display: none;
    animation: none !important;
  }
}

/* v436: quieter, better-balanced mission statement in the shared editorial footer. */
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-lead {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.86fr);
}

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-statement {
  align-content: center;
  max-width: 640px;
}

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-statement p {
  max-width: 640px;
  color: var(--editorial-muted);
  font-size: clamp(21px, 1.55vw, 25px);
  line-height: 1.24;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

@media (max-width: 1180px) and (min-width: 901px) {
  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-lead {
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1fr);
  }
}

@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) {
  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-lead {
    grid-template-columns: 1fr;
    align-items: start;
  }

  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-statement p {
    font-size: clamp(21px, 4.8vw, 24px);
  }
}

/* v437: keep every portal surface scrollable while hiding native scrollbar chrome. */
html,
body {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
body.portal-dashboard-home *::-webkit-scrollbar,
body.portal-with-sidebar *::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

body.portal-dashboard-home *,
body.portal-with-sidebar * {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* v439: stable sidebar type on Windows and a balanced rehabilitation-center PNG. */
html body.portal-dashboard-home .support-sidebar > .support-nav > a,
html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-nav > a {
  font-family: Arial, "Helvetica Neue", sans-serif !important;
  font-weight: 400 !important;
  font-synthesis: none;
  font-synthesis-weight: none;
  text-shadow: none;
}

html body.portal-dashboard-home .support-sidebar > .support-nav > a:is(.is-active, :hover, :focus-visible),
html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-nav > a:is(.is-active, :hover, :focus-visible) {
  font-weight: 400 !important;
}

body.portal-dashboard-home .support-nav-icon[data-nav-icon="center"],
body.portal-with-sidebar .support-nav-icon[data-nav-icon="center"] {
  width: 35px;
  height: 35px;
  object-fit: contain;
}

@media (min-width: 901px) and (max-width: 1180px) and (orientation: landscape) {
  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="center"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="center"] {
    width: 32px !important;
    height: 32px !important;
  }
}

@media (min-width: 1181px) and (max-width: 1400px) and (orientation: landscape) {
  html body.portal-dashboard-home .support-nav-icon[data-nav-icon="center"],
  html body.portal-with-sidebar .support-nav-icon[data-nav-icon="center"] {
    width: 35px !important;
    height: 35px !important;
  }
}

/* v441: restrained premium "living line" motion for the homepage situation chooser. */
@media (min-width: 901px) and (orientation: landscape), (min-width: 1401px) {
  body.portal-dashboard-home .support-situation-grid {
    --support-live-line: #75a98d;
    --support-live-line-deep: #347d5a;
    --support-live-line-soft: rgba(52, 125, 90, 0.08);
    --support-live-aura: rgba(52, 125, 90, 0.04);
    background:
      radial-gradient(circle at 59% 48%, rgba(83, 142, 110, 0.025), transparent 22%),
      linear-gradient(90deg, transparent 48%, rgba(249, 252, 250, 0.3) 63%, transparent 100%);
  }

  body.portal-dashboard-home .support-situation-tab {
    isolation: isolate;
    transition:
      color 260ms ease,
      background 420ms cubic-bezier(0.22, 0.72, 0.24, 1),
      box-shadow 420ms ease;
  }

  body.portal-dashboard-home .support-situation-tab[aria-selected="true"] {
    background:
      radial-gradient(circle at 88% 50%, rgba(82, 140, 108, 0.04), transparent 25%),
      linear-gradient(90deg, rgba(52, 125, 90, 0.055), rgba(82, 140, 108, 0.018) 68%, rgba(255, 255, 255, 0) 100%);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.56),
      inset 0 -1px 0 rgba(52, 125, 90, 0.04),
      0 12px 28px -28px rgba(52, 125, 90, 0.2);
    animation: support-live-active-wash 520ms cubic-bezier(0.22, 0.72, 0.24, 1) both;
  }

  body.portal-dashboard-home .support-situation-tab[aria-selected="true"]::before {
    width: 4px;
    background: linear-gradient(180deg, #91bca5 0%, var(--support-live-line-deep) 48%, #79aa90 100%);
    box-shadow: 0 0 8px rgba(52, 125, 90, 0.12);
  }

  body.portal-dashboard-home .support-situation-tab[aria-selected="true"]::after {
    width: 10px;
    height: 10px;
    border-color: #e9f0ec;
    background: radial-gradient(circle at 38% 32%, #a6cbb7 0 12%, var(--support-live-line-deep) 52%, #286848 100%);
    box-shadow:
      0 0 0 1px rgba(52, 125, 90, 0.12),
      0 0 0 4px rgba(92, 145, 116, 0.04),
      0 0 10px rgba(52, 125, 90, 0.1);
    animation:
      support-live-entry-node 360ms 80ms cubic-bezier(0.22, 0.82, 0.24, 1.18) both,
      support-live-node-breathe 2.8s 700ms ease-in-out infinite;
  }

  body.portal-dashboard-home .support-situation-tab[aria-selected="true"] > span {
    text-shadow: none;
    animation: support-live-tab-copy 420ms 50ms cubic-bezier(0.22, 0.72, 0.24, 1) both;
  }

  body.portal-dashboard-home .support-situation-tab[aria-selected="true"] > strong {
    animation: support-live-tab-copy 460ms 100ms cubic-bezier(0.22, 0.72, 0.24, 1) both;
  }

  body.portal-dashboard-home .support-situation-connector-entry {
    height: 1px;
    overflow: visible;
    background: linear-gradient(90deg, var(--support-live-line-deep), #8bb9a0 72%, rgba(139, 185, 160, 0.24));
    box-shadow: 0 0 6px var(--support-live-line-soft);
    animation: support-live-entry-draw 520ms 100ms cubic-bezier(0.16, 0.78, 0.2, 1) forwards;
  }

  body.portal-dashboard-home .support-situation-connector-entry::before {
    position: absolute;
    inset: -3px 0;
    background: linear-gradient(90deg, rgba(52, 125, 90, 0), rgba(52, 125, 90, 0.08), rgba(52, 125, 90, 0));
    content: "";
    opacity: 0;
    filter: blur(3px);
    animation: support-live-line-aura 760ms 120ms ease-out both;
  }

  body.portal-dashboard-home .support-situation-connector-entry::after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 6px;
    height: 6px;
    border: 1px solid rgba(238, 245, 241, 0.92);
    border-radius: 50%;
    background: #4d9970;
    box-shadow:
      0 0 0 3px rgba(92, 145, 116, 0.05),
      0 0 8px rgba(52, 125, 90, 0.12);
    content: "";
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.55);
    animation: support-live-particle-horizontal 620ms 140ms cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
  }

  body.portal-dashboard-home .support-situation-panel {
    background:
      radial-gradient(circle at 15% 42%, rgba(83, 142, 110, 0.025), transparent 28%),
      linear-gradient(120deg, rgba(250, 252, 251, 0.44), rgba(255, 255, 255, 0) 58%);
  }

  body.portal-dashboard-home .support-situation-panel-copy::before {
    width: 1px;
    background: linear-gradient(180deg, #91bca5 0%, var(--support-live-line-deep) 44%, #79aa90 100%);
    box-shadow: 0 0 6px var(--support-live-line-soft);
    animation: support-live-spine-draw 650ms 330ms cubic-bezier(0.16, 0.78, 0.2, 1) forwards;
  }

  body.portal-dashboard-home .support-situation-panel-copy::after {
    position: absolute;
    top: 16px;
    left: -60px;
    z-index: 3;
    width: 6px;
    height: 6px;
    border: 1px solid rgba(238, 245, 241, 0.94);
    border-radius: 50%;
    background: #4d9970;
    box-shadow:
      0 0 0 3px rgba(92, 145, 116, 0.05),
      0 0 8px rgba(52, 125, 90, 0.12);
    content: "";
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.6);
    animation: support-live-particle-vertical 1080ms 420ms cubic-bezier(0.24, 0.62, 0.28, 1) forwards;
  }

  body.portal-dashboard-home .support-situation-panel h3 {
    clip-path: inset(0 0 100% 0);
    animation: support-live-title-in 520ms 180ms cubic-bezier(0.22, 0.72, 0.24, 1) forwards;
  }

  body.portal-dashboard-home .support-situation-panel p {
    opacity: 0;
    filter: blur(5px);
    transform: translateY(12px);
    animation: support-live-description-in 480ms 300ms ease forwards;
  }

  body.portal-dashboard-home .support-situation-links a {
    padding-right: 8px;
    padding-left: 0;
    background:
      linear-gradient(90deg, rgba(52, 125, 90, 0.045), rgba(52, 125, 90, 0.012) 68%, transparent) 0 0 / 0% 100% no-repeat;
    filter: blur(4px);
    transform: translateY(14px);
    transition:
      color 180ms ease,
      background-size 360ms cubic-bezier(0.22, 0.72, 0.24, 1),
      box-shadow 280ms ease;
    animation: support-live-link-in 430ms cubic-bezier(0.22, 0.72, 0.24, 1) forwards;
    animation-delay: var(--support-link-delay);
  }

  body.portal-dashboard-home .support-situation-links a::before {
    height: 1px;
    background: linear-gradient(90deg, var(--support-live-line-deep), #89b69e 78%, rgba(137, 182, 158, 0.3));
    box-shadow: none;
    animation: support-live-branch-draw 330ms cubic-bezier(0.16, 0.78, 0.2, 1) forwards;
    animation-delay: var(--support-branch-delay);
  }

  body.portal-dashboard-home .support-situation-links a::after {
    width: 8px;
    height: 8px;
    border-color: #e9f0ec;
    background: radial-gradient(circle at 38% 32%, #a6cbb7 0 10%, var(--support-live-line-deep) 52%, #286848 100%);
    box-shadow:
      0 0 0 1px rgba(52, 125, 90, 0.11),
      0 0 0 4px rgba(92, 145, 116, 0.04),
      0 0 8px rgba(52, 125, 90, 0.1);
    animation:
      support-live-node-in 300ms cubic-bezier(0.22, 0.82, 0.24, 1.16) forwards,
      support-live-node-breathe 3.2s ease-in-out infinite;
    animation-delay:
      var(--support-node-delay),
      calc(var(--support-node-delay) + 420ms);
  }

  body.portal-dashboard-home .support-situation-links a:hover,
  body.portal-dashboard-home .support-situation-links a:focus-visible {
    background-size: 100% 100%;
    box-shadow:
      inset 2px 0 0 rgba(52, 125, 90, 0.56),
      0 12px 24px -24px rgba(52, 125, 90, 0.24);
  }

  body.portal-dashboard-home .support-situation-links a:hover::before,
  body.portal-dashboard-home .support-situation-links a:focus-visible::before {
    background: linear-gradient(90deg, #347d5a, #94bfa8);
    box-shadow: 0 0 6px rgba(52, 125, 90, 0.1);
  }

  body.portal-dashboard-home .support-situation-links a:hover::after,
  body.portal-dashboard-home .support-situation-links a:focus-visible::after {
    box-shadow:
      0 0 0 1px rgba(52, 125, 90, 0.16),
      0 0 0 5px rgba(92, 145, 116, 0.05),
      0 0 10px rgba(52, 125, 90, 0.14);
  }

  body.portal-dashboard-home .support-situation-links a > span {
    transition:
      color 180ms ease,
      transform 280ms cubic-bezier(0.22, 0.72, 0.24, 1);
  }

  body.portal-dashboard-home .support-situation-links svg {
    display: block;
    opacity: 0;
    transform: translateX(-10px);
    transition:
      opacity 180ms ease,
      transform 280ms cubic-bezier(0.22, 0.72, 0.24, 1);
  }

  body.portal-dashboard-home .support-situation-links a:hover svg,
  body.portal-dashboard-home .support-situation-links a:focus-visible svg {
    opacity: 1;
    transform: translateX(0);
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-situation-grid {
    --support-live-line: #7aae91;
    --support-live-line-deep: #659d7d;
    --support-live-line-soft: rgba(122, 174, 145, 0.09);
    background:
      radial-gradient(circle at 59% 48%, rgba(122, 174, 145, 0.025), transparent 22%),
      linear-gradient(90deg, transparent 48%, rgba(21, 31, 27, 0.3) 63%, transparent 100%);
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-situation-tab[aria-selected="true"] {
    background:
      radial-gradient(circle at 88% 50%, rgba(122, 174, 145, 0.045), transparent 25%),
      linear-gradient(90deg, rgba(122, 174, 145, 0.07), rgba(122, 174, 145, 0.018) 70%, transparent) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.025),
      0 12px 28px -28px rgba(122, 174, 145, 0.18) !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-situation-panel {
    background:
      radial-gradient(circle at 15% 42%, rgba(122, 174, 145, 0.025), transparent 28%),
      linear-gradient(120deg, rgba(24, 34, 30, 0.38), rgba(20, 27, 24, 0) 58%);
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-situation-links a {
    background:
      linear-gradient(90deg, rgba(122, 174, 145, 0.055), rgba(122, 174, 145, 0.014) 68%, transparent) 0 0 / 0% 100% no-repeat;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-situation-links a:hover,
  html[data-theme="dark"] body.portal-dashboard-home .support-situation-links a:focus-visible {
    background-size: 100% 100%;
  }
}

@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) {
  body.portal-dashboard-home .support-situation-tab[aria-selected="true"] {
    background:
      radial-gradient(circle at 92% 50%, rgba(82, 140, 108, 0.04), transparent 28%),
      linear-gradient(90deg, rgba(52, 125, 90, 0.055), rgba(52, 125, 90, 0.014) 72%, transparent);
    box-shadow:
      inset 4px 0 0 var(--editorial-green),
      0 12px 24px -24px rgba(52, 125, 90, 0.2);
    animation: support-live-active-wash 460ms cubic-bezier(0.22, 0.72, 0.24, 1) both;
  }

  body.portal-dashboard-home .support-situation-panel-copy {
    animation: support-live-mobile-panel 460ms cubic-bezier(0.22, 0.72, 0.24, 1) both;
  }

  body.portal-dashboard-home .support-situation-links a {
    opacity: 0;
    transform: translateY(10px);
    animation: support-live-mobile-link 380ms ease forwards;
    animation-delay: calc(var(--support-link-delay) - 360ms);
  }
}

@keyframes support-live-active-wash {
  from {
    background-position: -120px 0;
    opacity: 0.62;
  }
  to {
    background-position: 0 0;
    opacity: 1;
  }
}

@keyframes support-live-tab-copy {
  from {
    opacity: 0.4;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes support-live-entry-node {
  from {
    opacity: 0;
    transform: translateY(-50%) scale(0.36);
  }
  to {
    opacity: 1;
    transform: translateY(-50%) scale(1);
  }
}

@keyframes support-live-entry-draw {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

@keyframes support-live-line-aura {
  0%,
  100% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
}

@keyframes support-live-particle-horizontal {
  0% {
    left: 0;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.55);
  }
  18% {
    opacity: 1;
  }
  82% {
    opacity: 1;
  }
  100% {
    left: 100%;
    opacity: 0;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes support-live-spine-draw {
  from {
    transform: scaleY(0);
  }
  to {
    transform: scaleY(1);
  }
}

@keyframes support-live-particle-vertical {
  0% {
    top: 16px;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.6);
  }
  12%,
  82% {
    opacity: 1;
  }
  100% {
    top: calc(100% - 18px);
    opacity: 0;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes support-live-title-in {
  from {
    clip-path: inset(0 0 100% 0);
    opacity: 0.3;
    transform: translateY(14px);
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes support-live-description-in {
  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}

@keyframes support-live-link-in {
  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}

@keyframes support-live-branch-draw {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

@keyframes support-live-node-in {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.35);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes support-live-node-breathe {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(52, 125, 90, 0.11),
      0 0 0 4px rgba(92, 145, 116, 0.035),
      0 0 6px rgba(52, 125, 90, 0.08);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(52, 125, 90, 0.15),
      0 0 0 5px rgba(92, 145, 116, 0.05),
      0 0 8px rgba(52, 125, 90, 0.11);
  }
}

@keyframes support-live-mobile-panel {
  from {
    opacity: 0;
    filter: blur(5px);
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}

@keyframes support-live-mobile-link {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-dashboard-home .support-situation-tab[aria-selected="true"],
  body.portal-dashboard-home .support-situation-tab[aria-selected="true"]::after,
  body.portal-dashboard-home .support-situation-tab[aria-selected="true"] > span,
  body.portal-dashboard-home .support-situation-tab[aria-selected="true"] > strong,
  body.portal-dashboard-home .support-situation-connector-entry,
  body.portal-dashboard-home .support-situation-connector-entry::before,
  body.portal-dashboard-home .support-situation-connector-entry::after,
  body.portal-dashboard-home .support-situation-panel-copy,
  body.portal-dashboard-home .support-situation-panel-copy::before,
  body.portal-dashboard-home .support-situation-panel-copy::after,
  body.portal-dashboard-home .support-situation-panel h3,
  body.portal-dashboard-home .support-situation-panel p,
  body.portal-dashboard-home .support-situation-links a,
  body.portal-dashboard-home .support-situation-links a::before,
  body.portal-dashboard-home .support-situation-links a::after {
    animation: none !important;
    clip-path: none;
    filter: none;
    opacity: 1;
    transform: none;
  }

  body.portal-dashboard-home .support-situation-connector-entry::before,
  body.portal-dashboard-home .support-situation-connector-entry::after,
  body.portal-dashboard-home .support-situation-panel-copy::after {
    display: none;
  }

  body.portal-dashboard-home .support-situation-tab[aria-selected="true"]::after {
    transform: translateY(-50%);
  }

  body.portal-dashboard-home .support-situation-links a::after {
    transform: translate(-50%, -50%);
  }
}

/* v442: one calm monoline PNG icon system for every shared portal sidebar. */
html body.portal-dashboard-home .support-sidebar .support-nav .support-nav-icon,
html body.portal-with-sidebar .portal-shared-sidebar .support-nav .support-nav-icon {
  display: block !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  margin: 0 !important;
  place-self: center !important;
  object-fit: contain !important;
  opacity: 0.94 !important;
  filter: none !important;
  -webkit-filter: none !important;
  transform: none !important;
}

html body.portal-dashboard-home .support-sidebar .support-nav a:is(:hover, :focus-visible, .is-active) .support-nav-icon,
html body.portal-with-sidebar .portal-shared-sidebar .support-nav a:is(:hover, :focus-visible, .is-active, [aria-current="page"]) .support-nav-icon {
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
}

html[data-theme="dark"] .support-nav-icon[data-nav-icon="home"] {
  content: url("/assets/generated/sidebar-icons/monoline-v2/home-dark.png?v=1") !important;
}

html[data-theme="dark"] .support-nav-icon[data-nav-icon="doctor"] {
  content: url("/assets/generated/sidebar-icons/monoline-v2/specialists-dark.png?v=1") !important;
}

html[data-theme="dark"] .support-nav-icon[data-nav-icon="rehab"] {
  content: url("/assets/generated/sidebar-icons/monoline-v2/rehabilitation-dark.png?v=1") !important;
}

html[data-theme="dark"] .support-nav-icon[data-nav-icon="methods"] {
  content: url("/assets/generated/sidebar-icons/monoline-v2/diagnosis-dark.png?v=1") !important;
}

html[data-theme="dark"] .support-nav-icon[data-nav-icon="equipment"] {
  content: url("/assets/generated/sidebar-icons/monoline-v2/equipment-dark.png?v=1") !important;
}

html[data-theme="dark"] .support-nav-icon[data-nav-icon="center"] {
  content: url("/assets/generated/sidebar-icons/monoline-v2/rehabilitation-center-dark.png?v=1") !important;
}

html[data-theme="dark"] .support-nav-icon[data-nav-icon="hospital"] {
  content: url("/assets/generated/sidebar-icons/monoline-v2/institutions-dark.png?v=1") !important;
}

html[data-theme="dark"] .support-nav-icon[data-nav-icon="webinar"] {
  content: url("/assets/generated/sidebar-icons/monoline-v2/webinars-dark.png?v=1") !important;
}

html[data-theme="dark"] .support-nav-icon[data-nav-icon="podcast"] {
  content: url("/assets/generated/sidebar-icons/monoline-v2/podcasts-dark.png?v=1") !important;
}

html[data-theme="dark"] .support-nav-icon[data-nav-icon="book"] {
  content: url("/assets/generated/sidebar-icons/monoline-v2/library-dark.png?v=1") !important;
}

html[data-theme="dark"] .support-nav-icon[data-nav-icon="assistant"] {
  content: url("/assets/generated/sidebar-icons/monoline-v2/assistant-dark.png?v=1") !important;
}

@media (min-width: 901px) and (max-width: 1180px) and (orientation: landscape) {
  html body.portal-dashboard-home .support-sidebar .support-nav .support-nav-icon,
  html body.portal-with-sidebar .portal-shared-sidebar .support-nav .support-nav-icon {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
  }
}

/* v443: selected institutions map-lens concept with a lazy Yandex map. */
body.institutions-editorial-page .institutions-map-lens {
  border-top: 1px solid var(--editorial-line);
  border-bottom: 1px solid var(--editorial-line);
  background: var(--editorial-paper);
}

body.institutions-editorial-page .institutions-map-lens-toggle {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 22px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 64px;
  padding: 0 46px;
  border: 0;
  background: transparent;
  color: var(--editorial-ink);
  text-align: left;
  cursor: pointer;
}

body.institutions-editorial-page .institutions-map-lens-toggle > svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: var(--editorial-green);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.institutions-editorial-page .institutions-map-lens-toggle strong {
  display: block;
  font-size: 14px;
  font-weight: 560;
  line-height: 1.2;
}

body.institutions-editorial-page .institutions-map-lens-toggle-mark {
  position: relative;
  width: 22px;
  height: 22px;
}

body.institutions-editorial-page .institutions-map-lens-toggle-mark::before,
body.institutions-editorial-page .institutions-map-lens-toggle-mark::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 4px;
  width: 14px;
  height: 1px;
  background: currentColor;
  transition: transform 180ms ease;
}

body.institutions-editorial-page .institutions-map-lens-toggle-mark::after {
  transform: rotate(90deg);
}

body.institutions-editorial-page .institutions-map-lens.is-open .institutions-map-lens-toggle-mark::after {
  transform: rotate(0);
}

body.institutions-editorial-page .institutions-map-lens-toggle:hover,
body.institutions-editorial-page .institutions-map-lens-toggle:focus-visible {
  color: var(--editorial-green);
}

body.institutions-editorial-page .institutions-map-lens-toggle:focus-visible {
  outline: 2px solid rgba(47, 138, 87, 0.42);
  outline-offset: -3px;
}

body.institutions-editorial-page .institutions-map-lens-panel {
  padding: 0 28px 28px;
}

body.institutions-editorial-page .institutions-map-lens-panel[hidden] {
  display: none;
}

body.institutions-editorial-page .institutions-map-lens-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 52px;
  border-top: 1px solid var(--editorial-line);
}

body.institutions-editorial-page .institutions-map-lens-toolbar p {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin: 0;
}

body.institutions-editorial-page .institutions-map-lens-toolbar p strong {
  font-family: var(--editorial-serif);
  font-size: 18px;
  font-weight: 520;
}

body.institutions-editorial-page .institutions-map-lens-toolbar p span {
  color: var(--editorial-muted);
  font-size: 12px;
}

body.institutions-editorial-page .institutions-map-lens-toolbar > button {
  min-height: 40px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--editorial-green);
  font-size: 13px;
  cursor: pointer;
}

body.institutions-editorial-page .institutions-map-lens-toolbar > button:hover,
body.institutions-editorial-page .institutions-map-lens-toolbar > button:focus-visible {
  color: var(--editorial-ink);
}

body.institutions-editorial-page .institutions-map-lens-canvas {
  position: relative;
  height: clamp(390px, 42vw, 540px);
  overflow: hidden;
  border: 1px solid #cbd5dc;
  border-radius: 14px;
  background: #edf1f2;
}

body.institutions-editorial-page .institutions-map-lens-host,
body.institutions-editorial-page .institutions-map-lens-host iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

body.institutions-editorial-page .institutions-map-lens-host iframe {
  display: block;
}

body.institutions-editorial-page .institutions-map-lens-status {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  place-items: center;
  margin: 0;
  background: rgba(237, 241, 242, 0.84);
  color: var(--editorial-muted);
  font-size: 14px;
  pointer-events: none;
}

body.institutions-editorial-page .institutions-map-lens-status[hidden] {
  display: none;
}

body.institutions-editorial-page .institutions-map-lens-card {
  position: absolute;
  z-index: 3;
  top: 52px;
  right: 28px;
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 16px;
  width: min(360px, calc(100% - 56px));
  padding: 14px;
  border: 1px solid #8663a7;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 30px rgba(23, 54, 93, 0.11);
  backdrop-filter: blur(12px);
}

body.institutions-editorial-page .institutions-map-lens-card[hidden] {
  display: none;
}

body.institutions-editorial-page .institutions-map-lens-card > img {
  width: 118px;
  height: 94px;
  object-fit: cover;
}

body.institutions-editorial-page .institutions-map-lens-card > div {
  min-width: 0;
}

body.institutions-editorial-page .institutions-map-lens-card strong {
  display: block;
  font-family: var(--editorial-serif);
  font-size: 19px;
  font-weight: 520;
  line-height: 1.08;
}

body.institutions-editorial-page .institutions-map-lens-card p {
  margin: 8px 0 12px;
  color: var(--editorial-muted);
  font-size: 12px;
  line-height: 1.35;
}

body.institutions-editorial-page .institutions-map-lens-card > div > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
}

body.institutions-editorial-page .institutions-map-lens-card a {
  border-bottom: 1px solid currentColor;
  color: var(--editorial-green);
  font-size: 11px;
  line-height: 1.3;
  text-decoration: none;
}

body.institutions-editorial-page .institutions-map-lens-mobile-switch {
  display: none;
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens {
  border-color: var(--dark-line);
  background: var(--dark-bg);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-toggle {
  color: var(--dark-ink);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-toggle > svg,
html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-toggle:hover,
html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-toggle:focus-visible {
  color: var(--dark-green);
  stroke: var(--dark-green);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-toolbar {
  border-color: var(--dark-line);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-toolbar p span {
  color: var(--dark-muted);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-toolbar > button {
  color: var(--dark-green);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-canvas {
  border-color: #3d4854;
  background: #171e24;
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-host iframe {
  filter: brightness(0.66) saturate(0.72) contrast(1.18);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-status {
  background: rgba(23, 30, 36, 0.84);
  color: var(--dark-muted);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-card {
  border-color: #7a5d98;
  background: rgba(20, 27, 34, 0.96);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.34);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-card p {
  color: var(--dark-muted) !important;
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-card a {
  color: var(--dark-green) !important;
}

@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) {
  body.institutions-editorial-page .institutions-map-lens-toggle {
    min-height: 58px;
    padding: 0 20px;
  }

  body.institutions-editorial-page .institutions-map-lens-panel {
    padding: 0 12px 18px;
  }

  body.institutions-editorial-page .institutions-map-lens-toolbar p span {
    display: none;
  }

  body.institutions-editorial-page .institutions-map-lens-toolbar > button {
    font-size: 12px;
  }

  body.institutions-editorial-page .institutions-map-lens-canvas {
    height: min(68vh, 560px);
    min-height: 430px;
    border-radius: 10px;
  }

  body.institutions-editorial-page .institutions-map-lens-card {
    top: auto;
    right: 12px;
    bottom: 12px;
    left: 12px;
    grid-template-columns: 88px minmax(0, 1fr);
    width: auto;
    padding: 10px;
  }

  body.institutions-editorial-page .institutions-map-lens-card > img {
    width: 88px;
    height: 76px;
  }

  body.institutions-editorial-page .institutions-map-lens-card strong {
    font-size: 17px;
  }

  body.institutions-editorial-page .institutions-map-lens-card p {
    margin: 6px 0 8px;
  }

  body.institutions-editorial-page .institutions-map-lens-mobile-switch {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding-top: 12px;
    color: var(--editorial-muted);
    font-size: 12px;
  }

  body.institutions-editorial-page .institutions-map-lens-mobile-switch strong {
    color: var(--editorial-green);
    font-weight: 600;
  }

  html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-mobile-switch {
    color: var(--dark-muted);
  }

  html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-mobile-switch strong {
    color: var(--dark-green);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.institutions-editorial-page .institutions-map-lens-toggle-mark::before,
  body.institutions-editorial-page .institutions-map-lens-toggle-mark::after {
    transition: none;
  }
}

/* v447: in-page interactive institution markers and marker-linked cards. */
body.institutions-editorial-page .institutions-map-lens-panel {
  padding-top: 22px;
}

body.institutions-editorial-page .institutions-map-lens-host {
  position: relative;
  z-index: 1;
  font-family: var(--editorial-sans);
}

body.institutions-editorial-page .institutions-map-lens-host.leaflet-container {
  background: #edf1f2;
  color: var(--editorial-ink);
}

body.institutions-editorial-page .institutions-map-lens-host .leaflet-control-zoom a {
  color: #172f4e;
}

body.institutions-editorial-page .institutions-map-lens-host .leaflet-control-attribution {
  background: rgba(255, 255, 255, 0.86);
  color: #52627a;
  font-size: 10px;
}

body.institutions-editorial-page .institutions-map-lens-host .leaflet-control-attribution a {
  color: #247f50;
}

body.institutions-editorial-page .institutions-map-marker-shell {
  position: relative;
  width: 30px !important;
  height: 38px !important;
  border: 0;
  background: transparent;
}

body.institutions-editorial-page .institutions-map-marker-dot {
  position: absolute;
  top: 2px;
  left: 3px;
  display: block;
  width: 24px;
  height: 24px;
  border: 3px solid #ffffff;
  border-radius: 50% 50% 50% 0;
  background: #1d5c9d;
  box-shadow: 0 3px 9px rgba(10, 38, 68, 0.3);
  transform: rotate(-45deg);
  transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.institutions-editorial-page .institutions-map-marker-dot::after {
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ffffff;
}

body.institutions-editorial-page .institutions-map-marker-shell:hover .institutions-map-marker-dot,
body.institutions-editorial-page .institutions-map-marker-shell:focus .institutions-map-marker-dot,
body.institutions-editorial-page .institutions-map-marker-shell.is-selected .institutions-map-marker-dot {
  background: #2f8a57;
  box-shadow: 0 4px 12px rgba(24, 103, 61, 0.4);
  transform: rotate(-45deg) scale(1.12);
}

body.institutions-editorial-page .institutions-map-cluster-shell {
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 4px 14px rgba(10, 38, 68, 0.28);
}

body.institutions-editorial-page .institutions-map-cluster-shell span {
  display: grid;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  place-items: center;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #1d5c9d;
  color: #ffffff;
  font: 700 13px/1 var(--editorial-sans);
}

body.institutions-editorial-page .institutions-map-cluster-shell:hover span,
body.institutions-editorial-page .institutions-map-cluster-shell:focus span {
  background: #2f8a57;
}

body.institutions-editorial-page .institutions-map-lens-card {
  z-index: 900;
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-host.leaflet-container {
  background: #171e24;
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-host .leaflet-tile-pane {
  filter: brightness(0.62) saturate(0.68) contrast(1.2);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-host .leaflet-control-zoom a {
  border-color: #46515c;
  background: #202a33;
  color: #f3f7f8;
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-host .leaflet-control-attribution {
  background: rgba(20, 27, 34, 0.88);
  color: var(--dark-muted);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-host .leaflet-control-attribution a {
  color: var(--dark-green);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-cluster-shell {
  background: rgba(18, 27, 35, 0.94);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.46);
}

body.institutions-editorial-page .institutions-map-search-place-label {
  padding: 7px 10px;
  border: 1px solid rgba(35, 131, 77, 0.24);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 7px 20px rgba(10, 38, 68, 0.18);
  color: #16314f;
  font: 650 12px/1.2 var(--editorial-sans);
}

body.institutions-editorial-page .institutions-map-search-place-label::before {
  border-top-color: rgba(255, 255, 255, 0.94);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-search-place-label {
  border-color: rgba(84, 195, 126, 0.28);
  background: rgba(24, 34, 43, 0.95);
  color: #f2f7f4;
  box-shadow: 0 7px 22px rgba(0, 0, 0, 0.42);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-search-place-label::before {
  border-top-color: rgba(24, 34, 43, 0.95);
}

@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) {
  body.institutions-editorial-page .institutions-map-lens-panel {
    padding-top: 12px;
  }
}

/* v444: always-visible compact institution map and embedded homepage podcast player. */
body.institutions-editorial-page .institutions-map-lens-heading {
  grid-template-columns: 24px minmax(0, 1fr);
  min-height: 58px;
  cursor: default;
}

body.institutions-editorial-page .institutions-map-lens-heading > span {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 12px;
}

body.institutions-editorial-page .institutions-map-lens-heading small {
  color: var(--editorial-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
}

body.institutions-editorial-page .institutions-map-lens-panel {
  padding: 22px 28px;
}

body.institutions-editorial-page .institutions-map-lens-canvas {
  height: clamp(310px, 28vw, 360px);
}

body.institutions-editorial-page .institutions-map-lens-card {
  top: 24px;
  right: 24px;
  grid-template-columns: 100px minmax(0, 1fr);
  width: min(330px, calc(100% - 48px));
  padding: 12px;
}

body.institutions-editorial-page .institutions-map-lens-card > img {
  width: 100px;
  height: 80px;
}

body.institutions-editorial-page .institutions-map-lens-card strong {
  font-size: 17px;
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-heading small {
  color: var(--dark-muted);
}

body.portal-dashboard-home .support-hero-podcast-media {
  position: absolute;
  z-index: 3;
  inset: 0 0 0 auto;
  width: 56%;
  min-width: 0;
  background: #ffffff;
}

body.portal-dashboard-home .support-hero-podcast-frame {
  position: relative;
  width: 100%;
  height: calc(100% - 52px);
  overflow: hidden;
  background: #071414;
}

body.portal-dashboard-home .support-hero-podcast-frame iframe,
body.portal-dashboard-home .support-hero-podcast-poster,
body.portal-dashboard-home .support-hero-podcast-poster > img {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

body.portal-dashboard-home .support-hero-podcast-frame iframe {
  background: #071414;
}

body.portal-dashboard-home .support-hero-podcast-poster {
  position: relative;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: #ffffff;
  text-align: left;
  cursor: pointer;
}

body.portal-dashboard-home .support-hero-podcast-poster > img {
  object-fit: cover;
  object-position: center;
  filter: saturate(0.94) contrast(1.03) brightness(0.86);
  transition: transform 320ms ease, filter 320ms ease;
}

body.portal-dashboard-home .support-hero-podcast-poster::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2, 12, 18, 0.72) 0%, transparent 34%, transparent 65%, rgba(2, 8, 13, 0.74) 100%),
    linear-gradient(90deg, rgba(2, 13, 15, 0.24), transparent 52%);
  pointer-events: none;
}

body.portal-dashboard-home .support-hero-podcast-title {
  position: absolute;
  z-index: 2;
  top: 22px;
  left: 24px;
  display: grid;
  gap: 4px;
  max-width: min(510px, calc(100% - 48px));
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.48);
}

body.portal-dashboard-home .support-hero-podcast-title small {
  font: 600 13px/1.2 Arial, Helvetica, sans-serif;
}

body.portal-dashboard-home .support-hero-podcast-title strong {
  font: 650 clamp(18px, 1.55vw, 25px)/1.08 Arial, Helvetica, sans-serif;
}

body.portal-dashboard-home .support-hero-podcast-play {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: 76px;
  height: 76px;
  border: 2px solid rgba(255, 255, 255, 0.94);
  border-radius: 50%;
  background: rgba(6, 15, 21, 0.34);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
  transform: translate(-50%, -50%);
  backdrop-filter: blur(5px);
}

body.portal-dashboard-home .support-hero-podcast-play::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 53%;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 18px solid #ffffff;
  transform: translate(-50%, -50%);
}

body.portal-dashboard-home .support-hero-podcast-rutube {
  position: absolute;
  z-index: 2;
  bottom: 18px;
  left: 24px;
  color: rgba(255, 255, 255, 0.94);
  font: 500 13px/1 Arial, Helvetica, sans-serif;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

body.portal-dashboard-home .support-hero-podcast-rutube strong {
  font-weight: 800;
  letter-spacing: 0.04em;
}

body.portal-dashboard-home .support-hero-podcast-rutube strong::after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin: 0 0 6px 2px;
  border-radius: 50%;
  background: #f13445;
}

body.portal-dashboard-home .support-hero-podcast-poster:hover > img,
body.portal-dashboard-home .support-hero-podcast-poster:focus-visible > img {
  filter: saturate(1) contrast(1.05) brightness(0.94);
  transform: scale(1.018);
}

body.portal-dashboard-home .support-hero-podcast-poster:focus-visible {
  outline: 2px solid var(--brand-violet);
  outline-offset: -5px;
}

body.portal-dashboard-home .support-hero-podcast-status {
  box-sizing: border-box;
  display: flex;
  width: 100% !important;
  max-width: none !important;
  height: 52px;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 0;
  padding: 0 28px 0 120px;
  color: #68778c;
  font: 400 12px/1.25 Arial, Helvetica, sans-serif !important;
  white-space: nowrap;
}

body.portal-dashboard-home .support-hero-carousel--podcasts .support-hero-pagination {
  left: 50%;
}

html[data-theme="dark"] body.portal-dashboard-home .support-hero-podcast-media {
  background: var(--dark-bg);
}

html[data-theme="dark"] body.portal-dashboard-home .support-hero-podcast-status {
  color: var(--dark-muted);
}

@media (min-width: 901px) {
  body.portal-dashboard-home .support-hero-slide--podcasts .support-hero-copy {
    box-sizing: border-box;
    width: 44% !important;
    max-width: 44% !important;
    padding-right: 28px !important;
  }
}

@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) {
  body.institutions-editorial-page .institutions-map-lens-heading {
    padding: 10px 20px;
  }

  body.institutions-editorial-page .institutions-map-lens-heading > span {
    display: grid;
    gap: 3px;
  }

  body.institutions-editorial-page .institutions-map-lens-panel {
    padding: 12px 12px 16px;
  }

  body.institutions-editorial-page .institutions-map-lens-canvas {
    height: clamp(310px, 52vh, 380px);
    min-height: 0;
  }

  body.portal-dashboard-home .support-hero-slide--podcasts.is-active {
    grid-template-rows: auto 260px !important;
  }

  body.portal-dashboard-home .support-hero-podcast-media {
    position: relative;
    inset: auto;
    grid-row: 2;
    width: 100%;
    height: 260px;
  }

  body.portal-dashboard-home .support-hero-podcast-frame {
    height: 260px;
  }

  body.portal-dashboard-home .support-hero-podcast-title {
    top: 16px;
    left: 18px;
    max-width: calc(100% - 36px);
  }

  body.portal-dashboard-home .support-hero-podcast-title small {
    font-size: 11px;
  }

  body.portal-dashboard-home .support-hero-podcast-title strong {
    font-size: clamp(16px, 5vw, 21px);
  }

  body.portal-dashboard-home .support-hero-podcast-play {
    width: 62px;
    height: 62px;
  }

  body.portal-dashboard-home .support-hero-podcast-rutube {
    bottom: 15px;
    left: 18px;
    font-size: 11px;
  }

  body.portal-dashboard-home .support-hero-podcast-status {
    display: none;
  }
}

@media (max-width: 520px) {
  body.institutions-editorial-page .institutions-map-lens-card {
    right: 8px;
    bottom: 8px;
    left: 8px;
  }

  body.portal-dashboard-home .support-hero-podcast-status {
    padding-left: 116px;
    font-size: 9.5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-dashboard-home .support-hero-podcast-poster > img {
    transition: none;
  }
}

/* v449: compact adaptive map card, including images wrapped into optimized pictures. */
body.institutions-editorial-page .institutions-map-lens-card {
  top: 16px;
  right: 16px;
  align-items: start;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  width: min(390px, calc(100% - 32px));
  max-height: calc(100% - 32px);
  padding: 14px;
  overflow: auto;
  border: 1px solid rgba(50, 79, 104, 0.2);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 38px rgba(17, 43, 69, 0.2);
  backdrop-filter: blur(16px);
}

body.institutions-editorial-page .institutions-map-lens-card:has(> img, > picture.portal-optimized-picture) {
  grid-template-columns: 108px minmax(0, 1fr);
}

body.institutions-editorial-page .institutions-map-lens-card > img,
body.institutions-editorial-page .institutions-map-lens-card > picture.portal-optimized-picture {
  display: block;
  width: 108px;
  height: 108px;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  border-radius: 12px;
  background: #e8eeea;
}

body.institutions-editorial-page .institutions-map-lens-card > img {
  object-fit: cover;
  object-position: center;
}

body.institutions-editorial-page .institutions-map-lens-card > picture.portal-optimized-picture > img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: center;
}

body.institutions-editorial-page .institutions-map-lens-card strong {
  font-family: var(--editorial-sans);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.012em;
}

body.institutions-editorial-page .institutions-map-lens-card p {
  display: -webkit-box;
  margin: 8px 0 12px;
  overflow: hidden;
  color: var(--editorial-muted);
  font-size: 12.5px;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.institutions-editorial-page .institutions-map-lens-card > div > div {
  gap: 7px;
}

body.institutions-editorial-page .institutions-map-lens-card a {
  display: inline-flex;
  min-height: 31px;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid rgba(47, 138, 87, 0.3);
  border-radius: 999px;
  background: rgba(47, 138, 87, 0.08);
  color: var(--editorial-green);
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none;
}

body.institutions-editorial-page .institutions-map-lens-card a:hover,
body.institutions-editorial-page .institutions-map-lens-card a:focus-visible {
  border-color: var(--editorial-green);
  background: rgba(47, 138, 87, 0.14);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-card {
  border-color: rgba(132, 162, 181, 0.28);
  background: rgba(17, 25, 32, 0.96);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.48);
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-card > img,
html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-card > picture.portal-optimized-picture {
  background: #24313a;
}

html[data-theme="dark"] body.institutions-editorial-page .institutions-map-lens-card a {
  border-color: rgba(116, 205, 148, 0.34);
  background: rgba(78, 166, 109, 0.13);
}

@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) {
  body.institutions-editorial-page .institutions-map-lens-card {
    top: auto;
    right: 10px;
    bottom: 10px;
    left: 10px;
    width: auto;
    max-height: calc(100% - 20px);
    padding: 12px;
    border-radius: 14px;
  }

  body.institutions-editorial-page .institutions-map-lens-card:has(> img, > picture.portal-optimized-picture) {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  body.institutions-editorial-page .institutions-map-lens-card > img,
  body.institutions-editorial-page .institutions-map-lens-card > picture.portal-optimized-picture {
    width: 88px;
    height: 88px;
    border-radius: 10px;
  }
}

@media (max-width: 520px) {
  body.institutions-editorial-page .institutions-map-lens-card {
    gap: 10px;
    padding: 10px;
  }

  body.institutions-editorial-page .institutions-map-lens-card:has(> img, > picture.portal-optimized-picture) {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  body.institutions-editorial-page .institutions-map-lens-card > img,
  body.institutions-editorial-page .institutions-map-lens-card > picture.portal-optimized-picture {
    width: 76px;
    height: 76px;
  }

  body.institutions-editorial-page .institutions-map-lens-card strong {
    font-size: 16px;
  }

  body.institutions-editorial-page .institutions-map-lens-card a {
    min-height: 29px;
    padding: 4px 8px;
    font-size: 11px;
  }
}

/* v457: keep the enlarged official mark on landscape iPads too; preserve sidebar/menu geometry. */
@media (min-width: 1181px), (min-width: 901px) and (max-width: 1180px) and (orientation: landscape) {
  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 {
    transform: scale(1.32) !important;
    transform-origin: center;
  }
}

/* v458: remove the duplicated 72px offset from the compact homepage header. */
@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 body.portal-dashboard-home .support-home-shell > aside.support-sidebar {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
  }
}

/* v459: portrait tablets use the persistent portal rail, never the phone header. */
@media (min-width: 700px) and (max-width: 1180px) and (orientation: portrait) {
  :root {
    --portrait-tablet-sidebar: clamp(196px, 25.5vw, 226px);
  }

  html body.portal-dashboard-home .support-home-shell {
    display: grid !important;
    grid-template-columns: var(--portrait-tablet-sidebar) minmax(0, 1fr) !important;
    min-height: 100dvh !important;
    padding-top: 0 !important;
  }

  html body.portal-with-sidebar {
    --portal-sidebar-width: var(--portrait-tablet-sidebar) !important;
    box-sizing: border-box !important;
    padding-left: 0 !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 auto 0 0 !important;
    z-index: 70 !important;
    display: grid !important;
    box-sizing: border-box !important;
    width: var(--portrait-tablet-sidebar) !important;
    min-width: var(--portrait-tablet-sidebar) !important;
    max-width: var(--portrait-tablet-sidebar) !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    grid-template-rows: 104px minmax(0, 1fr) !important;
    align-content: start !important;
    align-items: stretch !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 20px 14px 18px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-right: 1px solid var(--editorial-line, #dce3e8) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  html body.portal-dashboard-home aside.support-sidebar > .support-brand,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 104px !important;
    min-height: 104px !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    transform: none !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
  }

  html body.portal-dashboard-home .support-sidebar > .support-brand > img,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand > img {
    display: block !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: 88px !important;
    min-height: 88px !important;
    max-height: 88px !important;
    object-fit: contain !important;
    filter: none !important;
    transform: scale(1.08) !important;
    transform-origin: center !important;
  }

  html body.portal-dashboard-home .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;
    gap: 7px !important;
  }

  html body.portal-dashboard-home .support-sidebar > .support-brand strong,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand strong {
    display: block !important;
    max-width: none !important;
    color: #1c814c !important;
    font: 700 20px/0.94 "Times New Roman", Times, serif !important;
    letter-spacing: -0.045em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  html body.portal-dashboard-home .support-sidebar > .support-brand small,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand small {
    display: block !important;
    margin: 0 !important;
    color: #68778c !important;
    font: 500 10.5px/1.2 Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .portal-mobile-menu-toggle,
  .portal-mobile-menu-close,
  .portal-mobile-menu-backdrop,
  .portal-mobile-nav-head {
    display: none !important;
  }

  html body.portal-dashboard-home .support-sidebar > .support-nav,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-nav {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: grid !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    align-content: start !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    visibility: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    transition: none !important;
    grid-row: 2 !important;
    align-self: start !important;
  }

  html body.portal-dashboard-home .support-sidebar > .support-nav > a,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-nav > a {
    display: grid !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    color: var(--editorial-ink, #0b1b38) !important;
    background: transparent !important;
    box-shadow: none !important;
    font: 500 12px/1.15 Inter, "SF Pro Text", "Segoe UI", Arial, sans-serif !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: normal !important;
    transform: none !important;
  }

  html body.portal-dashboard-home .support-sidebar > .support-nav > a.is-active,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-nav > a.is-active,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-nav > a[aria-current="page"] {
    border-color: #a9cdb9 !important;
    color: #1f7746 !important;
    background: #f8fbf9 !important;
  }

  html body.portal-dashboard-home .support-sidebar > .support-nav > a > span,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-nav > a > span {
    display: grid !important;
    box-sizing: border-box !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    place-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body.portal-dashboard-home .support-sidebar .support-nav .support-nav-icon,
  html body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar .support-nav .support-nav-icon {
    display: block !important;
    width: 34px !important;
    height: 34px !important;
    opacity: 1 !important;
    object-fit: contain !important;
    filter: none !important;
    -webkit-filter: none !important;
  }

  html body.portal-dashboard-home .support-main {
    position: relative !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: grid !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 72px auto !important;
  }

  html body.portal-dashboard-home .support-topbar,
  html body.portal-with-sidebar .portal-shared-topbar {
    position: relative !important;
    inset: auto !important;
    z-index: 20 !important;
    display: flex !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 72px !important;
    min-height: 72px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--editorial-line, #dce3e8) !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  html body.portal-with-sidebar .portal-shared-topbar {
    width: calc(100vw - var(--portrait-tablet-sidebar)) !important;
    margin-left: var(--portrait-tablet-sidebar) !important;
  }

  html body.portal-dashboard-home .support-topbar {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  html body.portal-dashboard-home .support-topbar-actions,
  html body.portal-with-sidebar .portal-shared-topbar .support-topbar-actions {
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-left: auto !important;
  }

  html body.portal-dashboard-home .portal-search-trigger,
  html body.portal-with-sidebar .portal-search-trigger {
    display: grid !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
  }

  html body.portal-dashboard-home .portal-theme-cycle,
  html body.portal-with-sidebar .portal-theme-cycle {
    display: grid !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
  }

  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: inline-flex !important;
    width: auto !important;
    min-width: 74px !important;
    max-width: none !important;
    height: 42px !important;
    min-height: 42px !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--editorial-ink, #0b1b38) !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body.portal-dashboard-home .support-topbar .dashboard-login-trigger.portal-unified-login::before,
  html body.portal-with-sidebar .portal-shared-topbar .dashboard-login-trigger.portal-unified-login::before {
    content: "" !important;
    display: block !important;
    width: 1px !important;
    height: 26px !important;
    flex: 0 0 1px !important;
    margin-right: 8px !important;
    background: var(--editorial-line, #dce3e8) !important;
  }

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

  html body.portal-dashboard-home .support-topbar .dashboard-login-trigger strong,
  html body.portal-with-sidebar .portal-shared-topbar .dashboard-login-trigger strong {
    display: block !important;
    font-size: 13px !important;
    line-height: 1 !important;
  }

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

  html body.portal-dashboard-home .support-home-grid {
    grid-column: 1 !important;
    grid-row: 2 !important;
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.portal-dashboard-home .support-hero-carousel,
  html body.portal-dashboard-home .support-hero-slides,
  html body.portal-dashboard-home .support-hero-slide.is-active {
    height: 420px !important;
    min-height: 420px !important;
  }

  html body.portal-dashboard-home .support-hero-slides {
    position: relative !important;
    inset: auto !important;
  }

  html body.portal-dashboard-home .support-hero-slide.is-active {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: minmax(255px, 44%) minmax(0, 1fr) !important;
    grid-template-rows: 420px !important;
  }

  html body.portal-dashboard-home .support-hero-slide::after {
    content: none !important;
  }

  html body.portal-dashboard-home .support-hero-slide > img {
    position: relative !important;
    inset: auto !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 420px !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  html body.portal-dashboard-home .support-hero-image-link {
    inset: 0 0 0 auto !important;
    width: 56% !important;
    height: 420px !important;
  }

  html body.portal-dashboard-home .support-hero-slide .support-hero-copy,
  html body.portal-dashboard-home .support-hero-slide--podcasts .support-hero-copy {
    position: relative !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 420px !important;
    align-content: center !important;
    gap: 18px !important;
    padding: 34px 18px 46px 26px !important;
  }

  html body.portal-dashboard-home .support-hero h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 5.1vw, 44px) !important;
    line-height: 0.96 !important;
  }

  html body.portal-dashboard-home .support-hero p {
    max-width: 100% !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
  }

  html body.portal-dashboard-home .support-hero-story-link {
    min-height: 36px !important;
    font-size: 13px !important;
  }

  html body.portal-dashboard-home .support-hero-pagination,
  html body.portal-dashboard-home .support-hero-carousel--podcasts .support-hero-pagination {
    top: auto !important;
    right: 28% !important;
    bottom: 11px !important;
    left: auto !important;
    width: auto !important;
    height: 34px !important;
    padding: 0 5px !important;
    transform: translateX(50%) !important;
  }

  html body.portal-dashboard-home .support-hero-podcast-media {
    position: absolute !important;
    inset: 0 0 0 auto !important;
    z-index: 2 !important;
    grid-row: auto !important;
    width: 56% !important;
    height: 420px !important;
  }

  html body.portal-dashboard-home .support-hero-podcast-frame {
    height: 420px !important;
  }

  html body.portal-dashboard-home .support-hero-podcast-title {
    top: 18px !important;
    left: 18px !important;
    max-width: calc(100% - 36px) !important;
  }

  html body.portal-dashboard-home .home-promo-banners {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 8px 6px 12px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  html body.portal-dashboard-home .home-promo-banner {
    height: 176px !important;
  }

  html body.portal-dashboard-home .home-promo-copy {
    gap: 4px !important;
    padding: 15px 12px 12px !important;
  }

  html body.portal-dashboard-home .home-promo-copy > strong {
    font-size: 20px !important;
  }

  html body.portal-dashboard-home .home-promo-copy > em {
    font-size: 11px !important;
  }

  html body.portal-dashboard-home .home-promo-chat {
    top: 8px !important;
    right: 8px !important;
    width: 58% !important;
    padding: 7px 8px !important;
  }

  html body.portal-with-sidebar > main,
  html body.portal-with-sidebar > .page-shell,
  html body.portal-with-sidebar > main.page-shell {
    box-sizing: border-box !important;
    width: calc(100vw - var(--portrait-tablet-sidebar)) !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: var(--portrait-tablet-sidebar) !important;
  }

  html body.portal-with-sidebar > footer.editorial-footer,
  html body.portal-with-sidebar > footer.neo-portal-footer {
    box-sizing: border-box !important;
    width: calc(100vw - var(--portrait-tablet-sidebar)) !important;
    margin-right: 0 !important;
    margin-left: var(--portrait-tablet-sidebar) !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,
  html[data-theme="dark"] body.portal-dashboard-home .support-topbar,
  html[data-theme="dark"] body.portal-with-sidebar .portal-shared-topbar {
    border-color: #28333e !important;
    background: #0e1217 !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-sidebar > .support-brand small,
  html[data-theme="dark"] body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand small {
    color: #aeb9c7 !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-sidebar > .support-nav > a,
  html[data-theme="dark"] body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-nav > a {
    color: #f2f5f3 !important;
  }

  html[data-theme="dark"] body.portal-dashboard-home .support-sidebar > .support-nav > a.is-active,
  html[data-theme="dark"] body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-nav > a.is-active,
  html[data-theme="dark"] body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-nav > a[aria-current="page"] {
    border-color: #365b48 !important;
    color: #8fe3ba !important;
    background: #17231e !important;
  }
}

@media (min-width: 700px) and (max-width: 1180px) and (orientation: portrait) {
  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > a.support-brand {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 104px !important;
    grid-row: 1 !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 10px !important;
    transform: none !important;
  }

  html body.portal-dashboard-home .support-home-shell > aside.support-sidebar > a.support-brand > img {
    width: 58px !important;
    height: 88px !important;
  }

  html body.portal-with-sidebar:not(#portal-phone-shell) > main.page-shell {
    width: calc(100vw - var(--portrait-tablet-sidebar)) !important;
    max-width: calc(100vw - var(--portrait-tablet-sidebar)) !important;
    margin-right: 0 !important;
    margin-left: var(--portrait-tablet-sidebar) !important;
  }
}
