/* Button hover A: shared by content CTAs, recruitment and the contact form. */
.paint-button {
  --paint-fill: #151714;
  --paint-ink: #f8f5f0;
  --paint-arrow-fill: #a58a5d;
  --paint-arrow-ink: #fff;
  --paint-arrow-over-fill: #d1ae70;
  --paint-arrow-over-ink: #151714;
  --paint-duration: .42s;
  --paint-ease: cubic-bezier(.22, 1, .36, 1);
  --paint-arrow-exit: 150%;
  --paint-arrow-entry: -150%;
  --paint-arrow-out-transform: translateX(var(--paint-arrow-exit));
  --paint-arrow-in-transform: translateX(var(--paint-arrow-entry));
  position: relative;
  isolation: isolate;
  overflow: hidden;
  touch-action: manipulation;
  transition: border-color var(--paint-duration) var(--paint-ease);
}
.paint-button--gold {
  --paint-fill: #d1ae70;
  --paint-ink: #151714;
  --paint-arrow-fill: #d1ae70;
  --paint-arrow-ink: #151714;
  --paint-arrow-over-fill: #151714;
  --paint-arrow-over-ink: #d1ae70;
}
.paint-button--back {
  --paint-arrow-exit: -150%;
  --paint-arrow-entry: 150%;
}
/* The shared desktop header contact uses the same paint wipe on every page. */
.site-header .header-contact.paint-button {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  transition: border-color var(--paint-duration) var(--paint-ease);
}
/* Keep the header's small triangle while sharing the content buttons' paint layer. */
.site-header .header-contact.paint-button > .paint-button__arrow,
.site-header .header-contact.paint-button > .paint-button__cover > .paint-button__arrow {
  flex: 0 0 .6em;
  width: .6em;
  min-width: .6em;
  height: 1.5em;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
}
.site-header .header-contact.paint-button .paint-button__glyph {
  margin: 0;
  font-size: 0;
  line-height: 0;
}
/* The font's triangle sits below its line center; use identical centered shapes on both layers. */
.site-header .header-contact.paint-button .paint-button__glyph::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 7px;
  background: currentColor;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transform: translate(-50%, -50%);
}
/* These overrides also prevent inherited hover underlines and the old arrow nudge. */
.paint-button.paint-button:hover { text-decoration: none; background: var(--paint-base-fill, transparent); }
.paint-button.form-primary:hover { background: #191b1a; }
.contact__action .paint-button.pill:hover { background: var(--paint-base-fill, #050605dc); }
.paint-button.paint-button > .paint-button__label,
.paint-button__cover > .paint-button__label {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
.paint-button > .paint-button__label > span,
.paint-button__cover > .paint-button__label > span { color: inherit; }
.paint-button.paint-button > .paint-button__arrow,
.paint-button__cover > .paint-button__arrow {
  position: relative;
  display: block;
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  min-width: 26px;
  overflow: hidden;
  border-radius: 50%;
  margin: 0;
  padding: 0;
  background: var(--paint-arrow-fill);
  color: var(--paint-arrow-ink);
  font: 18px/1 Georgia, serif;
  letter-spacing: 0;
  transform: none;
}
.paint-button__glyph {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: inherit;
  transition: transform var(--paint-duration) var(--paint-ease);
}
.paint-button__glyph--in { transform: var(--paint-arrow-in-transform); }
.paint-button.paint-button > .paint-button__cover {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: inherit;
  align-items: inherit;
  justify-content: inherit;
  gap: inherit;
  padding: inherit;
  margin: 0;
  border-radius: inherit;
  background: var(--paint-fill);
  color: var(--paint-ink);
  font: inherit;
  letter-spacing: inherit;
  text-align: inherit;
  pointer-events: none;
  opacity: 1; /* CF7 dims [inert] fields; this inert layer is only decoration. */
  clip-path: inset(0 100% 0 0);
  transition: clip-path var(--paint-duration) var(--paint-ease);
}
.paint-button__cover > .paint-button__arrow {
  color: var(--paint-arrow-over-ink);
  background: var(--paint-arrow-over-fill);
}
.paint-button:where(:focus-visible, :has(> input:focus-visible)):not(:disabled, [aria-disabled="true"], :has(> input:disabled)) > .paint-button__cover {
  clip-path: inset(0);
}
.paint-button:where(:focus-visible, :has(> input:focus-visible)):not(:disabled, [aria-disabled="true"], :has(> input:disabled)) .paint-button__glyph--out { transform: var(--paint-arrow-out-transform); }
.paint-button:where(:focus-visible, :has(> input:focus-visible)):not(:disabled, [aria-disabled="true"], :has(> input:disabled)) .paint-button__glyph--in { transform: translateX(0); }
/* A card has one native link; its nested visual button follows that link's focus. */
.paint-button-card:focus-visible .paint-button > .paint-button__cover { clip-path: inset(0); }
.paint-button-card:focus-visible .paint-button .paint-button__glyph--out { transform: var(--paint-arrow-out-transform); }
.paint-button-card:focus-visible .paint-button .paint-button__glyph--in { transform: translateX(0); }
@media (hover: hover) and (pointer: fine) {
  .paint-button:hover:not(:disabled, [aria-disabled="true"], :has(> input:disabled)) > .paint-button__cover { clip-path: inset(0); }
  .paint-button:hover:not(:disabled, [aria-disabled="true"], :has(> input:disabled)) .paint-button__glyph--out { transform: var(--paint-arrow-out-transform); }
  .paint-button:hover:not(:disabled, [aria-disabled="true"], :has(> input:disabled)) .paint-button__glyph--in { transform: translateX(0); }
  .paint-button-card:hover .paint-button > .paint-button__cover { clip-path: inset(0); }
  .paint-button-card:hover .paint-button .paint-button__glyph--out { transform: var(--paint-arrow-out-transform); }
  .paint-button-card:hover .paint-button .paint-button__glyph--in { transform: translateX(0); }
}
/* Hold the painted state independently from :active on iOS Safari. */
@media (hover: none) and (pointer: coarse) {
  .paint-button.is-touch-pressed:not(:disabled, [aria-disabled="true"], :has(> input:disabled)) > .paint-button__cover,
  .paint-button-card.is-touch-pressed .paint-button > .paint-button__cover { clip-path: inset(0); }
  .paint-button.is-touch-pressed:not(:disabled, [aria-disabled="true"], :has(> input:disabled)) .paint-button__glyph--out,
  .paint-button-card.is-touch-pressed .paint-button .paint-button__glyph--out { transform: var(--paint-arrow-out-transform); }
  .paint-button.is-touch-pressed:not(:disabled, [aria-disabled="true"], :has(> input:disabled)) .paint-button__glyph--in,
  .paint-button-card.is-touch-pressed .paint-button .paint-button__glyph--in { transform: translateX(0); }
}
/* Company links share the paint timing, with direction matching each destination. */
.company-work-links .paint-button {
  --paint-arrow-out-transform: translate(150%, -150%);
  --paint-arrow-in-transform: translate(-150%, 150%);
}
.company-work-links .paint-button__arrow {
  flex: 0 0 18px;
  width: 18px;
  height: 22px;
  min-width: 18px;
  border-radius: 0;
  background: transparent;
  color: var(--gold-ink);
  font-size: 18px;
}
.company-work-links .paint-button__cover > .paint-button__arrow { background: transparent; color: #151714; }
.company-access .access-phone.paint-button { --paint-fill: transparent; --paint-ink: #946820; }
/* Keep the original CF7 input node, its listeners, accessible name and native submission. */
.paint-button--submit { vertical-align: middle; }
.paint-button--submit > input.form-primary {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  cursor: inherit;
}
.paint-button--submit:has(> input:focus-visible) { outline: 2px solid var(--gold-bright); outline-offset: 6px; }
.paint-button--submit:has(> input:disabled) { opacity: .55; cursor: wait; }
@media (max-width: 699px) {
  .paint-button.paint-button > .paint-button__arrow,
  .paint-button__cover > .paint-button__arrow { width: 24px; height: 24px; min-width: 24px; flex-basis: 24px; font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .paint-button,
  .paint-button > .paint-button__cover,
  .paint-button .paint-button__glyph { transition: none; }
}
