/* Editorial motion. Content is visible without JavaScript or animation support. */
body.flat-blue {
  --motion-editorial: cubic-bezier(.16, 1, .3, 1);
  --motion-feedback: 160ms;
  --motion-surface: 280ms;
}
/* Inline masks keep natural text flow and the original accessible text. */
body.flat-blue .editorial-word-mask {
  display: inline-block;
  clip-path: inset(-.12em -.08em -.14em -.08em);
  vertical-align: baseline;
}
body.flat-blue .editorial-word { display: inline-block; }

/* Timed entrances run to completion; focus never waits for choreography. */
body.flat-blue [data-home-motion-group]:focus-within [data-home-scroll],
body.flat-blue [data-home-motion-group][data-home-scroll]:focus-within {
  opacity: 1 !important;
  translate: none !important;
}
@media print, (prefers-reduced-motion: reduce) {
  body.flat-blue [data-home-scroll], body.flat-blue .home-scroll-word {
    opacity: 1 !important;
    translate: none !important;
  }
}

/* State is owned by Navigation. No outgoing sheet intercepts input or overlaps. */
html body.flat-blue .nav-dropdown.is-open { animation: none !important; }
html body.flat-blue .nav-trigger .chevron {
  transition: transform 220ms var(--motion-editorial) !important;
}
html body.flat-blue .mobile-accordion-trigger .mobile-chevron {
  transition: transform 160ms ease-out !important;
}
html body.flat-blue :is(a.btn, button, input, textarea, select, summary, .nav-link, .svcmenu-item) {
  transition: background-color var(--motion-feedback) ease, color var(--motion-feedback) ease,
    border-color var(--motion-feedback) ease, box-shadow var(--motion-feedback) ease !important;
}
html body.flat-blue :is(input, textarea, select):focus-visible {
  outline: 2px solid #3273b4;
  outline-offset: 3px;
}
html body.flat-blue select {
  --select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%23185bb7' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  appearance: none;
  -webkit-appearance: none;
  background-image: var(--select-chevron) !important;
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 18px 18px;
  padding-right: 44px !important;
  color: #15293e;
  background-color: #f4f8fc;
  border: 1px solid #b8cddd;
  border-radius: 12px;
  cursor: pointer;
}
html body.flat-blue select:hover:not(:disabled) { background-color: #eaf3fa; border-color: #789bbd; }
html body.flat-blue select:disabled { cursor: default; opacity: .6; }

/* Progressive native picker: unsupported browsers retain their native popup. */
@supports (appearance: base-select) {
  html body.flat-blue select,
  html body.flat-blue select::picker(select) { appearance: base-select; }
  html body.flat-blue select { background-image: none !important; padding-right: 14px !important; }
  html body.flat-blue select::picker-icon {
    content: "";
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    align-self: center;
    background: var(--select-chevron) center / 18px 18px no-repeat;
    transition: rotate 220ms var(--motion-editorial);
  }
  html body.flat-blue select:open::picker-icon { rotate: 180deg; }
  html body.flat-blue select::picker(select) {
    background: #fff;
    color: #15293e;
    border: 0;
    border-radius: 16px;
    padding: 8px;
    margin-block: 8px;
    box-shadow: 0 12px 32px -8px rgb(21 41 62 / .24);
    opacity: 1;
    transform: translateY(0);
    transition: opacity 180ms ease, transform 240ms var(--motion-editorial), display 180ms allow-discrete, overlay 180ms allow-discrete;
  }
  @starting-style {
    html body.flat-blue select:open::picker(select) { opacity: 0; transform: translateY(-8px); }
  }
  html body.flat-blue select option { padding: 12px 16px; border-radius: 8px; }
  html body.flat-blue select option:is(:hover, :focus-visible, :checked) { background: #eaf3fa; color: #15293e; }
}
@media (prefers-reduced-motion: reduce) {
  html body.flat-blue.flat-blue.flat-blue.flat-blue summary,
  html body.flat-blue.flat-blue.flat-blue.flat-blue summary::after { transition:none !important; }
  html body.flat-blue :is(.nav-trigger .chevron, .mobile-accordion-trigger .mobile-chevron) { transition: none !important; }
  html body.flat-blue select::picker(select), html body.flat-blue select::picker-icon { transition: none !important; transform: none; }
  html body.flat-blue .editorial-word-mask { clip-path: none; }
}
