/* The original headings remain fully legible without this enhancement. */
.editorial-type[data-reveal], .is-ready .editorial-type[data-reveal]:not(.is-visible) {
  opacity: 1;
  transform: none;
  transition: none;
}
.type-word-mask {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  padding: .08em .025em;
  margin: -.08em -.025em;
}
.type-word { display: inline-block; }
.editorial-type:not(.is-type-visible) .type-word { transform: translate3d(0, 112%, 0); }

/* FAQ numbers and solid diagonal arrows form a readable question index. */
.faq details.faq-enhanced {
  position: relative;
  transition: background .3s, border-color .3s;
}
.faq details.faq-enhanced[data-expanded="true"] {
  background: #ffffff04;
  border-bottom-color: var(--red);
}
.faq .faq-enhanced summary { gap: 16px; }
.faq .faq-enhanced summary > .faq-index {
  font: 10px/1.3 Plex, monospace;
  color: #777872;
  width: 24px;
  flex: 0 0 24px;
  transform: none;
  transition: color .25s;
}
.faq .faq-enhanced summary > .faq-question {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  flex: 1;
  transform: none;
}
.faq .faq-enhanced summary > .faq-toggle {
  color: var(--red);
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  transform: none;
  transition: transform .36s cubic-bezier(.2,.8,.2,1);
}
.faq .faq-toggle svg { width: 100%; height: 100%; }
.faq .faq-enhanced[data-expanded="true"] summary > .faq-toggle { transform: rotate(-90deg); }
.faq .faq-enhanced[data-expanded="true"] summary > .faq-index,
.faq .faq-enhanced summary:hover > .faq-index { color: var(--red); }
.faq-answer { overflow: hidden; }
.faq-answer-inner { padding-left: 40px; }
.faq .faq-answer-inner p { padding-bottom: 25px; }

.mobile-nav { transform-origin: 50% 0; overflow: hidden; }
.menu-toggle > span { transition: transform .35s cubic-bezier(.25,1.7,.5,1); }
.menu-toggle[aria-expanded="true"] > span { transform: rotate(45deg); }

.button > .cta-copy {
  position: relative;
  overflow: hidden;
  display: inline-block;
  font: inherit;
  line-height: 1.35;
}
.cta-copy-primary, .cta-copy-echo {
  display: block;
  transition: transform .35s cubic-bezier(.2,.8,.2,1);
}
.cta-copy-echo { position: absolute; inset: 0; transform: translateY(110%); }
@media (hover: hover) and (pointer: fine) {
  a.button:hover .cta-copy-primary, a.button:focus-visible .cta-copy-primary { transform: translateY(-110%); }
  a.button:hover .cta-copy-echo, a.button:focus-visible .cta-copy-echo { transform: translateY(0); }
}
@media (max-width: 600px) {
  .faq .faq-enhanced summary { gap: 11px; }
  .faq .faq-enhanced summary > .faq-index { width: 20px; flex-basis: 20px; font-size: 8px; }
  .faq .faq-enhanced summary > .faq-toggle { width: 25px; height: 25px; flex-basis: 25px; }
  .faq-answer-inner { padding-left: 31px; }
  .faq .faq-answer-inner p { padding-right: 14px; }
}
html[data-motion="paused"] .editorial-type .type-word { transform: none !important; opacity: 1 !important; }
html[data-motion="paused"] a.button .cta-copy-primary { transform: none !important; }
html[data-motion="paused"] a.button .cta-copy-echo { transform: translateY(110%) !important; }
@media (prefers-reduced-motion: reduce) {
  .editorial-type .type-word { transform: none !important; opacity: 1 !important; }
  a.button .cta-copy-primary { transform: none !important; }
  a.button .cta-copy-echo { transform: translateY(110%) !important; }
}
