/* Portfolio heading and unified Attncapital product marks. */
.section-heading {
  display: block;
}

.headline-line {
  display: block;
  width: max-content;
  max-width: 100%;
  color: var(--ink);
  white-space: nowrap;
}

.headline-accent {
  color: var(--red);
}

.headline-second {
  margin-top: 0.08em;
}

.compound-visual {
  position: absolute;
  right: -32px;
  bottom: -28px;
  width: min(45vw, 620px);
  height: auto;
  overflow: visible;
  pointer-events: none;
}

.compound-path {
  fill: none;
  stroke: color-mix(in srgb, var(--red) 42%, transparent);
  stroke-width: 1.3;
}

.compound-path-soft {
  stroke: color-mix(in srgb, var(--red) 19%, transparent);
}

.node-halo {
  fill: none;
  stroke: color-mix(in srgb, var(--red) 27%, transparent);
  stroke-width: 1.2;
}

.node-halo-outer {
  stroke: color-mix(in srgb, var(--red) 15%, transparent);
}

.node-core {
  fill: var(--red);
}

.hidden-field {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.form-status {
  min-height: 1.4em;
  margin: -14px 0 0;
  font-size: 13px;
  font-weight: 700;
}

.form-status[data-tone="error"] {
  color: #650006;
}

.contact-form button:disabled {
  cursor: wait;
  opacity: 0.65;
}

.brand-mbos-card {
  background: var(--ink);
}

.brand-pagecms-card {
  background: #fff;
}

.brand-logo {
  width: min(72%, 420px);
  height: 108px;
  object-fit: contain;
  object-position: center;
}

.brand-attentional {
  width: min(68%, 390px);
}

.brand-trustsignal {
  width: min(70%, 410px);
}

.brand-mbos {
  width: min(72%, 420px);
}

.brand-pagecms {
  width: min(68%, 400px);
}

@media (max-width: 800px) {
  h1 {
    font-size: clamp(38px, 7vw, 54px);
    letter-spacing: -0.06em;
    line-height: 0.94;
  }

  .brand-logo,
  .brand-attentional,
  .brand-trustsignal,
  .brand-mbos,
  .brand-pagecms {
    width: min(78%, 400px);
    height: 92px;
  }

  .compound-visual {
    right: -76px;
    bottom: -12px;
    width: min(78vw, 500px);
    opacity: 0.8;
  }
}

@media (max-width: 560px) {
  h1 {
    font-size: clamp(42px, 13vw, 56px);
    line-height: 0.9;
  }

  .headline-line {
    width: 100%;
    white-space: normal;
  }

  .headline-second {
    margin-top: 0.3em;
  }
}

@media (max-width: 380px) {
  h1 {
    font-size: 42px;
  }
}
