/* Shared navigation and legibility corrections, without changing page layouts. */
.io-back-top {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, env(safe-area-inset-bottom));
  z-index: 40;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  background: #152139;
  color: #eef2fb;
  border: 1px solid #8095b4;
  border-radius: 50%;
  box-shadow: 0 4px 18px #0002;
  text-decoration: none;
  transition: background .2s, transform .2s;
}
.io-back-top[hidden] { display: none; }
.io-back-top:hover { background: #2446a1; transform: translateY(-2px); }
.io-back-top:focus-visible { outline: 3px solid #4775ee; outline-offset: 4px; }
.io-back-top svg { width: 19px; height: 19px; }
/* Measured small-text contrast on the existing ivory surfaces. */
.w-project-switch button:not([aria-pressed=true]),
.w-section-foot > p,
.io-demo-intro > .io-kicker,
.io-demo-note,
.io-demo-input small,
.w-eco-lab > p,
.io-method .io-kicker,
#metodo .io-kicker,
.io-method-item p,
.io-offer-links p { color: #526076; }
.io-subpage .corp-section-head > p,
.io-subpage .about-story p,
.io-subpage .about-team-note,
.io-subpage .principle > span,
.io-subpage .entity-label,
.io-subpage .group-note,
.io-subpage .contact-price-note,
.io-subpage .contact-price-note a,
.io-subpage .contact-steps p,
.io-subpage .form-top > span,
.io-subpage label > span,
.io-subpage .form-fine,
.io-subpage .thanks-box > p { color: #526073; }
.io-subpage .cta-box .overline,
.io-subpage .cta-box small { color: #fff; }
.io-subpage .method-section .overline { color: #a4bfff; }
.io-subpage .method-section .corp-section-head > p { color: #bec9dc; }
.io-subpage .check a,
.io-subpage .privacy-check a,
.io-subpage .thanks-box .eyebrow { color: #1e598f; }
.io-subpage .o-ops-inbox > div > b { color: #e9c29d; }
.io-subpage .contact-page .breadcrumb,
.io-subpage .contact-page .breadcrumb a,
.io-subpage .contact-page-copy > p { color: #526073; }
.io-demo-note { color: #526076 !important; }
.io-subpage .field label span { color: #526073; }
@media (max-width: 900px) {
  .io-navigation { max-height: calc(100dvh - 84px); overflow-y: auto; }
}
@media (max-width: 640px) {
  .io-back-top { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); }
}
