/* Shared widget shell. 12-column canvas: 90px cols, 24px gutters, 48px margins.
   Hover colour, scale, and animation are set in each widget's Elementor Style tab. */

.tc-w {
  display: block;
  width: 100%;
  box-sizing: border-box;
}

.tc-w *,
.tc-w *::before,
.tc-w *::after {
  box-sizing: border-box;
}

.tc-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--tc-gutter, 24px);
}

.tc-read {
  max-width: var(--tc-read, 432px);
}

.tc-w img {
  transform-origin: center center;
}

.tc-w-cta__open,
.tc-w-cta__form-btn,
.tc-w-intro__btn,
.tc-w-split__btn,
.tc-w-btn,
.tc-w-chosen__btn,
.tc-w-chosen__form-btn,
.tc-w-marquee__back,
.tc-w-marquee__next,
.tc-w-clients__btn,
.tc-w-offices__btn,
.tc-w-report__open,
.tc-w-report__back,
.tc-w-report__next,
.tc-w-report__submit,
.tc-w-report__view,
.tc-w-reports__submit,
.tc-w-reports__view,
.tc-w-promo__btn,
.tc-w-form__btn,
.tc-w-adv__btn,
.tc-w-scatter__pill,
.tc-w-work__filter,
.tc-w-work__more,
.tc-w-insights__filter,
.tc-w-quotes__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 16px;
  border: 1px solid currentColor;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  overflow: visible;
  transform-origin: center;
  transition:
    transform 180ms ease-out,
    background 180ms,
    color 180ms,
    border-color 180ms;
}

/* retriva.html "Read the report" rollover: the pill grows (Style → Hover scale) while its label
   is scaled back, so the text keeps its size. --tc-h-scale comes from the Hover scale control. */
.tc-btn-label {
  display: inline-block;
  transition: transform 180ms ease-out;
}

:is(a, button, span):is(:hover, :focus-visible) > .tc-btn-label {
  transform: scale(calc(1 / var(--tc-h-scale, 1)));
}

/* Optional button icon (Content → "… icon"); size, spacing and colour come from the button's Style section. */
.tc-btn-icon {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  font-size: 1em;
  line-height: 1;
  transition: transform 180ms ease-out, color 180ms;
}

.tc-btn-icon--before {
  margin-inline-end: var(--tc-btn-icon-gap, 8px);
}

.tc-btn-icon--after {
  margin-inline-start: var(--tc-btn-icon-gap, 8px);
}

.tc-btn-icon svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
}
.tc-w-cta__close svg, .tc-w-chosen__close svg {
  width: 44px;
  line-height: 100%;
  height: 44px;
  fill:none;
}
:is(a, button, span):is(:hover, :focus-visible) > .tc-btn-icon {
  transform: scale(calc(1 / var(--tc-h-scale, 1)));
}

/* Image scroll parallax (frontend/motion.js): the image moves inside a fixed crop. */
[data-tc-parallax]:not([data-tc-parallax="0"]) {
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .tc-btn-label,
  .tc-btn-icon {
    transition: none;
    transform: none !important;
  }

  .tc-w-report__open:hover,
  .tc-w-report__back:hover,
  .tc-w-report__next:hover,
  .tc-w-report__submit:hover,
  .tc-w-report__view:hover,
  .tc-w-promo__btn:hover {
    transform: none !important;
  }
}

.tc-w a:focus-visible,
.tc-w button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

/* Links typed in the WYSIWYG body copy take the text colour, not the browser blue. */
.tc-w :is(.tc-w-split__text, .tc-w-why__col p, .tc-w-gallery__text, .tc-w-quote__text, .tc-w-intro__text, .tc-w-loop__text, .tc-w-hero__text, .tc-w-sectors__text, .tc-w-scatter__text) a,
.tc-w :is(.tc-w-split__text, .tc-w-why__col p, .tc-w-gallery__text, .tc-w-quote__text, .tc-w-intro__text, .tc-w-loop__text, .tc-w-hero__text, .tc-w-sectors__text, .tc-w-scatter__text) a:is(:hover, :focus, :active, :visited) {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Article share icons and back / next links (Article Hero, Article Meta).
   article.html: 44px round share buttons with 21px icons; links turn red over .15s.
   Style defaults use :where() so every Elementor Style control can override them. */
.tc-art-share {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--tc-share-label-gap, 12px);
}

.tc-art-share--label-left,
.tc-art-share--label-right {
  flex-direction: row;
  align-items: center;
}

.tc-art-share--label-right .tc-art-share__label {
  order: 2;
}

.tc-art-share__label {
  margin: 0;
}

.tc-art-share__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--tc-share-gap, 0px);
}

.tc-art-share__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--tc-share-size, 44px);
  height: var(--tc-share-size, 44px);
  border-radius: 100px;
  color: #262626;
  font-size: var(--tc-share-icon, 21px);
  line-height: 1;
  text-decoration: none;
  transition:
    color 0.15s ease-in-out,
    background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out,
    transform 0.18s ease-out;
}

.tc-art-share__btn svg,
.tc-art-share__btn i {
  width: var(--tc-share-icon, 21px);
  height: var(--tc-share-icon, 21px);
  font-size: var(--tc-share-icon, 21px);
  fill: currentColor;
}

:where(.tc-art-share__btn):is(:hover, :focus-visible) {
  color: #f44349;
}

.tc-art-nav {
  display: flex;
  /* flex-wrap: wrap; */
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
}

.tc-art-nav__link {
  display: inline-flex;
  align-items: center;
  gap: var(--tc-nav-icon-gap, 8px);
  color: #262626;
  text-decoration: none;
  white-space: nowrap;
  transform-origin: center;
  transition:
    color 0.15s ease-in-out,
    background-color 0.18s ease-out,
    border-color 0.18s ease-out,
    transform 0.18s ease-out;
}

.tc-art-nav__icon {
  display: inline-flex;
  font-size: var(--tc-nav-icon, 1em);
  line-height: 1;
}

.tc-art-nav__icon svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
}

.tc-art-nav--text :where(.tc-art-nav__link):is(:hover, :focus-visible) {
  color: #f44349;
}

.tc-art-nav--pill :where(.tc-art-nav__link),
.tc-art-nav--solid :where(.tc-art-nav__link) {
  padding: 6px 16px;
  border: 1px solid currentColor;
  border-radius: 999px;
}

.tc-art-nav--solid :where(.tc-art-nav__link) {
  background-color: #262626;
  border-color: #262626;
  color: #fff9f5;
}

.tc-art-nav--pill :where(.tc-art-nav__link:is(:hover, :focus-visible)),
.tc-art-nav--solid :where(.tc-art-nav__link:is(:hover, :focus-visible)) {
  background-color: #f44349;
  border-color: #f44349;
  color: #262626;
  transform: scale(1.05);
}

.tc-art-nav--pill :where(.tc-art-nav__link) > *,
.tc-art-nav--solid :where(.tc-art-nav__link) > * {
  transition: transform 180ms ease-out;
}

.tc-art-nav--pill :where(.tc-art-nav__link:is(:hover, :focus-visible)) > *,
.tc-art-nav--solid :where(.tc-art-nav__link:is(:hover, :focus-visible)) > * {
  transform: scale(calc(1 / var(--tc-h-scale, 1.05)));
}

@media (prefers-reduced-motion: reduce) {
  .tc-art-share__btn,
  .tc-art-nav__link {
    transition: none;
  }

  .tc-art-nav :where(.tc-art-nav__link:hover),
  .tc-art-nav :where(.tc-art-nav__link:hover) > * {
    transform: none;
  }
}

/* Shared form parts (Contact Form, Contact CTA, Report Download). Colours and type come from Style controls. */
.tc-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  clip-path: inset(50%);
  pointer-events: none;
}

.tc-form__agree {
  position: relative;
  display: inline-flex;
  cursor: pointer;
}

.tc-form__agree input:focus-visible + span {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.tc-form__agree .is-agreed::after {
  content: "\2713";
  margin-left: 8px;
}

.tc-form__honeypot {
  position: absolute;
  left: -9999px;
  height: 0;
  overflow: hidden;
}

/* Field rows the server rejected (forms.js sets aria-invalid). */
.tc-w label:has(> [aria-invalid="true"]) {
  border-bottom-color: #f44349;
}

.tc-w form.is-sending {
  cursor: progress;
}

/* Banner tiles + Work filters use their own focus rings (no cream border). */
.tc-w-scatter--word .tc-w-scatter__tile:focus-visible,
.tc-w-work__filter:focus-visible {
  outline-color: #f44349;
}


/* Content align (shared — matches banner Content align control).
   Center and right use flex on the stack, not a fixed offset. */
.tc-w[data-tc-align="center"] {
  text-align: center;
}

.tc-w[data-tc-align="right"] {
  text-align: right;
}

.tc-w[data-tc-align="center"] .tc-align-block {
  margin-left: auto;
  margin-right: auto;
}

.tc-w[data-tc-align="right"] .tc-align-block {
  margin-left: auto;
}

.tc-w[data-tc-align="center"] .tc-align-stack,
.tc-w-intro[data-tc-align="center"],
.tc-w-cta[data-tc-align="center"] .tc-w-cta__panel,
.tc-w-hero--center .tc-w-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.tc-w[data-tc-align="right"] .tc-align-stack {
  align-items: flex-end;
  text-align: right;
}

.tc-w[data-tc-align="left"] .tc-align-stack {
  align-items: flex-start;
  text-align: left;
}


/* Section content stacks / headings respond to Content align */
.tc-w[data-tc-align="center"] :is(
  .tc-w-quote__text,
  .tc-w-loop__kicker,
  .tc-w-loop__heading,
  .tc-w-loop__intro,
  .tc-w-why__title,
  .tc-w-cta__title,
  .tc-w-split__title,
  .tc-w-split__text,
  .tc-w-split__kicker,
  .tc-w-intro__title,
  .tc-w-intro__text,
  .tc-w-intro__kicker,
  .tc-w-stats__heading,
  .tc-w-story__statement,
  .tc-w-clients__title,
  .tc-w-adv__title,
  .tc-w-process__title,
  .tc-w-report__title,
  .tc-w-promo__title,
  .tc-w-promo__subtitle,
  .tc-w-promo__kicker,
  .tc-w-sectors__title,
  .tc-w-offices__title,
  .tc-w-insights__title,
  .tc-w-gallery__title,
  .tc-w-cols__title,
  .tc-w-work__title,
  .tc-w-scatter__title,
  .tc-w-scatter__text,
  .tc-w-chosen__title
) {
  margin-left: auto;
  margin-right: auto;
}

.tc-w[data-tc-align="right"] :is(
  .tc-w-quote__text,
  .tc-w-loop__kicker,
  .tc-w-loop__heading,
  .tc-w-loop__intro,
  .tc-w-why__title,
  .tc-w-cta__title,
  .tc-w-split__title,
  .tc-w-split__text,
  .tc-w-split__kicker,
  .tc-w-intro__title,
  .tc-w-intro__text,
  .tc-w-intro__kicker,
  .tc-w-stats__heading,
  .tc-w-story__statement,
  .tc-w-clients__title,
  .tc-w-adv__title,
  .tc-w-process__title,
  .tc-w-report__title,
  .tc-w-promo__title,
  .tc-w-promo__subtitle,
  .tc-w-promo__kicker,
  .tc-w-sectors__title,
  .tc-w-offices__title,
  .tc-w-insights__title,
  .tc-w-gallery__title,
  .tc-w-cols__title,
  .tc-w-work__title,
  .tc-w-scatter__title,
  .tc-w-scatter__text,
  .tc-w-chosen__title
) {
  margin-left: auto;
}

.tc-w-cta[data-tc-align="left"] .tc-w-cta__panel,
.tc-w-cta[data-tc-align="right"] .tc-w-cta__panel,
.tc-w-cta[data-tc-align="center"] .tc-w-cta__panel {
  align-items: inherit;
  text-align: inherit;
}

.tc-w-cta[data-tc-align="left"] .tc-w-cta__panel {
  align-items: flex-start;
  text-align: left;
}

.tc-w-cta[data-tc-align="right"] .tc-w-cta__panel {
  align-items: flex-end;
  text-align: right;
}

.tc-w-cta[data-tc-align="center"] .tc-w-cta__panel {
  align-items: center;
  text-align: center;
}

.tc-w-split[data-tc-align="center"] .tc-w-split__copy,
.tc-w-split[data-tc-align="center"] .tc-w-split__intro {
  text-align: center;
}

.tc-w-split[data-tc-align="center"] .tc-w-split__btn {
  align-self: center;
  margin-left: auto;
  margin-right: auto;
}

.tc-w-split[data-tc-align="right"] .tc-w-split__copy,
.tc-w-split[data-tc-align="right"] .tc-w-split__intro {
  text-align: right;
}

.tc-w-split[data-tc-align="right"] .tc-w-split__btn {
  align-self: flex-end;
  margin-left: auto;
}

.tc-w-quote[data-tc-align="center"] .tc-w-quote__text,
.tc-w-quote[data-tc-align="center"] footer {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.tc-w-quote[data-tc-align="right"] .tc-w-quote__text,
.tc-w-quote[data-tc-align="right"] footer {
  text-align: right;
  margin-left: auto;
}

.tc-w-why[data-tc-align="center"] .tc-w-why__layout {
  justify-content: center;
}

.tc-w-why[data-tc-align="right"] .tc-w-why__layout {
  justify-content: flex-end;
}

.tc-w-loop[data-tc-align="center"] .tc-w-loop__track {
  margin-left: auto;
  margin-right: auto;
}

/* Saved Elementor form shown inside a theme form widget (Contact CTA, Contact Form → Form: Elementor form).
   --themed restyles Elementor Pro's Form like the theme rows; fonts, colours and sizes then come from the
   widget's Style tab. !important only where Elementor's form, container or kit CSS would otherwise win.
   Widgets tune spacing with --tc-embed-label, --tc-embed-row-min, --tc-embed-row-pad, --tc-embed-message-min,
   --tc-embed-privacy-gap, --tc-embed-line, --tc-embed-line-size, --tc-embed-row-gap, --tc-embed-row-pad-bottom,
   --tc-embed-link-weight, --tc-embed-ink (text / outline colour). */
.tc-form-embed-empty {
  padding: 24px;
  border: 1px dashed currentColor;
  text-align: center;
  opacity: 0.7;
}

.tc-form-embed--themed :is(.e-con, .e-con-inner) {
  --padding-top: 0 !important;
  --padding-right: 0 !important;
  --padding-bottom: 0 !important;
  --padding-left: 0 !important;
  --gap: 0px !important;
  --row-gap: 0px !important;
  --column-gap: 0px !important;
}

.tc-form-embed--themed .elementor-element-populated,
.tc-form-embed--themed .elementor-widget-form > .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}

.tc-form-embed--themed .elementor-form-fields-wrapper {
  margin: 0 !important;
}

.tc-form-embed--themed .elementor-field-group {
  margin-top: 0;
  margin-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.tc-form-embed--themed .elementor-field-group:not(.elementor-field-type-submit, .elementor-field-type-acceptance, .elementor-field-type-html, .elementor-field-type-hidden, .elementor-field-type-step) {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--tc-embed-row-gap, 24px);
  align-items: flex-end;
  min-height: var(--tc-embed-row-min, 72px);
  padding-top: var(--tc-embed-row-pad, 20px);
  padding-bottom: var(--tc-embed-row-pad-bottom, 8px);
  border-bottom: var(--tc-embed-line-size, 1px) solid var(--tc-embed-line, var(--tangerine-cream, #fff9f5));
}

.tc-form-embed--themed .elementor-field-group > .elementor-field-label {
  flex: none;
  width: var(--tc-embed-label, var(--tc-col, 90px));
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: 15px;
  line-height: 21px;
  letter-spacing: -0.06em;
  text-transform: uppercase;
  color: var(--tc-embed-ink, #fff9f5);
}

.tc-form-embed--themed .elementor-field-group .elementor-field,
.tc-form-embed--themed .elementor-field-group .elementor-select-wrapper select {
  flex: 1;
  width: auto;
  min-width: 0;
  min-height: 0;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  outline: none;
  box-shadow: none !important;
  resize: none;
  background: transparent !important;
  color: var(--tc-embed-ink, #fff9f5);
  font-family: inherit;
  font-size: 40px;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.tc-form-embed--themed .elementor-field-group .elementor-select-wrapper {
  flex: 1;
  min-width: 0;
}

.tc-form-embed--themed .elementor-field-group .elementor-select-wrapper::before {
  color: inherit;
}

.tc-form-embed--themed .elementor-field-group .elementor-field::placeholder {
  color: inherit;
  opacity: var(--tc-embed-ph-opacity, 0.5);
}

.tc-form-embed--themed .elementor-field-type-textarea {
  min-height: var(--tc-embed-message-min, 140px);
  align-items: flex-start !important;
}

/* HTML field = the privacy line. */
.tc-form-embed--themed .elementor-field-type-html {
  margin-top: var(--tc-embed-privacy-gap, 40px);
  text-align: right;
  color: var(--tc-embed-ink, #fff9f5);
  font-size: 12px;
  line-height: 18px;
}

.tc-form-embed--themed .elementor-field-type-html p {
  margin: 0;
}

.tc-form-embed--themed .elementor-field-type-html a {
  color: inherit;
  font-weight: var(--tc-embed-link-weight, 700);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Acceptance + Submit share the last row, right-aligned; Acceptance becomes the consent pill. */
.tc-form-embed--themed .elementor-field-type-acceptance,
.tc-form-embed--themed .elementor-field-type-submit {
  display: flex;
  align-items: center;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 100%;
  padding-top: 16px;
}

.tc-form-embed--themed .elementor-field-type-acceptance {
  margin-left: auto !important;
}

.tc-form-embed--themed .elementor-field-type-submit {
  justify-content: flex-end !important;
  gap: 16px;
  margin-left: auto !important;
}

.tc-form-embed--themed .elementor-field-type-acceptance ~ .elementor-field-type-submit {
  margin-left: 16px !important;
}

.tc-form-embed--themed .elementor-field-type-acceptance > .elementor-field-label {
  display: none;
}

.tc-form-embed--themed .elementor-field-type-hidden {
  display: none !important;
}

.tc-form-embed--themed .elementor-field-type-acceptance .elementor-field-subgroup,
.tc-form-embed--themed .elementor-field-type-acceptance .elementor-field-option {
  display: inline-flex;
  position: relative;
  margin: 0;
  padding: 0;
}

.tc-form-embed--themed .elementor-field-type-acceptance .elementor-field-option input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  opacity: 0;
  pointer-events: none;
}

.tc-form-embed--themed .elementor-field-group .elementor-button,
.tc-form-embed--themed .elementor-field-type-acceptance .elementor-field-option label {
  display: inline-flex;
  align-items: center;
  flex-basis: auto !important;
  width: auto;
  min-height: 0;
  margin: 0;
  background: transparent;
  color: var(--tc-embed-ink, #fff9f5);
  border: 1px solid var(--tc-embed-ink, #fff9f5);
  border-radius: 999px;
  padding: 6px 16px;
  font-size: inherit;
  line-height: inherit;
  text-transform: uppercase;
  cursor: pointer;
  transform-origin: center;
  transition:
    transform 180ms ease-out,
    background 180ms,
    color 180ms,
    border-color 180ms;
}

/* Beats the Form widget's own button colours (global accent, white text); each widget's Style tab still wins. */
.tc-form-embed.tc-form-embed--themed .elementor-form .elementor-field-group .elementor-button[type="submit"] {
  min-height: 0;
  height: auto;
  background-color: transparent;
  background-image: none;
  color: var(--tc-embed-ink, #fff9f5);
  border: 1px solid var(--tc-embed-ink, #fff9f5);
  border-radius: 999px;
  padding: 6px 16px;
}

.tc-form-embed.tc-form-embed--themed .elementor-form .elementor-field-group .elementor-button[type="submit"]:is(:hover, :focus-visible) {
  background-color: #f44349;
  color: #262626;
  border-color: #f44349;
}

.tc-form-embed--themed .elementor-field-type-acceptance input:checked + label {
  background: var(--tangerine-cream, #fff9f5);
  color: var(--tangerine-charcoal, #262626);
  border-color: var(--tangerine-cream, #fff9f5);
}

.tc-form-embed--themed .elementor-field-type-acceptance input:checked + label::after {
  content: "\2713";
  margin-left: 8px;
}

.tc-form-embed--themed .elementor-field-type-acceptance input:focus-visible + label {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.tc-form-embed--themed .elementor-field-group .elementor-button:is(:hover, :focus-visible),
.tc-form-embed--themed .elementor-field-type-acceptance .elementor-field-option label:hover {
  transform: scale(1.05);
  background: #f44349;
  color: #262626;
  border-color: #f44349;
}

.tc-form-embed--themed .elementor-message {
  margin: 16px 0 0;
  color: var(--tc-embed-ink, #fff9f5);
  text-align: right;
}

.tc-form-embed--themed .elementor-message::before {
  display: none;
}

@media (max-width: 900px) {
  .tc-form-embed--themed .elementor-field-group:not(.elementor-field-type-submit, .elementor-field-type-acceptance, .elementor-field-type-html, .elementor-field-type-hidden, .elementor-field-type-step) {
    gap: var(--tc-embed-row-gap, 16px);
    min-height: var(--tc-embed-row-min, 64px);
  }

  .tc-form-embed--themed .elementor-field-group > .elementor-field-label { width: var(--tc-embed-label, 92px); }

  .tc-form-embed--themed .elementor-field-group .elementor-field { font-size: 24px; }
}

@media (max-width: 600px) {
  .tc-form-embed--themed .elementor-field-group:not(.elementor-field-type-submit, .elementor-field-type-acceptance, .elementor-field-type-html, .elementor-field-type-hidden, .elementor-field-type-step) {
    min-height: var(--tc-embed-row-min, 0px);
    padding-top: var(--tc-embed-row-pad, 40px);
  }

  .tc-form-embed--themed .elementor-field-type-textarea {
    min-height: var(--tc-embed-message-min, 0px);
    align-items: flex-end !important;
  }

  .tc-form-embed--themed textarea.elementor-field { height: 1.4em; }

  .tc-form-embed--themed .elementor-field-group > .elementor-field-label { width: var(--tc-embed-label, 90px); font-size: 14px; }

  .tc-form-embed--themed .elementor-field-group .elementor-field { font-size: 15px; }

  .tc-form-embed--themed .elementor-field-type-html {
    margin-top: var(--tc-embed-privacy-gap, 24px);
    text-align: left;
    font-size: 15px;
    line-height: 21px;
  }

  .tc-form-embed--themed :is(.elementor-field-type-acceptance, .elementor-field-type-submit) {
    margin-left: 0 !important;
    padding-top: 24px;
  }

  .tc-form-embed--themed .elementor-field-type-acceptance ~ .elementor-field-type-submit { margin-left: 12px !important; }

  .tc-form-embed--themed .elementor-field-type-submit { justify-content: flex-start !important; }

  .tc-form-embed--themed .elementor-message { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  .tc-form-embed--themed .elementor-button { transition: none; }

  .tc-form-embed--themed .elementor-button:is(:hover, :focus-visible) { transform: none; }
}
