/* Structural extensions only. Original production design lives in inbound.css
   and typography.css, which stay unchanged. wf-* names are interaction hooks. */
.wf-chrome {
  position: relative;
}
.wf-header {
  position: relative;
  z-index: 50;
}
.wf-header .wf-button {
  white-space: nowrap;
}
.wf-menu[hidden] {
  display: none !important;
}
.wf-dropdown {
  position: relative;
}
.wf-dropdown summary {
  cursor: pointer;
  list-style: none;
  padding: 12px 15px 12px 0;
  position: relative;
}
.wf-dropdown summary::-webkit-details-marker {
  display: none;
}
.wf-dropdown summary::after {
  content: "";
  width: 5px;
  height: 5px;
  border-right: 1px solid;
  border-bottom: 1px solid;
  position: absolute;
  right: 1px;
  top: 19px;
  transform: rotate(45deg);
}
.wf-dropdown[open] summary::after {
  transform: rotate(225deg);
  top: 22px;
}
.wf-dropdown-panel {
  position: absolute;
  left: -20px;
  top: 100%;
  min-width: 285px;
  background: var(--rb-paper);
  border: 1px solid var(--rb-line);
  border-radius: 6px;
  padding: 12px;
}
.rb-page .wf-dropdown-panel a {
  display: block;
  padding: 10px 12px;
  font-size: 14px;
}
.wf-dropdown-panel a:hover {
  background: var(--rb-soft);
}
/* With more destinations the original navigation needs an earlier collapse. */
@media (min-width: 961px) {
  .rb-page .wf-menu {
    display: none;
  }
}
@media (max-width: 960px) {
  .rb-page .wf-nav {
    flex-wrap: wrap;
    gap: 0;
  }
  .rb-page .wf-menu:not([hidden]) {
    display: block;
    background: transparent;
    border: 1px solid var(--rb-line);
    border-radius: 4px;
    padding: 9px 14px;
    min-height: 44px;
    color: var(--rb-ink);
    cursor: pointer;
  }
  .rb-page .wf-navigation {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px 0 20px;
  }
  .wf-header.wf-ready .wf-navigation:not(.is-open) {
    display: none;
  }
  .wf-header .wf-navigation.is-open,
  .wf-header:not(.wf-ready) .wf-navigation {
    display: flex;
  }
  .rb-page .wf-navigation > a {
    padding: 12px;
    font-size: 15px;
  }
  .wf-dropdown summary {
    padding-block: 14px;
    font-size: 15px;
  }
  .wf-dropdown-panel {
    position: static;
    border: 0;
    border-left: 1px solid var(--rb-line);
    border-radius: 0;
    margin-bottom: 12px;
  }
}
/* Preserve the original hero, proof-panel, trustline and alternating bands. */
.wf-principles {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  color: var(--rb-muted);
  font-size: 13px;
}
.rb-page .wf-principles li {
  margin: 0;
}
.wf-hero-visual {
  min-width: 0;
}
.wf-workflow-foot {
  flex-wrap: wrap;
  color: var(--rb-muted);
}
.rb-page .wf-trust-strip a {
  text-decoration: none;
}
.wf-section-link {
  margin-top: 32px;
}
.rb-page .wf-grid-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.wf-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.wf-card > p {
  color: var(--rb-muted);
}
.wf-card > .wf-text-link {
  margin-top: auto;
}
.wf-friction .wf-card {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}
.wf-solution-card dl {
  margin: 0 0 24px;
}
.wf-solution-card dt {
  font-size: 12px;
  font-weight: 700;
  color: var(--rb-accent);
  margin-bottom: 6px;
}
.wf-solution-card dd {
  margin: 0 0 20px;
  color: var(--rb-muted);
}
.wf-solution-card dd:last-child {
  color: var(--rb-ink);
  margin-bottom: 0;
}
.wf-commitment {
  border-top: 1px solid var(--rb-line);
  padding-top: 24px;
}
/* A workflow is new content inside the existing window/card components. */
.wf-process {
  margin: 0;
}
.wf-process figcaption {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.wf-process figcaption > span {
  color: var(--rb-muted);
  font-weight: 400;
}
.wf-process ol {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.rb-page .wf-process li {
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid var(--rb-line);
  display: flex;
  gap: 14px;
  align-items: center;
  min-width: 0;
}
.wf-step-number {
  font-size: 12px;
  font-weight: 700;
  color: var(--rb-accent);
}
.wf-human {
  background: var(--rb-soft);
}
.rb-page .wf-process-compact figcaption {
  margin: 0;
}
.rb-page .wf-process-compact ol {
  grid-template-columns: 1fr;
  gap: 0;
  padding: 20px 26px;
}
.wf-process-compact li {
  font-size: 14px;
  font-weight: 600;
}
.rb-page .wf-process-compact .wf-human {
  padding-inline: 12px;
}
.wf-process-note {
  color: var(--rb-muted);
  font-size: 12px;
  line-height: 1.6;
  margin: 20px 0 0 !important;
}
.wf-process-compact .wf-process-note {
  padding: 0 26px 20px;
  margin: 0 !important;
}
/* Detail pages follow the existing page-hero, split and step patterns. */
.wf-page-hero {
  padding: 75px 0 55px;
}
.wf-page-hero h1 {
  max-width: 810px;
}
.wf-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 13px;
  color: var(--rb-muted);
  margin-bottom: 24px;
}
.wf-breadcrumb a {
  text-decoration: none;
}
.wf-flow-wide {
  margin-bottom: 55px;
}
.wf-detail-grid {
  border-top: 1px solid var(--rb-line);
  padding-block: 30px;
}
.wf-detail-grid p,
.wf-list {
  color: var(--rb-muted);
}
.wf-list {
  margin: 0;
  padding-left: 20px;
}
.rb-page .wf-detail-grid h2 {
  font-size: 36px;
}
.wf-faq {
  max-width: 900px;
}
.wf-digital-strip .wf-wrap {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 80px;
  align-items: center;
}
.wf-digital-strip .wf-wrap > div:last-child {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
}
.wf-contact-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.wf-contact-grid aside {
  grid-column: 1;
  grid-row: 1;
}
.wf-contact-form {
  grid-column: 2;
  grid-row: 1;
}
.wf-contact-steps {
  color: var(--rb-muted);
  padding-left: 20px;
}
.wf-contact-grid aside > p {
  color: var(--rb-muted);
}
.wf-contact-grid aside > .wf-text-link {
  display: block;
  width: fit-content;
  margin-bottom: 16px;
}
.rb-page .wf-contact-form .rb-consent-field {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.rb-page .wf-contact-form .rb-consent-field input {
  flex: 0 0 20px;
  width: 20px;
  min-height: 20px;
  height: 20px;
  margin-top: 3px;
  padding: 0;
  accent-color: var(--rb-accent);
}
.rb-page .wf-contact-form .rb-consent-field span {
  color: var(--rb-ink);
  font-size: 14px;
  line-height: 1.6;
}
.wf-contact-form input,
.wf-contact-form select,
.wf-contact-form textarea {
  max-width: 100%;
  min-width: 0;
}
.wf-contact-form fieldset {
  max-width: 100%;
}
.rb-page .wf-footer-subheading {
  margin-top: 30px;
}
.wf-footer .wf-text-link span {
  display: none;
}
@media (max-width: 960px) {
  .wf-digital-strip .wf-wrap {
    gap: 40px;
  }
}
@media (max-width: 760px) {
  .rb-page .wf-grid-4 {
    grid-template-columns: 1fr;
  }
  .wf-page-hero {
    padding: 48px 0 36px;
  }
  .wf-process ol {
    grid-template-columns: 1fr;
  }
  .wf-process figcaption {
    flex-direction: column;
  }
  .wf-digital-strip .wf-wrap {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .wf-digital-strip .wf-wrap > div:last-child {
    align-items: stretch;
    flex-direction: column;
  }
  .wf-contact-grid aside,
  .wf-contact-form {
    grid-column: auto;
    grid-row: auto;
  }
  .wf-contact-form {
    order: 2;
  }
}

/* Footer destinations were plain, regular-weight links on the original site. */
.wf-footer .wf-text-link {
  font-weight: inherit;
}
