.solution-page-navigation {
  position: fixed;
  z-index: 45;
  top: 112px;
  right: 16px;
  width: 194px;
  max-width: calc(100vw - 32px);
  border: 1px solid #dbe6f2;
  border-radius: 18px;
  background: #fffffff5;
  color: #233e60;
  box-shadow: 0 12px 40px #102b5517;
  backdrop-filter: blur(14px);
  font-family: 'Poppins', sans-serif;
}
.solution-page-navigation > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 48px;
  padding: 14px 16px;
  list-style: none;
  cursor: pointer;
  color: #2b519f;
  font-size: 11px;
  font-weight: 600;
}
.solution-page-navigation > summary::-webkit-details-marker { display: none; }
.solution-page-navigation:not([open]) {
  width: 52px;
  height: 52px;
  overflow: hidden;
  border-radius: 50%;
}
.solution-page-navigation:not([open]) > summary {
  width: 50px;
  min-height: 50px;
  justify-content: center;
  padding: 0;
  font-size: 0;
}
.solution-page-navigation > summary::after {
  content: '+';
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}
.solution-page-navigation[open] > summary::after { content: '\2212'; }
.solution-page-navigation > summary:focus-visible {
  outline: 3px solid #489fd8;
  outline-offset: 3px;
  border-radius: 16px;
}
.solution-page-navigation .product-subnav--floating {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 3px;
  width: 100%;
  max-width: none;
  min-height: 0;
  max-height: calc(100vh - 186px);
  max-height: calc(100dvh - 186px);
  margin: 0;
  padding: 5px 9px 10px;
  border: 0;
  border-top: 1px solid #e7eef6;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.solution-page-navigation .product-subnav--floating a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 36px;
  margin: 0;
  padding: 8px 10px;
  border-radius: 9px;
  color: #405875;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
  white-space: normal;
  transition: color .2s, background .2s;
}
.solution-page-navigation .product-subnav--floating a:hover,
.solution-page-navigation .product-subnav--floating a.is-reading {
  color: #2b519f;
  background: #eaf3fc;
}
.solution-page-navigation .product-subnav--floating a.is-reading::after { content: none; }
.solution-page-navigation .product-subnav--floating a:focus-visible {
  outline: 2px solid #489fd8;
  outline-offset: -2px;
}
.solution-page-navigation .product-subnav--floating .subnav-inquiry {
  display: flex;
  margin: 5px 0 0;
  padding-top: 10px;
  border-top: 1px solid #e1eaf4;
  color: #2b519f;
}
.solution-page-navigation .product-subnav--floating .subnav-top {
  color: #2b519f;
  background: #f2f7fc;
}
.solution-page-navigation .subnav-top svg { width: 13px; height: 13px; }
@media (min-width: 1100px) {

  .solution-page-navigation { right: max(24px, calc((100vw - 1418px) / 2)); }
  .solution-detail-page > main .wrap,
  .solution-detail-page > .site-footer .wrap {
    max-width: none;
    width: min(1200px, calc(100vw - 266px));
    margin-left: max(24px, calc((100vw - 1418px) / 2));
    margin-right: 0;
  }
}
@media (max-width: 1099px) {
  .solution-page-navigation {
    top: auto;
    right: max(12px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
    width: 212px;
  }
  .solution-page-navigation:not([open]) { width: 52px; }
  .solution-page-navigation .product-subnav--floating {
    max-height: min(62vh, 510px);
    max-height: min(62dvh, 510px);
  }
  .solution-page-navigation .product-subnav--floating a { min-height: 44px; }
}

.solution-page-navigation--propertypro {
  --solution-nav-accent: #207553;
  --solution-nav-tint: #eef8f2;
  --solution-nav-border: #d7eae1;
  --solution-nav-text: #35564b;
  --solution-nav-surface: #fbfefcf5;
  --solution-nav-shadow: #123d2818;
}
.solution-page-navigation--dynamic-government {
  --solution-nav-accent: #2b519f;
  --solution-nav-tint: #eaf3fc;
  --solution-nav-border: #d7e5f4;
  --solution-nav-text: #405875;
  --solution-nav-surface: #fcfdfff5;
  --solution-nav-shadow: #102b5517;
}
.solution-page-navigation--edumax {
  --solution-nav-accent: #b71326;
  --solution-nav-tint: #fbebed;
  --solution-nav-border: #edd5da;
  --solution-nav-text: #61434a;
  --solution-nav-surface: #fffafbF5;
  --solution-nav-shadow: #5b0a1718;
}
.solution-page-navigation--eraffle {
  --solution-nav-accent: #8e75c4;
  --solution-nav-tint: #f3eff9;
  --solution-nav-border: #e2d9ee;
  --solution-nav-text: #4e4565;
  --solution-nav-surface: #fdfbfff5;
  --solution-nav-shadow: #30204a18;
}
.solution-page-navigation[class*="solution-page-navigation--"] {
  border-color: var(--solution-nav-border);
  background: var(--solution-nav-surface);
  color: var(--solution-nav-text);
  box-shadow: 0 12px 40px var(--solution-nav-shadow);
}
.solution-page-navigation[class*="solution-page-navigation--"] > summary { color: var(--solution-nav-accent); }
.solution-page-navigation[class*="solution-page-navigation--"] > summary:focus-visible,
.solution-page-navigation[class*="solution-page-navigation--"] .product-subnav--floating a:focus-visible { outline-color: var(--solution-nav-accent); }
.solution-page-navigation[class*="solution-page-navigation--"] .product-subnav--floating a { color: var(--solution-nav-text); }
.solution-page-navigation[class*="solution-page-navigation--"] .product-subnav--floating a:hover,
.solution-page-navigation[class*="solution-page-navigation--"] .product-subnav--floating a.is-reading,
.solution-page-navigation[class*="solution-page-navigation--"] .product-subnav--floating .subnav-top {
  color: var(--solution-nav-accent);
  background: var(--solution-nav-tint);
}
.solution-page-navigation[class*="solution-page-navigation--"] .product-subnav--floating .subnav-inquiry {
  border-top-color: var(--solution-nav-border);
  color: var(--solution-nav-accent);
}

@media (prefers-reduced-motion: reduce) {
  .solution-page-navigation .product-subnav--floating a { transition: none; }
}
