/* Additions for the Oct 30 templates on HubSpot.
   The preview stylesheet is v2-oct30.css. This file only covers live-theme
   assets (official wordmark, customer logos, CFA badge), the cookie control,
   and the embedded HubSpot form. */

.v2-oct30 .hs_cos_wrapper {
  display: contents;
}

.site-header .logo img.site-logo__img {
  height: 4.25rem;
  width: auto;
  max-width: none;
}

.site-footer .logo img.site-logo__img {
  height: auto;
  width: 200px;
  max-width: 100%;
}

@media (max-width: 767.98px) {
  .site-header .logo img.site-logo__img {
    height: 3.25rem;
  }
}

@media (min-width: 1024px) {
  .site-footer .logo img.site-logo__img {
    width: 230px;
  }
}

/* Live customer artwork is wider than the preview wordmarks. Keep the pill,
   give the official files enough room to stay recognisable. */
.pills li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  padding: 10px 18px;
  background: #fff;
}

.pills li picture {
  display: flex;
  align-items: center;
}

.pills img {
  height: 48px;
  width: auto;
  max-width: 148px;
  max-height: 48px;
  object-fit: contain;
}

/* Desktop: all seven customer pills on one row. Narrow screens keep a wrap or a sideways scroll. */
@media (min-width: 1024px) {
  .pills {
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    overflow: visible;
  }
  .pills li {
    flex: 1 1 0;
    min-width: 0;
    min-height: 0;
    padding: 8px 10px;
  }
  .pills img {
    height: 32px;
    max-height: 32px;
    max-width: 100%;
    width: auto;
  }
}

.v2-member {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.v2-member-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--on-dark-muted);
}

.v2-member-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 6px;
  padding: 8px 12px;
}

.v2-member-badge img {
  display: block;
  height: 28px;
  width: auto;
  max-width: 220px;
}

.cfa-badge {
  display: inline-flex;
  align-items: center;
  background: #fff;
}

.cfa-badge img {
  display: block;
  height: 48px;
  width: auto;
  max-width: 240px;
}

.legal .cookie-settings {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
}

.contact {
  max-height: calc(100vh - 32px);
  overflow: auto;
}

/* "Speak to us" and assessment dialogs (HubSpot form 79b00a4c).
   Scoped to dialog.contact. One aligned column; Cancel (docked into the form's
   button row by v2-oct30.js) and Submit share a row, equal height. */
dialog.contact [data-hsfc-id="Renderer"] {
  --hsf-row__horizontal-spacing: 16px;
  --hsf-row__vertical-spacing: 16px;
}

dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-Step__Content {
  padding: 0;
}

dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-Row {
  gap: 16px;
}

dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-FieldLabel {
  font-family: inherit;
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  color: var(--ink);
}

dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-TextInput {
  font-family: inherit;
  font-size: 16px;
  min-height: 44px;
  border-radius: 10px;
  border: 1px solid #c5d0d2;
  padding: 10px 12px;
}

dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-ReCaptchaV2 {
  width: auto;
  max-width: 100%;
}

dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-RichText {
  font-family: inherit;
  font-size: 14px;
  line-height: 22px;
  color: var(--ink);
}

dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-NavigationRow {
  margin-top: 8px;
}

dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-NavigationRow__Buttons {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: stretch;
  gap: 12px;
}

dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-NavigationRow__Buttons > .btn,
dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-NavigationRow__Buttons > .hsfc-Button {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  height: 48px;
  min-height: 48px;
  margin: 0;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid transparent;
  border-radius: 10px;
  padding: 0 20px;
  font-family: inherit;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-NavigationRow__Buttons > .hsfc-Button {
  background: var(--kinetic-blue);
  color: #fff;
}

dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-NavigationRow__Buttons > .hsfc-Button:hover {
  filter: brightness(1.08);
}

dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-NavigationRow__Buttons > .btn-secondary {
  background: #fff;
  color: var(--ink);
  border-color: var(--line);
}

dialog.contact .cf-actions[hidden] {
  display: none;
}

/* Before the form loads (or if scripts fail) Cancel sits full width below it. */
dialog.contact .cf-actions .btn {
  min-height: 48px;
}

@media (max-width: 559.98px) {
  dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-NavigationRow__Buttons {
    flex-direction: column-reverse;
  }

  dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-NavigationRow__Buttons > .btn,
  dialog.contact [data-hsfc-id="Renderer"][id] .hsfc-NavigationRow__Buttons > .hsfc-Button {
    flex: 0 0 auto;
    width: 100%;
  }
}

.hs-form-slot {
  width: 100%;
}

.v2-oct30 .hs-form fieldset,
.v2-oct30 .hs-form .hs-form-field {
  max-width: 100%;
}

.trust-logos {
  background: #fff;
}

/* Dialog polish: hide the empty assessment summary bar; breathing room above the form */
dialog.contact .assess-output:empty{display:none}
dialog.contact .assess-output{margin:0 0 4px}
dialog.contact .hs-form-slot{margin-top:12px}

/* Mobile menu "Speak to us": same look as the desktop header CTA */
@media (max-width:767.98px){
  .nav a.nav-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;width:100%;padding:15px 28px;min-height:48px;border:1.5px solid transparent;border-radius:10px;background:var(--kinetic-blue);color:#fff;font-size:14px;line-height:18px}
}

/* Shared footer on v2 pages: leave room for the mobile sticky CTA, as the old v2 footer did */
.pvf{margin-bottom:76px}
@media (max-width:767.98px){body:has(#speak) .pvf{margin-bottom:0}}
@media (min-width:768px){.pvf{margin-bottom:0}}
