:where(.ig-section-contact-v100) :where(.ig-section-form) > .ig-section-action {
  inline-size: fit-content;
  max-inline-size: 100%;
  align-self: center;
  justify-self: center;
}

/* Contact layout and control geometry. Themes provide the tokens only. */
section.ig-section:is(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-form .ig-section-contact-field:not(:has(input[type="checkbox"])) {
  block-size: var(--section-control-height, 48px);
  align-self: start;
}
section.ig-section:is(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-form .ig-section-contact-field:not(:has(input[type="checkbox"])) {
  position: relative;
}
section.ig-section:is(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-form .ig-section-contact-field > input.ig-form-field:not([type="checkbox"]) {
  box-sizing: border-box;
  inline-size: 100%;
  block-size: var(--section-control-height, 48px);
  min-block-size: var(--section-control-height, 48px);
  max-block-size: var(--section-control-height, 48px);
  padding-inline: var(--spacing-md, 16px);
}
section.ig-section:is(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-form .ig-section-contact-field:not(:has(input[type="checkbox"])) > .ig-form-label {
  position: absolute;
  inset-inline-start: var(--spacing-md, 16px);
  inset-block-start: 50%;
  transform: translateY(-50%);
  padding: 0;
}
section.ig-section:is(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-form > button.ig-section-action {
  box-sizing: border-box;
  inline-size: 100%;
  max-inline-size: none;
  block-size: var(--section-control-height, 48px);
  min-block-size: var(--section-control-height, 48px);
  max-block-size: var(--section-control-height, 48px);
  padding-block: 0;
  justify-self: stretch;
}
section.ig-section:is(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-form .ig-section-contact-field > input.ig-form-field[type="checkbox"] {
  appearance: auto;
  box-sizing: border-box;
  flex: 0 0 16px;
  inline-size: 16px;
  min-inline-size: 16px;
  max-inline-size: 16px;
  block-size: 16px;
  min-block-size: 16px;
  max-block-size: 16px;
  padding: 0;
}

:where(.ig-section-contact-v124, .ig-section-contact-v125) {
  background: var(--section-background, var(--template-bg-color));
}

:where(.ig-section-contact) .ig-section-form {
  border: 1px solid var(--section-card-border, transparent);
  border-radius: var(--section-card-radius);
  background: var(--section-card-background);
  color: var(--control-text);
}
:where(.ig-section-contact) .ig-form-field {
  box-sizing: border-box;
  border-color: var(--control-border);
  border-radius: var(--control-radius);
  background: var(--control-bg, var(--control-background));
  color: var(--control-text);
}
:where(.ig-section-contact) :where(input:not([type="checkbox"]), select).ig-form-field {
  block-size: var(--section-control-height, 48px);
}
:where(.ig-section-contact) :where(select).ig-form-field {
  appearance: none;
  padding-inline-end: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
}
:where(.ig-section-contact) :where(input[type="date"]).ig-form-field::-webkit-calendar-picker-indicator {
  margin-inline-end: 4px;
  opacity: .8;
  filter: var(--control-date-icon-filter, none);
  cursor: pointer;
}
:where(.ig-section-contact) :where(input[type="checkbox"]).ig-form-field {
  appearance: auto;
  flex: 0 0 16px;
  inline-size: 16px;
  block-size: 16px;
  border-radius: 0;
  background: initial;
  color-scheme: normal;
  accent-color: var(--control-focus, var(--control-focus-ring));
}
:where(.ig-section-contact) :where(input, textarea).ig-form-field::placeholder {
  color: color-mix(in srgb, var(--control-text), transparent 35%);
  opacity: 1;
}
:where(.ig-section-contact) .ig-form-field:focus {
  border-color: var(--control-focus, var(--control-focus-ring));
  outline: 2px solid color-mix(in srgb, var(--control-focus, var(--control-focus-ring)), transparent 55%);
  outline-offset: 1px;
}
:where(.ig-section-contact .ig-section-form) :is(.ig-button-primary, .ig-button-secondary):hover {
  transform: none;
}
:where(.ig-section-contact .ig-section-form) > .ig-section-action {
  align-self: center;
}
:where(.ig-section-contact) :where(textarea).ig-form-field {
  border-radius: var(--spacing-sm);
  padding: 12px;
  resize: vertical;
}

:where(.ig-section-contact-v4, .ig-section-contact-v5, .ig-section-contact-v6, .ig-section-contact-v100) .ig-section-contact-field {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-content: start;
  gap: var(--spacing-xs, 6px);
  min-inline-size: 0;
}

:where(.ig-section-contact-v4, .ig-section-contact-v5, .ig-section-contact-v6, .ig-section-contact-v100) :where(.ig-section-contact-field) > .ig-form-field {
  inline-size: 100%;
}

:where(.ig-section-contact-v4, .ig-section-contact-v5, .ig-section-contact-v6, .ig-section-contact-v100) :where(.ig-section-contact-field) > .ig-form-label {
  justify-self: stretch;
  text-align: start;
  margin: 0;
  line-height: 1.2;
}

:where(.ig-section-contact-v4, .ig-section-contact-v5, .ig-section-contact-v6, .ig-section-contact-v100) :where(input:not([type="checkbox"])).ig-form-field {
  block-size: var(--section-control-height, 48px);
  min-block-size: var(--section-control-height, 48px);
  max-block-size: var(--section-control-height, 48px);
}

:where(.ig-section-contact-v4, .ig-section-contact-v5, .ig-section-contact-v6, .ig-section-contact-v100) :where(textarea).ig-form-field {
  min-block-size: 0;
  block-size: 100%;
}

/* viewport: mobile */
@media (width < 769px) {
  :where(.ig-section-contact) :where(textarea).ig-form-field {
    /* Double two text rows plus the shared field's padding and border. */
    min-block-size: calc(2 * (2lh + 10px));
    block-size: calc(2 * (2lh + 10px));
  }
}

.ig-section-contact-v100 {
  --section-eyebrow-inline-alignment: center;
  --section-eyebrow-text-alignment: center;
}

:where(.ig-section-contact-v100) :is(.ig-section-eyebrow, .ig-section-chip) {
  align-self: center;
  justify-self: center;
  margin-inline: auto;
  text-align: center;
}


:where(.ig-section-contact-v100 .ig-section-form) > .ig-section-action {
  justify-self: center;
}

:where(.ig-section-contact-v100) .ig-section-logo-row {
  flex-wrap: wrap;
  padding: var(--spacing-md) var(--spacing-lg, 1.5rem);
  border-radius: var(--section-card-radius);
  background: var(--section-logo-row-background, transparent);
  color: var(--section-logo-row-color, var(--color-text-primary));
}

:where(.ig-section-contact-v100 .ig-section-logo-row) > .ig-section-card-label {
  flex: 0 0 auto;
  max-inline-size: 10rem;
}

:where(.ig-section-contact-v100 .ig-section-logo-row) > .ig-section-media {
  min-inline-size: 0;
  max-inline-size: 9rem;
  block-size: 3rem;
  object-fit: contain;
}

:where(.ig-section-contact-v101) .ig-section-contact-field {
  display: grid !important;
  align-content: start;
  gap: var(--spacing-xs, 0.5rem);
  min-inline-size: 0;
}

:where(.ig-section-contact-v101) {
  --section-eyebrow-inline-alignment: start;
  --section-eyebrow-text-alignment: start;
  --section-title-inline-alignment: start;
  --section-title-text-alignment: start;
  --section-subtitle-inline-alignment: start;
  --section-subtitle-text-alignment: start;
  --section-contact-accent: var(--color-primary, var(--template-color-0, currentColor));
  --section-contact-surface: var(--section-background, var(--template-bg-color, transparent));
  background: linear-gradient(
    to right,
    color-mix(in srgb, var(--section-contact-surface), var(--section-contact-accent) 8%) 0 33.333%,
    var(--section-contact-surface) 33.333% 100%
  );
}

:where(.ig-section-contact-v101) .ig-section-form,
:where(.ig-section-contact-v101) .ig-section-form:hover {
  --section-card-title: var(--section-contact-form-title, var(--color-text-primary));
  --section-card-description: var(--section-contact-form-description, var(--color-text-secondary));
  --control-bg: var(--section-contact-form-control-background, var(--section-card-background));
  --control-border: var(--section-contact-form-control-border, var(--section-card-border));
  --control-text: var(--section-contact-form-control-text, var(--color-text-primary));
  border-color: var(--section-contact-form-border, color-mix(in srgb, var(--section-card-border, transparent), var(--section-contact-accent) 28%));
  background: var(--section-contact-form-background, color-mix(in srgb, var(--section-card-background), var(--section-contact-accent) 16%));
  box-shadow: var(--section-contact-form-shadow, var(--section-card-shadow));
  color: var(--section-contact-form-color, var(--control-text));
}

:where(.ig-section-contact-v101) .ig-section-case-study {
  --section-case-study-quote-size: clamp(1.0625rem, 1.4vw, 1.25rem);
  --section-case-study-quote-line-height: 1.375;
  border-color: color-mix(in srgb, var(--section-card-border, transparent), var(--section-contact-accent) 18%);
  background: color-mix(in srgb, var(--section-card-background), var(--section-contact-accent) 6%);
  box-shadow: var(--section-card-shadow);
  transition: none;
}

:where(.ig-section-contact-v101) .ig-section-case-study:hover {
  border-color: color-mix(in srgb, var(--section-card-border, transparent), var(--section-contact-accent) 18%);
  background: color-mix(in srgb, var(--section-card-background), var(--section-contact-accent) 6%);
  box-shadow: var(--section-card-shadow);
  transform: none;
}

:where(.ig-section-contact-v101 .ig-section-contact-field) > .ig-form-field {
  flex: 0 0 var(--section-control-height, var(--control-height));
  inline-size: 100%;
  block-size: var(--section-control-height, var(--control-height));
}

:where(.ig-section-contact-v101) .ig-section-rating {
  color: var(--section-contact-rating-color, var(--color-rating, var(--section-contact-accent)));
  place-content: center;
}

:where(.ig-section-contact-v101) .ig-section-rating-star.is-active {
  color: inherit;
}

:where(.ig-section-contact-v101 .ig-section-case-study) > :is(.ig-section-person-name, .ig-section-person-role) {
  text-align: center;
}

:where(.ig-section-contact-v101 .ig-section-form) > .ig-section-action {
  justify-self: center;
}

/* viewport: mobile */
@media (width < 769px) {
  :where(.ig-section-contact-v101) {
    background: var(--section-contact-surface);
  }
}
:where(.ig-section-contact .ig-section-media) > img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  border-radius: inherit;
}

:where(.ig-section-contact) :where(.ig-section-media-layered) > :is(.ig-section-card-title, .ig-section-meta-value) {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: stretch;
  text-align: center;
}

:where(.ig-section-contact-v1) :where(.ig-section-media-layered) > .ig-section-meta-value {
  font-size: var(--section-contact-detail-font-size, var(--section-card-description-size, 1rem));
  font-weight: 400;
  line-height: var(--section-contact-detail-line-height, var(--section-card-description-line-height, 1.4));
  font-family: var(--font-paragraph, inherit);
  letter-spacing: normal;
}

:where(.ig-section-contact-v4) .ig-section-meta-value {
  font-size: var(--section-contact-detail-font-size, var(--section-card-description-size, 1rem));
  font-weight: 400;
  line-height: var(--section-contact-detail-line-height, var(--section-card-description-line-height, 1.4));
  font-family: var(--font-paragraph, inherit);
  letter-spacing: normal;
}


/* Inline newsletter controls: structural geometry shared across themes. */
:where(.ig-section-contact-v9, .ig-section-contact-v10) .ig-section-form {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

:where(.ig-section-contact-v5) .ig-section-card-heading-icon {
  align-self: center;
  justify-self: center;
}
:where(.ig-section-contact-v5) .ig-section-card-label {
  align-self: center;
  margin: 0;
}


/* Name, email, phone and explicit consent form. */
:where(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-contact-field {
  display: grid;
  align-content: start;
  gap: var(--spacing-xs);
}
:where(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-form-field:not([type="checkbox"]) {
  inline-size: 100%;
}
:where(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-contact-consent {
  display: flex;
  align-items: start;
  gap: var(--spacing-sm);
  font-size: var(--section-card-description-size, 1rem);
  line-height: 1.5;
}
:where(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-form-label {
  text-align: start;
}

:where(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-contact-field:has([type="checkbox"]) {
  display: flex;
  align-items: start;
  gap: var(--spacing-xs);
}
:where(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-contact-field [type="checkbox"],
:is(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) input[type="checkbox"] {
  appearance: auto;
  -webkit-appearance: checkbox;
  flex: 0 0 16px;
  inline-size: 16px;
  block-size: 16px;
  min-inline-size: 16px;
  min-block-size: 16px;
  margin: 0;
  margin-block-start: 4px;
  border-radius: 0;
  background: initial;
}

:where(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-eyebrow {
  color: var(--section-eyebrow-color);
  text-align: center;
  justify-self: stretch;
}

/* Compact labelled controls retain native labels and keyboard behavior. */
:where(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) :where(input, textarea).ig-form-field::placeholder {
  color: transparent;
}
:where(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-contact-field:not(:has([type="checkbox"])) {
  position: relative;
  display: block;
}
:where(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-contact-field:not(:has([type="checkbox"])) > .ig-form-label {
  position: absolute;
  inset-inline-start: var(--spacing-lg);
  inset-block-start: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: var(--control-text);
}
:where(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-contact-field:has(input:not(:placeholder-shown), input:focus) > .ig-form-label {
  opacity: 0;
}
:where(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-contact-field:not(:has([type="checkbox"])) > .ig-form-field {
  block-size: 100%;
  min-block-size: var(--section-control-height, 48px);
  padding-inline: var(--spacing-lg);
}
:where(.ig-section-contact-v124, .ig-section-contact-v125, .ig-section-contact-v126, .ig-section-contact-v127, .ig-section-contact-v128, .ig-section-contact-v129) .ig-section-action {
  inline-size: 100%;
  max-inline-size: none;
  align-self: stretch;
}

:where(.ig-section-contact-v128) ul.ig-section-description {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--spacing-md, 1rem);
}
:where(.ig-section-contact-v128) ul.ig-section-description li {
  position: relative;
  padding-inline-start: 1.75rem;
  line-height: 1.5;
}
:where(.ig-section-contact-v128) ul.ig-section-description li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.45em;
  inline-size: 0.5rem;
  block-size: 0.5rem;
  border-radius: 50%;
  background: var(--button-primary-bg, var(--template-color-1, currentColor));
}

:where(.ig-section-contact-v124, .ig-section-contact-v125) .ig-section-media {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

:where(.ig-section-contact-v125) .ig-section-form {
  max-inline-size: 28rem;
  justify-self: center;
  inline-size: 100%;
}

:where(.ig-section-contact-v125 > .ig-grid-container > .ig-grid-inner:not(.ig-section-form)) {
  block-size: auto;
  align-self: start;
}
.ig-section-contact-v125 {
  --section-title-block-alignment: start;
  --section-title-text-alignment: start;
  --section-title-inline-alignment: stretch;
  --section-title-content-alignment: start;
}
:where(.ig-section-contact-v125) :is(.ig-section-eyebrow, .ig-section-description) {
  text-align: start;
}
:where(.ig-section-contact-v125) .ig-section-eyebrow {
  align-self: var(--section-eyebrow-block-alignment, start);
}
:where(.ig-section-contact-v125) .ig-section-description {
  align-self: start;
}

.ig-section.ig-section-contact-v126 > .ig-grid-container > .ig-grid-inner {
  align-self: stretch;
}
.ig-section.ig-section-contact-v126 .ig-section-form {
  margin-block: 0;
}
.ig-section.ig-section-contact-v126 .ig-section-form > .ig-section-action {
  align-self: stretch;
}

/* viewport: mobile */
@media (width < 769px) {
  .ig-section.ig-section-contact-v126 .ig-section-form {
    min-height: 20rem;
  }
}
