/**
 * WordPress and managed-form adapters for the source Contact page.
 */
.contact-page {
  --contact-command-shift: -7px;
}

[dir="ltr"] .contact-page {
  --contact-command-shift: 7px;
}

.contact-page .breadcrumbs {
  inline-size: var(--site-grid);
  margin-inline: auto;
  color: var(--color-text-muted);
}

.contact-page .breadcrumbs__scroller {
  color: inherit;
  font-size: var(--fs-sm);
}

.contact-page .breadcrumbs__scroller a {
  color: var(--color-text);
}

.contact-page .breadcrumbs__scroller a:hover,
.contact-page .breadcrumbs__scroller a:focus-visible {
  color: var(--color-accent);
}

.contact-page .contact-control-layout--single {
  grid-template-columns: minmax(0, 1fr);
}

.contact-page .contact-control-layout--single > * {
  inline-size: min(100%, 840px);
  margin-inline: auto;
}

.contact-page .contact-control-visual > div:last-child {

  inset: auto;
  inset-block-end: clamp(22px, 3vw, 30px);
  inset-inline: clamp(22px, 3vw, 30px);
}

.contact-page .contact-command:hover {
  transform: translateX(var(--contact-command-shift));
}

.contact-page .contact-command:focus-visible,
.contact-page .contact-branch-grid a:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 4px;
}

.contact-page .contact-branch-grid a {
  transition: border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);
}

.contact-page .contact-branch-grid a:hover {
  border-color: var(--color-border-strong);
  background: var(--color-surface);
  transform: translateY(-3px);
}

.contact-page .contact-branch-slides--count-1 img {
  opacity: 1;
  transform: none;
  animation: none;
}

.contact-page .contact-branch-slides--count-2 img {
  animation-name: contactBranchFadeTwo;
  animation-duration: 9s;
}

.contact-page .contact-branch-slides--count-2 img:nth-child(2) {
  animation-delay: 4.5s;
}

.contact-page .contact-branch-slides--count-3 img {
  animation-name: contactBranchFadeThree;
  animation-duration: 13.5s;
}

.contact-page .contact-branch-slides--count-3 img:nth-child(2) {
  animation-delay: 4.5s;
}

.contact-page .contact-branch-slides--count-3 img:nth-child(3) {
  animation-delay: 9s;
}

@keyframes contactBranchFadeTwo {
  0%, 44% { opacity: 1; transform: scale(1); }
  55%, 94% { opacity: 0; transform: scale(1.045); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes contactBranchFadeThree {
  0%, 28% { opacity: 1; transform: scale(1); }
  38%, 94% { opacity: 0; transform: scale(1.045); }
  100% { opacity: 1; transform: scale(1); }
}

.contact-page .contact-lead-section {
  border-block-start: 1px solid var(--color-border);
  background: radial-gradient(circle at 18% 12%, rgba(227, 6, 19, 0.18), transparent 38%), var(--color-background);
}

.contact-page .contact-lead-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: start;
}

.contact-page .contact-lead-layout--single {
  grid-template-columns: minmax(0, 860px);
  justify-content: center;
}

.contact-page :is(.contact-next-steps, .contact-lead-form) {
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: rgba(13, 13, 14, 0.92);
  box-shadow: var(--shadow);
}

.contact-page :is(.contact-next-steps, .contact-lead-form) h2 {
  margin: 0;
  color: var(--color-text);
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: var(--lh-tight);
}

.contact-page .contact-next-steps__list {
  display: grid;
  gap: var(--space-4);
  margin: var(--space-6) 0 0;
  padding: 0;
  list-style: none;
}

.contact-page .contact-next-steps__item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
}

.contact-page .contact-next-steps__item > span {
  display: grid;
  place-items: center;
  inline-size: 48px;
  block-size: 48px;
  border-radius: 50%;
  color: var(--color-quote-text);
  background: var(--color-accent);
  font-weight: 900;
}

.contact-page .contact-next-steps__item strong {
  display: block;
  color: var(--color-text);
  font-size: var(--fs-lead);
}

.contact-page .contact-next-steps__item div div {
  margin-block-start: var(--space-1);
  color: var(--color-text-muted);
  line-height: var(--lh-body);
}

.contact-page .contact-lead-form__heading > div,
.contact-page .contact-lead-form__privacy {
  color: var(--color-text-muted);
  line-height: var(--lh-body);
}

.contact-page .contact-lead-form__heading > div {
  margin-block-start: var(--space-4);
}

.contact-page .contact-lead-form .form-shell {
  margin-block-start: var(--space-6);
}

.contact-page .contact-lead-form .wpcf7-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.contact-page .contact-lead-form .wpcf7-form > p {
  min-inline-size: 0;
  margin: 0;
}

.contact-page .contact-lead-form .wpcf7-form > p:has(textarea),
.contact-page .contact-lead-form .wpcf7-form > p:has(input[type="submit"]),
.contact-page .contact-lead-form :is(.wpcf7-response-output, .wpcf7-spinner) {
  grid-column: 1 / -1;
}

.contact-page .contact-lead-form .wpcf7-form-control-wrap {
  display: block;
  min-inline-size: 0;
}

.contact-page .contact-lead-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea) {
  inline-size: 100%;
  min-block-size: 52px;
  padding: 12px 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  color: var(--color-text);
  background: var(--color-surface-strong);
  font: inherit;
}

.contact-page .contact-lead-form textarea {
  min-block-size: 132px;
  resize: vertical;
}

.contact-page .contact-lead-form :is(input, select, textarea):focus-visible {
  border-color: var(--color-accent);
  outline: 3px solid rgba(255, 204, 0, 0.3);
  outline-offset: 2px;
}

.contact-page .contact-lead-form :is(button, input[type="submit"]) {
  min-block-size: 52px;
  padding-inline: var(--space-6);
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--color-quote-text);
  background: linear-gradient(135deg, var(--color-quote-primary), var(--color-quote-secondary));
  box-shadow: var(--shadow-sm);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.contact-page .contact-lead-form :is(button, input[type="submit"]):hover,
.contact-page .contact-lead-form :is(button, input[type="submit"]):focus-visible {
  filter: brightness(1.06);
  transform: translateY(-2px);
}

.contact-page .contact-lead-form :is(button, input[type="submit"]):disabled,
.contact-page .contact-lead-form .form-shell.is-loading :is(input, select, textarea, button) {
  cursor: wait;
  opacity: 0.62;
}

.contact-page .contact-lead-form :is(.wpcf7-not-valid-tip, .wpcf7-response-output) {
  margin-block-start: var(--space-2);
  color: var(--color-text);
  font-size: var(--fs-sm);
}

.contact-page .contact-lead-form .wpcf7-not-valid-tip {
  color: #ff9299;
}

.contact-page .contact-lead-form .wpcf7-response-output {
  margin-inline: 0;
  padding: var(--space-3) var(--space-4);
  border-color: var(--color-border-strong);
  border-radius: var(--radius-sm);
}

.contact-page .contact-lead-form__privacy {
  margin-block-start: var(--space-4);
  font-size: var(--fs-sm);
}

@media (max-width: 900px) {
  .contact-page .contact-lead-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .contact-page .contact-lead-form .wpcf7-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-page .contact-command {
    grid-template-columns: 48px minmax(0, 1fr) 20px;
    min-block-size: 108px;
    padding-inline: var(--space-4);
  }

  .contact-page .contact-command-icon {
    inline-size: 48px;
    block-size: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-page .contact-command,
  .contact-page .contact-branch-grid a,
  .contact-page .contact-lead-form :is(button, input[type="submit"]) {
    transition: none;
  }

  .contact-page .contact-command:hover,
  .contact-page .contact-branch-grid a:hover,
  .contact-page .contact-lead-form :is(button, input[type="submit"]):hover {
    transform: none;
  }
}
