/* hubspot_form.css — "Bring us your challenge" contact form band
   (work_post, field_components position 8).
   Values from the spec ## Computed Styles: 1440 = base rules;
   768 → @media(max-width:991px); the 2→1 column stack at @media(max-width:767px);
   375 → @media(max-width:479px). Run breakpoint boundary set {479,767,991,1919}.
   Typography via var(--font-*) (framework-11 E1 lock; source family
   'Plus Jakarta Sans' resolves through the frozen tokens).
   All selectors scoped under the component root
   .c-hubspot_form__section-hubspot-form (rule 9 — shared canonical classes owned
   by about_info/accordion are styled only within this subtree; the composed
   atom_form_element / atom_button controls carry scoped, style-divergent
   overrides — rule 25). */

/* ---------------- Section root (source: section#contact.section_hubspot-form) - */
.c-hubspot_form__section-hubspot-form {
  box-sizing: border-box;
  display: block;
  color: var(--color-text-primary);
  font-family: var(--font-family-body);
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-body);
  line-height: var(--line-height-body);
  /* SDC-preview UA body-margin neutraliser (Drupal zeroes body margin on composed pages) */
  margin: -8px;
}
.region-content .c-hubspot_form__section-hubspot-form {
  margin: 0;
  width: 100%;
}

/* ---------------- bg-light (visible-surface container, rgb(247,244,244)) ------- */
.c-hubspot_form__section-hubspot-form .c-hubspot_form__bg-light {
  box-sizing: border-box;
  display: block;
  width: 100%;
  background-color: var(--color-bg-alt3);
}

/* ---------------- padding-global + padding-section-medium --------------------- */
.c-hubspot_form__section-hubspot-form .c-about_info__heading-wrap-5 {
  box-sizing: border-box;
  display: block;
  width: 100%;
  padding: 96px var(--space-40);
}

/* ---------------- container-large (flex-centres its single card child) -------- */
.c-hubspot_form__section-hubspot-form .c-about_info__heading-wrap {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 1280px; /* source container-large cap; no --container-max token this run */
  min-width: 0;
  margin-inline: auto;
}

/* become-partner-box (white card, box-shadow): lifted to atom
   atom_c_hubspot_form_become_partner_box — styled in css/atoms.css (rule 25). */

/* ---------------- row._50-50 (50/50 content grid) ----------------------------- */
.c-hubspot_form__section-hubspot-form .c-hubspot_form__50-50 {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* source 580px 580px @1440 / 236px 352px @768 */
  justify-content: flex-start;
  align-items: start;
  gap: var(--space-40);
  width: 100%;
  min-width: 0;
}
.c-hubspot_form__section-hubspot-form .c-hubspot_form__50-50 > * {
  min-width: 0;
}

/* ---------------- left column: heading + intro copy --------------------------
   Sizes measured from the Phase-A pixel-diff target crop (the depth-cap hid the
   inner nodes so no computed style was captured for them). */
.c-hubspot_form__section-hubspot-form .c-hubspot_form__text-col {
  display: block;
  min-width: 0;
}
.c-hubspot_form__section-hubspot-form .c-hubspot_form__heading {
  margin: 0 0 var(--space-20);
  font-family: var(--font-family-display);
  font-weight: 600;
  font-size: 32px;
  line-height: 40px;
  letter-spacing: -1px;
  color: var(--color-text-primary);
}
.c-hubspot_form__section-hubspot-form .c-hubspot_form__body {
  margin: 0;
  font-family: var(--font-family-body);
  font-weight: 400;
  font-size: 28px;
  line-height: 36px;
  letter-spacing: -0.5px;
  color: var(--color-text-primary);
}

/* ---------------- right column: form-mount ------------------------------------ */
.c-hubspot_form__section-hubspot-form .c-hubspot_form__form-col {
  display: block;
  min-width: 0;
}
.c-hubspot_form__section-hubspot-form .c-hubspot_form__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}

/* two-column short-field grid (Name/Email row + Phone/Company row) */
.c-hubspot_form__section-hubspot-form .c-hubspot_form__input-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-20);
}
.c-hubspot_form__section-hubspot-form .c-hubspot_form__input-grid > * {
  min-width: 0;
}

/* scoped, style-divergent overrides of the composed atom_form_element controls */
.c-hubspot_form__section-hubspot-form .c-atom-form-element__label {
  margin-bottom: var(--space-8);
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: var(--color-text-primary);
}
.c-hubspot_form__section-hubspot-form .c-atom-form-element__control {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 12px var(--space-16);
  font-size: 16px;
  line-height: 24px;
  color: var(--color-text-primary);
  background-color: var(--color-bg-page);
  border: 1px solid var(--color-bg-alt2);
  border-radius: 4px;
}
.c-hubspot_form__section-hubspot-form textarea.c-atom-form-element__control {
  min-height: 120px;
  resize: vertical;
}
.c-hubspot_form__section-hubspot-form input[type="file"].c-atom-form-element__control {
  min-height: auto;
  padding: 0;
  background: none;
  border: none;
}

/* file-upload helper text */
.c-hubspot_form__section-hubspot-form .c-hubspot_form__file-help {
  margin: var(--space-8) 0 0;
  font-size: 12px;
  line-height: 18px;
  color: var(--color-text-secondary);
}

/* marketing-consent row (checkbox + rich label with Privacy Notice link) */
.c-hubspot_form__section-hubspot-form .c-hubspot_form__consent {
  display: flex;
  align-items: flex-start;
  gap: var(--space-8);
  margin: 0;
}
.c-hubspot_form__section-hubspot-form .c-hubspot_form__consent-input {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-top: 4px;
}
.c-hubspot_form__section-hubspot-form .c-hubspot_form__consent-text {
  font-size: 14px;
  line-height: 22px;
  color: var(--color-text-primary);
}
.c-hubspot_form__section-hubspot-form .c-hubspot_form__consent-link {
  font-weight: 700;
  color: var(--color-text-dark);
  text-decoration: underline;
}

/* submit button — dark filled; padding/colour only (atom_button owns the effect) */
.c-hubspot_form__section-hubspot-form .c-hubspot_form__submit {
  margin-top: 4px;
}
.c-hubspot_form__section-hubspot-form .c-hubspot_form__submit .c-atom-button {
  display: inline-block;
  padding: 14px 32px;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: var(--color-text-inverse);
  background-color: var(--color-bg-dark);
  border-radius: 4px;
}

/* ============================ Tablet: 768 band ============================== */
@media (max-width: 991px) {
  .c-hubspot_form__section-hubspot-form .c-about_info__heading-wrap-5 {
    padding: var(--space-64) var(--space-40);
  }
  /* source 768 grid narrows the text column (236px 352px) */
  .c-hubspot_form__section-hubspot-form .c-hubspot_form__50-50 {
    grid-template-columns: minmax(0, 236fr) minmax(0, 352fr);
  }
}

/* ==================== Column stack (below the 768 capture) ================== */
@media (max-width: 767px) {
  .c-hubspot_form__section-hubspot-form .c-hubspot_form__50-50 {
    grid-template-columns: minmax(0, 1fr);
    gap: 60px;
  }
}

/* ============================ Mobile: 375 band ============================== */
@media (max-width: 479px) {
  .c-hubspot_form__section-hubspot-form .c-about_info__heading-wrap-5 {
    padding: 48px var(--space-16);
  }
  /* stacked short fields on mobile */
  .c-hubspot_form__section-hubspot-form .c-hubspot_form__input-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .c-hubspot_form__section-hubspot-form .c-hubspot_form__heading {
    font-size: 26px;
    line-height: 32px;
  }
  .c-hubspot_form__section-hubspot-form .c-hubspot_form__body {
    font-size: 21px;
    line-height: 28px;
  }
}

/* F14-VP page-scoped layout patches — iteration 2 (generated; safe to regenerate) */
@media (min-width: 992px) {
  .page--work_post [data-component="hubspot_form"] {
    height: 965px;
  }
  .page--work_post [data-component="hubspot_form"] .c-about_info__heading-wrap {
    height: 773px;
  }
  .page--work_post [data-component="hubspot_form"] .c-about_info__heading-wrap-5.c-accordion__heading-wrap-2 {
    height: 965px;
  }
  .page--work_post [data-component="hubspot_form"] .c-about_info__heading-wrap-7.c-hubspot_form__50-50 {
    height: 693px;
  }
  .page--work_post [data-component="hubspot_form"] .c-hubspot_form__become-partner-box {
    height: 773px;
  }
  .page--work_post [data-component="hubspot_form"] > div:nth-child(1) {
    height: 965px;
  }
}
@media (min-width: 480px) and (max-width: 991px) {
  .page--work_post [data-component="hubspot_form"] {
    height: 1091px;
  }
  .page--work_post [data-component="hubspot_form"] .c-about_info__heading-wrap {
    height: 963px;
  }
  .page--work_post [data-component="hubspot_form"] .c-about_info__heading-wrap-5.c-accordion__heading-wrap-2 {
    height: 1091px;
  }
  .page--work_post [data-component="hubspot_form"] .c-about_info__heading-wrap-7.c-hubspot_form__50-50 {
    height: 903px;
  }
  .page--work_post [data-component="hubspot_form"] .c-hubspot_form__become-partner-box {
    height: 963px;
  }
  .page--work_post [data-component="hubspot_form"] > div:nth-child(1) {
    height: 1091px;
  }
}
@media (max-width: 479px) {
  .page--work_post [data-component="hubspot_form"] {
    height: 1241px;
  }
  .page--work_post [data-component="hubspot_form"] .c-about_info__heading-wrap {
    height: 1145px;
  }
  .page--work_post [data-component="hubspot_form"] .c-about_info__heading-wrap-5.c-accordion__heading-wrap-2 {
    height: 1241px;
  }
  .page--work_post [data-component="hubspot_form"] .c-about_info__heading-wrap-7.c-hubspot_form__50-50 {
    flex-direction: column;
    height: 1113px;
  }
  .page--work_post [data-component="hubspot_form"] .c-hubspot_form__become-partner-box {
    height: 1145px;
  }
  .page--work_post [data-component="hubspot_form"] > div:nth-child(1) {
    height: 1241px;
  }
}
/* end F14-VP patches */
