.broker-hero {
  background: var(--jdc-navy-deep);
  color: #fff;
  min-height: 620px;
  overflow: hidden;
  position: relative;
}

.broker-hero__media {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.broker-hero__overlay {
  background:
    linear-gradient(90deg, rgba(8, 24, 38, .96) 0%, rgba(8, 24, 38, .84) 48%, rgba(8, 24, 38, .32) 100%),
    linear-gradient(0deg, rgba(8, 24, 38, .35), rgba(8, 24, 38, .15));
  inset: 0;
  position: absolute;
}

.broker-hero__content {
  padding-bottom: clamp(5.5rem, 10vw, 8rem);
  padding-top: clamp(5.5rem, 10vw, 8rem);
  position: relative;
  z-index: 2;
}

.broker-display {
  font-size: clamp(3.25rem, 7vw, 6.7rem);
  font-weight: 800;
  letter-spacing: -.06em;
  line-height: .94;
  max-width: 11ch;
}

.broker-hero__lead {
  color: rgba(255, 255, 255, .82);
  font-size: clamp(1.1rem, 2vw, 1.28rem);
  line-height: 1.65;
  max-width: 48rem;
}

.broker-micro {
  color: rgba(255, 255, 255, .65);
  font-size: .9rem;
}

.broker-service-strip {
  background: var(--jdc-navy);
  color: #fff;
}

.broker-service-strip span {
  display: block;
  font-size: .77rem;
  font-weight: 800;
  letter-spacing: .09em;
  padding: 1.15rem .6rem;
  text-transform: uppercase;
}

.broker-service-strip [class*="col-"]:not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, .13);
}

.broker-value-card {
  border-top: 3px solid var(--jdc-teal);
  height: 100%;
  padding: 1.5rem 1.2rem 1rem 0;
}

.broker-card-number {
  color: var(--jdc-teal);
  display: block;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .1em;
  margin-bottom: 1.25rem;
}

.specialty-panel {
  background: #fff;
  border: 1px solid var(--jdc-border);
  border-radius: 1.2rem;
  box-shadow: 0 18px 50px rgba(23, 50, 77, .08);
  padding: clamp(1.75rem, 4vw, 3rem);
}

.broker-outcome {
  background:
    radial-gradient(circle at 8% 20%, rgba(31, 167, 160, .2), transparent 28rem),
    var(--jdc-navy-deep);
  color: #fff;
}

.broker-outcome__title {
  font-size: clamp(2.25rem, 5vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -.05em;
  line-height: 1;
}

.broker-check-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.broker-check-list li {
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  font-weight: 700;
  padding: 1rem 0 1rem 2rem;
  position: relative;
}

.broker-check-list li::before {
  color: #54d8cf;
  content: "✓";
  font-weight: 900;
  left: 0;
  position: absolute;
}

.broker-step {
  border-left: 1px solid var(--jdc-border);
  height: 100%;
  padding-left: 1.5rem;
}

.broker-step > span {
  color: var(--jdc-teal);
  display: block;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .1em;
  margin-bottom: 1.25rem;
}

.broker-quote {
  background: #fff;
  border: 1px solid var(--jdc-border);
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  padding: 1.8rem;
}

.broker-quote blockquote {
  color: var(--jdc-navy-deep);
  flex: 1;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.6;
  margin: 0 0 1.5rem;
}

.broker-quote figcaption {
  color: var(--jdc-slate);
  font-size: .87rem;
}

.broker-contact {
  background: linear-gradient(180deg, #fff 0%, #f6f9fb 100%);
}

.broker-contact__aside {
  border-left: 3px solid var(--jdc-teal);
  padding: .25rem 0 .25rem 1.25rem;
}

.broker-form {
  background: #fff;
  border: 1px solid var(--jdc-border);
  border-radius: 1.2rem;
  box-shadow: 0 22px 55px rgba(23, 50, 77, .1);
  padding: clamp(1.5rem, 4vw, 2.5rem);
}

.broker-form .form-label {
  color: var(--jdc-navy-deep);
  font-size: .88rem;
  font-weight: 750;
}

.broker-form .form-control,
.broker-form .form-select {
  border-color: #cfd9e1;
  border-radius: .65rem;
  min-height: 3rem;
}

.broker-form textarea.form-control {
  min-height: 8.5rem;
}

.broker-form .form-control:focus,
.broker-form .form-select:focus,
.broker-form .form-check-input:focus {
  border-color: var(--jdc-teal);
  box-shadow: 0 0 0 .22rem rgba(31, 167, 160, .16);
}

.broker-form__message {
  border-radius: .65rem;
  font-weight: 700;
  padding: .9rem 1rem;
}

.broker-form__message.is-success {
  background: #e8f7f3;
  color: #12675f;
}

.broker-form__message.is-error {
  background: #fcebed;
  color: #9b2732;
}

.broker-form__privacy {
  color: var(--jdc-slate);
  font-size: .78rem;
  text-align: center;
}

.sample-pack-notice {
  background: #edf9f8;
  border: 1px solid rgba(31, 167, 160, .35);
  border-radius: .7rem;
  color: #145f5a;
  padding: .85rem 1rem;
}

.sample-pack-notice span {
  display: block;
  font-size: .85rem;
  margin-top: .15rem;
}

.form-honeypot {
  height: 0;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  width: 0;
}

@media (max-width: 991.98px) {
  .broker-hero {
    min-height: 570px;
  }

  .broker-hero__overlay {
    background: rgba(8, 24, 38, .82);
  }
}

@media (max-width: 575.98px) {
  .broker-display {
    font-size: clamp(3rem, 15vw, 4.5rem);
  }

  .broker-service-strip [class*="col-"]:nth-child(2) {
    border-right: 0;
  }

  .broker-service-strip [class*="col-"]:nth-child(-n+2) {
    border-bottom: 1px solid rgba(255, 255, 255, .13);
  }
}

@media (prefers-reduced-motion: reduce) {
  .broker-hero__media {
    display: none;
  }
}
