/* State page template styles - v2 (v2/state-new-jersey.blade.php).
   Extracted from the design build (MedsItNexus website/css/style.css and
   services-responsive.css) for the state-* and svc-faq classes style-v2.css
   does not already define. Loaded after style-v2.css. */


.state-consult {
  position: relative;
  overflow: hidden;
}

.state-consult-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.state-consult-bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.state-consult-bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to left, rgba(239, 242, 255, 0.1), var(--c-bg-blue) 77.8%);
}

.state-consult-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding-top: 70px;
  padding-bottom: 70px;
}

.state-consult-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 19px;
  max-width: 705px;
  width: 100%;
}

.state-consult-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 42px;
  line-height: 1.2;
  color: var(--c-blue);
}

.state-consult-heading .accent,
.state-consult-card-heading .accent {
  color: var(--c-orange);
}

.state-consult-check {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.state-consult-check img {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.state-consult-check span {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  color: var(--c-text);
}

.state-consult-logos {
  margin-top: 0;
}

.state-consult-card {
  flex-shrink: 0;
  width: 540px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 30px 40px;
  background: linear-gradient(var(--c-white), var(--c-white)) padding-box, linear-gradient(90deg, #273775 40%, #FC5D61 100%) border-box;
  border: 5px solid transparent;
  border-radius: 40px;
}

.state-consult-card-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 28px !important;
  line-height: 1.133;
  text-align: center;
  color: var(--c-blue);
}

.state-consult-card-lead {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.543;
  text-align: center;
  color: var(--c-text);
  margin: 0;
  width: 100%;
}

.state-consult-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.state-consult-field {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 50px;
  padding: 8px 14px;
  background: var(--c-white);
  border: 1px solid var(--c-light-grey);
  border-radius: 3px;
}

.state-consult-field img {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}

.state-consult-field input {
  flex: 1 1 0;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: 16px;
  color: var(--c-text);
}

.state-consult-field input::placeholder {
  color: var(--c-placeholder);
}

.state-consult-submit {
  width: 100%;
  height: 41px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 21px;
  background: var(--c-blue);
  border: 1px solid var(--c-white);
  border-radius: 3px;
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: 16px;
  color: var(--c-white);
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.state-consult-submit:hover {
  opacity: 0.9;
}

@media (max-width: 1024px) {
  .state-consult-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .state-consult-copy {
    align-items: center;
    max-width: 640px;
  }

  .state-consult-check {
    justify-content: center;
  }

  .state-consult-card {
    width: 100%;
    max-width: 540px;
  }
}

@media (max-width: 768px) {
  .state-consult-heading {
    font-size: 32px;
  }

  .state-consult-card {
    padding: 28px 24px;
    border-width: 3px;
    border-radius: 24px;
  }

  .state-consult-card-heading {
    font-size: 24px;
  }
}

@media (max-width: 576px) {
  .state-consult-inner {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .state-consult-heading {
    font-size: 26px;
  }

  .state-consult-card {
    padding: 24px 20px;
  }
}

.state-why-inner {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  padding-top: 70px;
  padding-bottom: 70px;
}

.state-why-copy {
  display: flex;
  flex-direction: column;
  gap: 35px;
  flex-shrink: 0;
  width: 566px;
  max-width: 100%;
}

.state-why-heading-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.state-why-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.4;
  color: var(--c-blue);
}

.state-why-heading .accent {
  color: var(--c-orange);
}

.state-why-underline {
  display: block;
  width: 55px;
  height: 4px;
  border-radius: 4px;
  background: var(--c-orange);
}

.state-why-text {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6875;
  color: var(--c-text);
}

.state-why-text p {
  margin: 0 0 27px;
}

.state-why-text p:last-child {
  margin-bottom: 0;
}

.state-why-stats {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
  background: var(--c-white);
  border-radius: 7.5px;
  padding: 10px;
  filter: drop-shadow(0 0 3.78px rgba(0, 0, 0, 0.1));
}

.state-why-stat {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 0;
  min-width: 0;
}

.state-why-stat img {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
}

.state-why-stat span {
  font-weight: 600;
  font-size: 12px;
  line-height: 1.5;
  color: var(--c-text);
}

.state-why-stat-divider {
  flex-shrink: 0;
  width: 1px;
  height: 40px;
  background: var(--c-light-grey);
}

.state-why-actions {
  display: flex;
  align-items: center;
  gap: 35px;
  flex-wrap: wrap;
}

.state-why-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding: 12px 24px;
  background: var(--c-blue);
  border-radius: 100px;
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: 16px;
  color: var(--c-white);
  white-space: nowrap;
  transition: opacity 0.2s ease;
}

.state-why-btn-primary:hover {
  opacity: 0.9;
}

.state-why-btn-link {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  padding: 12px 14px;
  border-bottom: 2px solid var(--c-orange);
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: 16px;
  color: var(--c-orange);
  white-space: nowrap;
}

.state-why-btn-link img {
  width: 16px;
  height: 16px;
  transform: rotate(90deg);
}

.state-why-card {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  background: rgba(239, 242, 255, 0.5);
  border-radius: 20px;
  box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.09);
}

.state-why-card-header {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  width: 100%;
}

.state-why-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border-radius: 60px;
  background: linear-gradient(90deg, var(--c-blue) 29.8%, var(--c-orange) 100%);
}

.state-why-card-icon img {
  width: 40px;
  height: 40px;
}

.state-why-card-header-text {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 0;
  min-width: 0;
}

.state-why-card-header-text h3 {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  color: var(--c-blue);
  margin: 0;
}

.state-why-card-header-text p {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.714;
  color: var(--c-text);
  margin: 0;
}

.state-why-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  width: 100%;
}

.state-why-feature {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--c-white);
  border: 1.6px solid var(--c-light-grey);
  border-radius: 5px;
  padding: 20px;
}

.state-why-feature-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 43px;
  background: linear-gradient(90deg, var(--c-blue) 29.8%, var(--c-orange) 100%);
}

.state-why-feature-icon img {
  width: 30px;
  height: 30px;
}

.state-why-feature h4 {
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.556;
  color: var(--c-text);
  margin: 0;
}

.state-why-feature p {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.543;
  color: var(--c-text);
  margin: 0;
}

@media (max-width: 1024px) {
  .state-why-inner {
    flex-direction: column;
  }

  .state-why-copy {
    width: 100%;
    padding: 20px;
  }

  .state-why-card {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .state-why-heading {
    font-size: 26px;
  }

  .state-why-stats {
    flex-direction: column;
    align-items: flex-start;
  }

  .state-why-stat-divider {
    display: none;
  }

  .state-why-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .state-why-card-header {
    flex-direction: column;
  }

  .state-why-features {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 576px) {
  .state-why-inner {
    padding: 24px 0;
  }

  .state-why-heading {
    font-size: 24px;
  }
}

.state-services-wrap {
  background: #eff2ff;
  padding: 40px 0;
}

.state-services {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%;
}

.state-services-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  max-width: 834px;
  text-align: center;
}

.state-services-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.1375;
  color: var(--c-blue);
  margin: 0;
  max-width: 734px;
}

.state-services-heading .accent {
  color: var(--c-orange);
}

.state-services-subhead {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.575;
  color: var(--c-text);
  margin: 0;
}

.state-services-body {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  width: 100%;
}

.state-services-tabs {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 280px;
  flex-shrink: 0;
}

.state-services-tab {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
  padding: 9px 10px;
  border-radius: 5px;
  background: #fff;
  border: 1px solid #e5e7eb;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.state-services-tab span {
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.575;
  color: var(--c-text);
}

.state-services-tab-arrow-active,
.state-services-tab-arrow-inactive {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  transform: rotate(90deg);
}

.state-services-tab-arrow-active {
  display: none;
}

.state-services-tab.is-active {
  border-color: transparent;
  background: linear-gradient(90deg, #273775 29.808%, #fc5d61 100%);
}

.state-services-tab.is-active span {
  font-weight: 700;
  color: #fff;
}

.state-services-tab.is-active .state-services-tab-arrow-active {
  display: block;
}

.state-services-tab.is-active .state-services-tab-arrow-inactive {
  display: none;
}

.state-services-panel {
  flex: 1 1 0;
  min-width: 0;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 11px 21px;
}

.state-services-panel-content {
  display: none;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.state-services-panel-content.is-active {
  display: flex;
}

.state-services-panel-text {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1 1 0;
  min-width: 0;
}

.state-services-panel-text h3 {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.458;
  color: var(--c-blue);
  margin: 0;
}

.state-services-features {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.state-services-feature {
  display: flex;
  gap: 15px;
  align-items: flex-start;
  width: 100%;
}

.state-services-feature-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  padding: 12px 0;
}

.state-services-feature-icon img {
  width: 30px;
  height: 30px;
}

.state-services-feature-text {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 0;
  flex: 1 1 0;
  min-width: 0;
}

.state-services-feature-text .title {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.25;
  color: var(--c-blue);
  margin: 0;
}

.state-services-feature-text .desc {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5;
  color: var(--c-text);
  margin: 0;
}

.state-services-illustration {
  flex-shrink: 0;
  width: 345px;
}

.state-services-illustration img {
  display: block;
  width: 100%;
  height: auto;
}

.state-services-illustration--photo {
  width: 320px;
}

.state-services-illustration--photo img {
  aspect-ratio: 320 / 290;
  object-fit: cover;
}

.state-services-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding: 15px 21px;
  border-radius: 100px;
  background: var(--c-blue);
  border: 1px solid #fff;
  color: #fff;
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: 16px;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.state-services-cta:hover {
  background: var(--c-orange);
}

@media (max-width: 900px) {
  .state-services-body {
    flex-direction: column;
  }

  .state-services-tabs {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .state-services-tab {
    width: auto;
    flex: 1 1 auto;
  }

  .state-services-panel-content {
    flex-direction: column;
  }

  .state-services-illustration {
    width: 100%;
    max-width: 345px;
    margin: 0 auto;
  }
}

@media (max-width: 576px) {
  .state-services-heading {
    font-size: 24px;
  }

  .state-services-tabs {
    flex-direction: column;
  }

  .state-services-tab {
    width: 100%;
  }
}

.state-cta-wrap {
  padding: 40px 0;
}

.state-cta {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding: 60px 22px;
  background-color: #01183a;
  border-radius: 12px;
}

.state-cta::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 412px;
  height: 247px;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(43, 84, 242, 0.35), rgba(43, 84, 242, 0) 70%);
  pointer-events: none;
}

.state-cta-copy {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  width: 464px;
  max-width: 100%;
  border-right: 1px solid var(--c-white);
}

.state-cta-copy-inner {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 415px;
}

.state-cta-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.09;
  color: var(--c-white);
}

.state-cta-heading .accent {
  color: var(--c-orange);
}

.state-cta-lead {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5;
  color: var(--c-white);
  margin: 0;
}

.state-cta-icons {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
}

.state-cta-icon-item {
  display: flex;
  align-items: center;
  gap: 15px;
}

.state-cta-icon-item img {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
}

.state-cta-icon-item p {
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: 16px;
  line-height: 1.406;
  color: var(--c-white);
  white-space: nowrap;
  margin: 0;
}

.state-cta-icon-item .accent {
  color: var(--c-orange);
}

.state-cta-icon-item--orange p {
  color: var(--c-orange);
}

.state-cta-icon-item--orange .state-cta-white {
  color: var(--c-white);
}

.state-cta-btn {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 180px;
  height: 50px;
  background: var(--c-orange);
  border-radius: 100px;
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: 13px;
  color: var(--c-white);
  white-space: nowrap;
  transition: opacity 0.2s ease;
}

.state-cta-btn:hover {
  opacity: 0.9;
}

@media (max-width: 1024px) {
  .state-cta {
    flex-direction: column;
    align-items: flex-start;
  }

  .state-cta-copy {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid var(--c-white);
    padding-bottom: 20px;
  }

  .state-cta-copy-inner {
    max-width: 100%;
  }

  .state-cta-btn {
    width: 100%;
  }
}

@media (max-width: 576px) {
  .state-cta-heading {
    font-size: 26px;
  }

  .state-cta-icons {
    gap: 20px;
  }
}

.state-serve-wrap {
  padding: 40px 0;
}

.state-serve {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 40px 30px;
  background: linear-gradient(var(--c-white), var(--c-white)) padding-box,
    linear-gradient(135deg, var(--c-blue) 0%, var(--c-orange) 100%) border-box;
  border: 10px solid transparent;
  border-radius: 20px;
  filter: drop-shadow(0 1px 7.05px rgba(0, 0, 0, 0.15));
}

.state-serve-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.3;
  text-align: center;
  color: var(--c-blue);
}

.state-serve-heading .accent {
  color: var(--c-orange);
}

.state-serve-cols {
  display: flex;
  align-items: stretch;
  gap: 40px;
  width: 100%;
}

.state-serve-col {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.state-serve-col--panel {
  background: var(--c-bg-blue);
  border-radius: 10px;
  padding: 20px;
}

.state-serve-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
}

.state-serve-item img {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.state-serve-item-text {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 0;
  min-width: 0;
}

.state-serve-item-title {
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: 16px;
  line-height: 1.25;
  color: var(--c-blue);
  margin: 0;
}

.state-serve-item-desc {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  color: var(--c-text);
  margin: 0;
}

@media (max-width: 1024px) {
  .state-serve-cols {
    flex-direction: column;
  }
}

@media (max-width: 576px) {
  .state-serve {
    padding: 32px 20px;
    border-width: 8px;
  }

  .state-serve-heading {
    font-size: 24px;
  }
}

.state-process-wrap {
  padding: 40px 0;
}

.state-process {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
}

.state-process-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.3;
  text-align: center;
  color: var(--c-blue);
}

.state-process-heading .accent {
  color: var(--c-orange);
}

.state-process-graphic {
  width: 100%;
  max-width: 1236px;
}

.state-process-graphic img {
  display: block;
  width: 100%;
  height: auto;
}

.state-process-steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  width: 100%;
  max-width: 1236px;
}

.state-process-step {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.state-process-step-title {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.111;
  color: var(--c-blue);
  margin: 0;
  white-space: nowrap;
}

.state-process-step-title .accent {
  color: var(--c-orange);
}

.state-process-step-desc {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  color: var(--c-text);
  margin: 0;
}

@media (max-width: 1024px) {
  .state-process-steps {
    grid-template-columns: repeat(3, 1fr);
  }

  .state-process-step-title {
    white-space: normal;
  }
}

@media (max-width: 640px) {
  .state-process-steps {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .state-process-heading {
    font-size: 24px;
  }
}

@media (max-width: 400px) {
  .state-process-steps {
    grid-template-columns: 1fr;
  }
}

.state-features-wrap {
  background-color: #01183a;
}

.state-features {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 50px var(--page-gutter);
}

.state-features::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 677px;
  height: 625px;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(43, 84, 242, 0.35), rgba(43, 84, 242, 0) 70%);
  pointer-events: none;
}

.state-features-intro {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 439px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.state-features-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.09;
  color: var(--c-white);
}

.state-features-heading .accent {
  color: var(--c-orange);
}

.state-features-lead {
  max-width: 376px;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.575;
  color: var(--c-white);
  margin: 0;
}

.state-features-decor-arrow {
  position: absolute;
  right: -25px;
  bottom: 70px;
  width: 105px;
  height: auto;
  pointer-events: none;
}

.state-features-grid {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 30px;
  flex: 1 1 0;
  min-width: 0;
}

.state-features-col {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px 0;
}

.state-features-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

.state-features-badge {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 43px;
  background: var(--c-white);
}

.state-features-badge img {
  width: 30px;
  height: 30px;
}

.state-features-item p {
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.225;
  color: var(--c-white);
  margin: 0;
}

.state-features-item p strong {
  font-weight: 700;
}

@media (max-width: 1100px) {
  .state-features {
    flex-direction: column;
    align-items: flex-start;
  }

  .state-features-intro {
    width: 100%;
  }

  .state-features-decor-arrow {
    display: none;
  }

  .state-features-grid {
    flex-direction: column;
  }
}

@media (max-width: 576px) {
  .state-features-heading {
    font-size: 26px;
  }

  .state-features {
    padding: 32px var(--page-gutter);
  }
}

.state-choose-wrap {
  padding: 40px 0;
}

.state-choose {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  width: 100%;
}

.state-choose-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.3;
  text-align: center;
  color: var(--c-blue);
}

.state-choose-heading .accent {
  color: var(--c-orange);
}

.state-choose-diagram {
  display: grid;
  grid-template-columns: 1fr 349px 1fr;
  grid-template-areas: "tl graphic tr" "bl graphic br";
  align-items: center;
  column-gap: 20px;
  row-gap: 20px;
  width: 100%;
  max-width: 1240px;
}

.state-choose-graphic {
  grid-area: graphic;
  width: 349px;
  max-width: 100%;
  margin: 0 auto;
}

.state-choose-graphic img {
  display: block;
  width: 100%;
  height: auto;
}

.state-choose-label p {
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: 20px;
  line-height: 1.44;
  color: var(--c-text);
  margin: 0;
}

.state-choose-label--tl {
  grid-area: tl;
  text-align: right;
}

.state-choose-label--tr {
  grid-area: tr;
  text-align: left;
}

.state-choose-label--bl {
  grid-area: bl;
  text-align: right;
}

.state-choose-label--br {
  grid-area: br;
  text-align: left;
}

@media (max-width: 900px) {
  .state-choose-diagram {
    grid-template-columns: 1fr;
    grid-template-areas: "graphic" "tl" "tr" "bl" "br";
    justify-items: center;
    row-gap: 16px;
  }

  .state-choose-label--tl,
  .state-choose-label--tr,
  .state-choose-label--bl,
  .state-choose-label--br {
    text-align: center;
  }
}

@media (max-width: 576px) {
  .state-choose-heading {
    font-size: 24px;
  }
}

.state-coding-wrap {
  background: var(--c-bg-blue);
  padding: 40px 0;
}

.state-coding {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
}

.state-coding-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
  max-width: 812px;
}

.state-coding-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.4;
  color: var(--c-blue);
}

.state-coding-heading .accent {
  color: var(--c-orange);
}

.state-coding-lead {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.575;
  color: var(--c-text);
  margin: 0;
}

.state-coding-grid {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 216px;
  width: 100%;
  max-width: 1240px;
}

.state-coding-col {
  position: relative;
  z-index: 1;
  flex: 1 1 0;
  min-width: 0;
  max-width: 512px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.state-coding-card {
  width: 100%;
  min-height: 170px;
  box-sizing: border-box;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  background: linear-gradient(var(--c-white), var(--c-white)) padding-box,
    linear-gradient(90deg, var(--c-blue) 0%, var(--c-orange) 100%) border-box;
  border: 2px solid transparent;
  border-radius: 6px;
}

.state-coding-col--right .state-coding-card {
  padding-left: 90px;
}

/* The ring badge bulges into the middle left card: keep its text clear of it
   (the design build set max-width: 422px inline on the NJ page only). */
.state-coding-col:not(.state-coding-col--right) .state-coding-card:nth-child(2) {
  padding-right: 70px;
}

.state-coding-card h3 {
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: 20px;
  line-height: 1.44;
  color: var(--c-blue);
  margin: 0;
}

.state-coding-card p {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.543;
  color: var(--c-text);
  margin: 0;
}

.state-coding-badge {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 354px;
  height: 354px;
  pointer-events: none;
}

@media (max-width: 1100px) {
  .state-coding-grid {
    flex-direction: column;
    gap: 20px;
  }

  .state-coding-col {
    max-width: 100%;
  }

  .state-coding-col--right .state-coding-card,
  .state-coding-col:not(.state-coding-col--right) .state-coding-card:nth-child(2) {
    padding-left: 20px;
    padding-right: 20px;
  }

  .state-coding-badge {
    display: none;
  }
}

@media (max-width: 576px) {
  .state-coding-heading {
    font-size: 24px;
  }

  .state-coding-card {
    min-height: 0;
  }
}

.state-payer-wrap {
  background: var(--c-bg-blue);
  padding: 40px 0;
}

.state-payer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.state-payer-graphic {
  position: relative;
  width: 100%;
  max-width: 1244px;
  aspect-ratio: 1244 / 570;
}

.state-payer-badge {
  position: absolute;
  left: 0.635%;
  top: 14.719%;
  width: 31.578%;
  height: 68.912%;
  pointer-events: none;
}

.state-payer-check {
  position: absolute;
}

.state-payer-line {
  position: absolute;
  height: 2px;
  background: var(--c-blue);
}

.state-payer-dot {
  position: absolute;
  border-radius: 50%;
  background: var(--c-white);
  border: 2px solid var(--c-blue);
  box-sizing: border-box;
  z-index: 1;
}

.state-payer-card {
  position: absolute;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 20px;
  background: var(--c-white);
  border-radius: 15px;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.15));
}

.state-payer-card h3 {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.25;
  color: var(--c-text);
  margin: 0;
}

.state-payer-card p {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  color: var(--c-text);
  margin: 0;
}

@media (max-width: 1300px) {
  .state-payer-graphic {
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: auto;
    aspect-ratio: auto;
  }

  .state-payer-badge,
  .state-payer-check,
  .state-payer-line,
  .state-payer-dot {
    display: none;
  }

  .state-payer-card {
    position: static;
    width: 100% !important;
  }
}

.state-case-wrap {
  padding: 80px 0;
}

.state-case {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}

.state-case-photo-wrap {
  position: relative;
  flex-shrink: 0;
  width: 544px;
  max-width: 100%;
  aspect-ratio: 544 / 498;
  border-radius: 10px;
  background: linear-gradient(to top, rgba(39, 55, 117, 0.6) 29.688%, rgba(252, 93, 97, 0.6) 99.881%);
}

.state-case-photo-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 82.72%;
  height: 85.54%;
  border-radius: 10px;
  overflow: hidden;
  box-sizing: border-box;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.state-case-photo-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.state-case-photo-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(50, 177, 171, 0), #6f6bae);
}

.state-case-photo-text {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.state-case-photo-text h3 {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.41;
  color: var(--c-white);
  margin: 0;
}

.state-case-photo-role {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: var(--c-white);
  margin: 4px 0 0;
}

.state-case-photo-quote {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
  color: var(--c-white);
  margin: 0;
}

.state-case-badge {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border-radius: 5px;
  background: linear-gradient(90deg, var(--c-blue) 29.8%, var(--c-orange) 100%);
}

.state-case-badge p {
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5625;
  color: var(--c-white);
  margin: 0;
}

.state-case-badge--top {
  left: 42.279%;
  top: -9.222%;
  width: 60.110%;
}

.state-case-badge--bottom {
  left: -4.779%;
  top: 96.803%;
  width: 62.316%;
}

.state-case-content {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.state-case-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.state-case-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: 16px;
  color: var(--c-blue);
  text-decoration: underline;
  white-space: nowrap;
}

.state-case-link img {
  width: 18px;
  height: 18px;
}

.state-case-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.09;
  color: var(--c-text);
}

.state-case-heading .accent {
  color: var(--c-orange);
}

.state-case-text {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.575;
  color: var(--c-text);
}

.state-case-text p {
  margin: 0 0 25px;
}

.state-case-text p:last-child {
  margin-bottom: 0;
}

.state-case-outcomes {
  background: var(--c-bg-blue);
  border-radius: 15px;
  padding: 20px;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.15));
}

.state-case-outcomes-title {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.25;
  color: var(--c-blue);
  margin: 0 0 10px;
}

.state-case-outcomes-list {
  margin: 0;
  padding-left: 21px;
  list-style: disc;
}

.state-case-outcomes-list li {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  color: var(--c-text);
}

.state-case-outcomes-list li strong {
  font-weight: 700;
  color: var(--c-orange);
}

@media (max-width: 1024px) {
  .state-case {
    flex-direction: column;
  }

  .state-case-photo-wrap {
    width: 100%;
    max-width: 544px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .state-case-photo-wrap {
    display: flex;
    flex-direction: column;
    aspect-ratio: auto;
    background: none;
    gap: 16px;
  }

  .state-case-photo-inner {
    position: static;
    order: 2;
    transform: none;
    width: 100%;
    height: auto;
    min-height: 380px;
  }

  .state-case-badge {
    position: static;
    width: 100% !important;
    box-sizing: border-box;
  }

  .state-case-badge--top {
    order: 1;
  }

  .state-case-badge--bottom {
    order: 3;
  }
}

@media (max-width: 576px) {
  .state-case-heading {
    font-size: 26px;
  }

  .state-case-badge {
    padding: 10px 16px;
  }

  .state-case-badge p {
    font-size: 14px;
  }
}

.state-cities-wrap {
  padding: 40px 0;
}

.state-cities {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}

.state-cities-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.4;
  text-align: center;
  color: var(--c-blue);
  max-width: 706px;
}

.state-cities-heading .accent {
  color: var(--c-orange);
}

.state-cities-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  width: 100%;
}

.state-cities-card {
  position: relative;
  aspect-ratio: 296 / 230;
  background: var(--c-white);
  border: 1px solid #f4f4f4;
  border-radius: 8px;
  overflow: hidden;
  filter: drop-shadow(0 0 6.05px rgba(0, 0, 0, 0.04));
}

.state-cities-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.state-cities-label {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 51px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-white);
  border-radius: 5px;
  box-shadow: 0 4px 1px rgba(0, 0, 0, 0.07);
}

.state-cities-label span {
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: 24px;
  line-height: 1.417;
  background: linear-gradient(90deg, var(--c-blue) 29.8%, var(--c-orange) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

@media (max-width: 900px) {
  .state-cities-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .state-cities-heading {
    font-size: 24px;
  }

  .state-cities-grid {
    grid-template-columns: 1fr;
  }

  .state-cities-label span {
    font-size: 20px;
  }
}

.state-credentialing-wrap {
  padding: 40px 0;
}

.state-credentialing {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
}

.state-credentialing-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  max-width: 812px;
  text-align: center;
}

.state-credentialing-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.406;
  text-transform: capitalize;
  color: var(--c-blue);
  margin: 0;
}

.state-credentialing-heading .accent {
  color: var(--c-orange);
}

.state-credentialing-subhead {
  font-size: 16px;
  line-height: 1.575;
  color: var(--c-text);
  margin: 0;
}

.state-credentialing-graphic {
  width: 100%;
  max-width: 1240px;
}

.state-credentialing-graphic img {
  display: block;
  width: 100%;
  height: auto;
}

.state-credentialing-cols {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  width: 100%;
  max-width: 1240px;
}

.state-credentialing-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.state-credentialing-col-title {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.323;
  color: var(--c-text);
  margin: 0;
}

.state-credentialing-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.state-credentialing-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.state-credentialing-list img {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.state-credentialing-list span {
  flex: 1;
  font-size: 14px;
  line-height: 1.564;
  color: var(--c-text);
}

@media (max-width: 1024px) {
  .state-credentialing-cols {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px 18px;
  }
}

@media (max-width: 768px) {
  .state-credentialing-heading {
    font-size: 26px;
  }
}

@media (max-width: 640px) {
  .state-credentialing-cols {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .state-credentialing-heading {
    font-size: 22px;
  }

  .state-credentialing-subhead {
    font-size: 15px;
  }
}

@media (max-width: 400px) {
  .state-credentialing-cols {
    grid-template-columns: 1fr;
  }
}

.state-credential-cta-wrap {
  padding: 20px 0 40px;
}

.state-credential-cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  background: #eff2ff;
  border: 2px solid transparent;
  border-radius: 12px;
  padding: 20px 24px;
  overflow: hidden;
}

.state-credential-cta-border {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

.state-credential-cta-decor {
  position: absolute;
  left: 72.6%;
  top: 38.75%;
  width: 6.45%;
  height: auto;
  pointer-events: none;
  z-index: 0;
}

.state-credential-cta-copy {
  position: relative;
  z-index: 1;
  flex: 0 0 436px;
  max-width: 436px;
  padding-right: 24px;
  border-right: 1px solid #3d3d3d;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.state-credential-cta-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 28px;
  line-height: 1.071;
  color: var(--c-blue);
  margin: 0;
}

.state-credential-cta-heading .accent {
  color: var(--c-orange);
}

.state-credential-cta-lead {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.714;
  color: var(--c-text);
  margin: 0;
}

.state-credential-cta-stats {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 44px;
}

.state-credential-cta-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  width: 95px;
  text-align: center;
}

.state-credential-cta-stat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(39, 55, 117, 0.1);
  flex-shrink: 0;
}

.state-credential-cta-stat-icon img {
  width: 24px;
  height: 24px;
}

.state-credential-cta-stat p {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.607;
  color: var(--c-text);
  margin: 0;
}

.state-credential-cta-action {
  position: relative;
  z-index: 1;
  flex: 0 0 230px;
  max-width: 230px;
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.state-credential-cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding: 8px 14px;
  border-radius: 5px;
  background: var(--c-orange);
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

.state-credential-cta-btn:hover {
  background: var(--c-blue);
}

.state-credential-cta-caption {
  font-size: 12px;
  line-height: 1.333;
  color: var(--c-text);
  margin: 0;
}

@media (max-width: 1100px) {
  .state-credential-cta {
    flex-wrap: wrap;
    gap: 32px 24px;
  }

  .state-credential-cta-decor {
    display: none;
  }

  .state-credential-cta-copy {
    flex: 1 1 100%;
    max-width: 100%;
    border-right: none;
    padding-right: 0;
    border-bottom: 1px solid #3d3d3d;
    padding-bottom: 24px;
  }

  .state-credential-cta-stats {
    flex: 1 1 auto;
  }

  .state-credential-cta-action {
    flex: 0 0 auto;
    max-width: none;
  }
}

@media (max-width: 640px) {
  .state-credential-cta {
    flex-direction: column;
    align-items: stretch;
  }

  .state-credential-cta-stats {
    justify-content: space-between;
    gap: 16px;
  }

  .state-credential-cta-stat {
    width: auto;
    flex: 1 1 0;
  }

  .state-credential-cta-action {
    width: 100%;
  }

  .state-credential-cta-heading {
    font-size: 24px;
  }
}

.state-onboarding-wrap {
  padding: 40px 0;
}

.state-onboarding {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
}

.state-onboarding-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  max-width: 1040px;
  text-align: center;
}

.state-onboarding-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.406;
  text-transform: capitalize;
  color: var(--c-blue);
  margin: 0;
}

.state-onboarding-heading .accent {
  color: var(--c-orange);
}

.state-onboarding-subhead {
  font-size: 16px;
  line-height: 1.575;
  color: var(--c-text);
  margin: 0;
}

.state-onboarding-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  width: 100%;
}

.state-onboarding-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 15px;
  overflow: hidden;
  padding-bottom: 20px;
}

.state-onboarding-card-head {
  display: flex;
  align-items: center;
  height: 52px;
  padding: 10px 20px;
  background: linear-gradient(90deg, #273775 29.808%, #fc5d61 100%);
  color: #fff;
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.4;
}

.state-onboarding-card-body {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 0 20px;
}

.state-onboarding-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 10px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 2.5px rgba(0, 0, 0, 0.25);
}

.state-onboarding-card-icon img {
  width: 30px;
  height: 30px;
}

.state-onboarding-card-text {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
  min-width: 0;
}

.state-onboarding-card-title {
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: 18px;
  line-height: 1.556;
  color: var(--c-text);
  margin: 0;
}

.state-onboarding-card-desc {
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: -0.6px;
  color: var(--c-text);
  margin: 0;
}

@media (max-width: 900px) {
  .state-onboarding-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 576px) {
  .state-onboarding-heading {
    font-size: 24px;
  }

  .state-onboarding-card-body {
    gap: 14px;
  }
}

.state-lead-form-wrap {
  padding: 40px 0;
}

.state-lead-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  width: 100%;
  background: #eff2ff;
  border-radius: 12px;
  padding: 20px;
}

.state-lead-form-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 942px;
  text-align: center;
}

.state-lead-form-head-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--c-blue);
  flex-shrink: 0;
}

.state-lead-form-head-icon img {
  width: 30px;
  height: 30px;
}

.state-lead-form-heading {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 32px;
  line-height: 1.3;
  color: var(--c-blue);
  margin: 0;
  max-width: 896px;
}

.state-lead-form-subhead {
  font-size: 16px;
  line-height: 1.3;
  color: var(--c-text);
  margin: 10px 0 0;
}

.state-lead-form-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 21px;
}

.state-lead-form-row {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  width: 100%;
}

.state-lead-form-fields {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-self: stretch;
  padding-bottom: 14px;
}

.state-lead-form-checks {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding-bottom: 32px;
}

.state-lead-form-subhead-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.state-lead-form-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--c-blue);
  flex-shrink: 0;
}

.state-lead-form-badge img {
  width: 14px;
  height: 14px;
}

.state-lead-form-section-title {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 14px;
  color: var(--c-blue);
  margin: 0;
}

.state-lead-form-fieldset {
  display: flex;
  gap: 10px;
  width: 100%;
}

.state-lead-form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1 1 0;
  min-width: 0;
  position: relative;
}

.state-lead-form-field > span:first-child {
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: 12px;
  color: var(--c-text);
}

.state-lead-form-field input,
.state-lead-form-field select,
.state-lead-form-field textarea {
  width: 100%;
  height: 38px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 0 11px;
  font-family: var(--font-primary);
  font-size: 14px;
  color: var(--c-text);
  background: #fff;
  outline: none;
  transition: border-color 0.2s ease;
}

.state-lead-form-field input:focus,
.state-lead-form-field select:focus,
.state-lead-form-field textarea:focus {
  border-color: var(--c-blue);
}

.state-lead-form-field input::placeholder,
.state-lead-form-field textarea::placeholder {
  color: #9a9a9f;
}

.state-lead-form-field select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #9a9a9f;
  padding-right: 32px;
  cursor: pointer;
}

.state-lead-form-field select:valid {
  color: var(--c-text);
}

.state-lead-form-select-chevron {
  position: absolute;
  right: 11px;
  bottom: 9px;
  width: 20px;
  height: 20px;
  pointer-events: none;
  transform: rotate(180deg);
}

.state-lead-form-icon-input {
  position: relative;
  display: block;
  width: 100%;
}

.state-lead-form-icon-input input {
  padding-right: 36px;
}

.state-lead-form-icon-input img {
  position: absolute;
  right: 11px;
  top: 50%;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  pointer-events: none;
}

.state-lead-form-field--grow {
  flex: 1 1 0;
  min-height: 0;
}

.state-lead-form-field--grow textarea {
  height: 100%;
  min-height: 96px;
  padding: 11px;
  resize: vertical;
  line-height: 1.286;
}

.state-lead-form-checks-hint {
  font-weight: 500;
  font-size: 14px;
  color: #9a9a9f;
  margin: 0;
  padding: 16px 0 12px;
}

.state-lead-form-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  padding: 9px 0 10px;
  border-bottom: 1px solid #e5e7eb;
  cursor: pointer;
}

.state-lead-form-check--last {
  border-bottom: none;
  padding-bottom: 9px;
}

.state-lead-form-check input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  border: 1px solid #e5e7eb;
  border-radius: 2.5px;
  background: #fff;
  cursor: pointer;
}

.state-lead-form-check input[type="checkbox"]:checked {
  background: var(--c-blue);
  border-color: var(--c-blue);
}

.state-lead-form-check input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.state-lead-form-check span {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.4;
  color: var(--c-text);
}

.state-lead-form-submit {
  width: 100%;
  height: 46px;
  border: none;
  border-radius: 8px;
  background: var(--c-blue);
  color: #fff;
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.state-lead-form-submit:hover {
  background: var(--c-orange);
}

.state-lead-form-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.state-lead-form-privacy {
  font-weight: 500;
  font-size: 14px;
  color: var(--c-text);
  text-align: center;
  margin: 0;
}

.state-lead-form-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}

.state-lead-form-trust-item {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 5px;
  font-weight: 500;
  font-size: 14px;
  color: var(--c-text);
}

.state-lead-form-trust-item img {
  width: 16px;
  height: 16px;
}

@media (max-width: 900px) {
  .state-lead-form-row {
    flex-direction: column;
    align-items: stretch;
  }

  .state-lead-form-fields {
    padding-bottom: 0;
  }

  .state-lead-form-checks {
    padding-bottom: 0;
  }

  .state-lead-form-field--grow {
    flex: none;
  }
}

@media (max-width: 576px) {
  .state-lead-form-heading {
    font-size: 24px;
  }

  .state-lead-form-fieldset {
    flex-direction: column;
  }

  .state-lead-form-trust {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

.svc-faq {
  position: relative;
  overflow: hidden;
  background: #EFF2FF;
  padding: 80px 0;
}

.svc-faq-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  transform: translate(-50%, -50%);
  width: 1318px;
  max-width: 130%;
  height: auto;
  pointer-events: none;
}

.svc-faq-grid {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 100px;
}

.svc-faq-intro {
  flex: 1 1 350px;
  max-width: 426px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.svc-faq-heading {
  margin: 0;
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: 48px;
  line-height: 1.25;
  color: #3D3D3D;
}

.svc-faq-subheading {
  margin: 0;
  font-family: var(--font-primary);
  font-weight: 400;
  font-size: 20px;
  color: #3D3D3D;
}

.svc-faq-nav {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  padding: 10px 0;
}

.svc-faq-nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 16px 24px;
  border-radius: 5px;
  background: var(--c-white);
  color: var(--c-text);
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: 20px;
  text-decoration: none;
  box-sizing: border-box;
}

.svc-faq-nav-link img {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  transform: rotate(-90deg);
}

.svc-faq-nav-link.is-active {
  background: var(--c-orange);
  color: var(--c-white);
  font-weight: 700;
}

.svc-faq-card {
  flex: 1 1 500px;
  max-width: 713px;
  padding: 40px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(11.2px);
  -webkit-backdrop-filter: blur(11.2px);
  box-sizing: border-box;
}

.svc-faq-accordion {
  display: flex;
  flex-direction: column;
}

.svc-faq-item {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #3D3D3D;
}

.svc-faq-item--last {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.svc-faq-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-primary);
  font-weight: 400;
  font-size: 20px;
  line-height: 1.4;
  color: #3D3D3D;
}

.svc-faq-item.is-open .svc-faq-header {
  font-weight: 700;
}

.svc-faq-chevron {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 2px;
}

.svc-faq-chevron img {
  width: 14px;
  height: 14px;
  transition: transform 0.25s ease;
}

.svc-faq-item.is-open .svc-faq-chevron img {
  transform: rotate(180deg);
}

.svc-faq-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.svc-faq-item.is-open .svc-faq-body {
  max-height: 300px;
}

.svc-faq-body p {
  margin: 0;
  padding-top: 16px;
  font-family: var(--font-primary);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.575;
  color: #3D3D3D;
}

@media (max-width: 1024px) {
  .svc-faq-grid {
    flex-direction: column;
    gap: 40px;
  }

  .svc-faq-intro {
    max-width: 100%;
  }

  .svc-faq-card {
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 640px) {
  .svc-faq-heading {
    font-size: 34px;
  }

  .svc-faq-card {
    padding: 24px;
  }

  .svc-faq-header {
    font-size: 17px;
  }
}



/* ============================================================= */
/* Form validation + submit result (script-v2.js [data-state-booking]) */
/* ============================================================= */
.state-consult-field.is-invalid {
  border-color: #d92d20;
}

.state-lead-form-field.is-invalid input,
.state-lead-form-field.is-invalid select,
.state-lead-form-field.is-invalid textarea {
  border-color: #d92d20;
}

.state-booking-response {
  width: 100%;
  margin: 0;
  padding: 10px 14px;
  font-family: var(--font-primary);
  font-size: 14px;
  line-height: 1.5;
  border-radius: 8px;
}

.state-booking-response.is-success {
  color: #067647;
  background: #ecfdf3;
}

.state-booking-response.is-error {
  color: #b42318;
  background: #fef3f2;
}

/* ============================================================= */
/* Undo the site-wide element rules the design build doesn't have */
/* (e.g. h2 { text-transform: capitalize }), as home-v2 does.     */
/* :where() keeps element specificity so every class rule wins.   */
/* ============================================================= */
:where(.state-v2) h1, :where(.state-v2) h2, :where(.state-v2) h3,
:where(.state-v2) h4, :where(.state-v2) h5, :where(.state-v2) h6 {
  color: inherit;
  text-transform: none;
}

:where(.state-v2) p {
  color: inherit;
  line-height: inherit;
}

:where(.state-v2) a {
  transition: initial;
}

/* CTA bar icon items with orange labels and white highlighted words (Texas). */
.state-cta-icon-item--orange p {
  color: var(--c-orange);
}

.state-cta-icon-item--orange .state-cta-white {
  color: var(--c-white);
}

/* In-copy links to service pages: brand orange with an underline, blue on hover.
   The underline is a border because style-v2.css forces
   a { text-decoration: none !important }. */
.state-v2 .state-inline-link {
  color: var(--c-orange);
  font-weight: 600;
  transition: color 0.2s ease;
}

.state-v2 .state-inline-link:hover,
.state-v2 .state-inline-link:focus-visible {
  color: var(--c-blue);
}

/* ============================================================= */
/* Animation                                                      */
/* Uses the individual translate / scale properties (not          */
/* transform) so it composes with the transforms the page already */
/* uses for centring and hover effects.                           */
/* ============================================================= */
@keyframes state-rise {
  from { opacity: 0; translate: 0 24px; }
  to   { opacity: 1; translate: 0 0; }
}

@keyframes state-zoom {
  from { opacity: 0; scale: 0.94; }
  to   { opacity: 1; scale: 1; }
}

@keyframes state-settle {
  from { scale: 1.08; }
  to   { scale: 1; }
}

@keyframes state-fade {
  from { opacity: 0; translate: 12px 0; }
  to   { opacity: 1; translate: 0 0; }
}

/* Hero plays on first paint in pure CSS, so there is no flash while the
   deferred script loads. */
.state-v2 .state-consult-bg-img {
  animation: state-settle 1.8s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.state-v2 .state-consult-copy > * {
  animation: state-rise 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.state-v2 .state-consult-copy > :nth-child(2) { animation-delay: 0.08s; }
.state-v2 .state-consult-copy > :nth-child(3) { animation-delay: 0.16s; }
.state-v2 .state-consult-copy > :nth-child(4) { animation-delay: 0.22s; }
.state-v2 .state-consult-copy > :nth-child(5) { animation-delay: 0.28s; }
.state-v2 .state-consult-copy > :nth-child(6) { animation-delay: 0.34s; }
.state-v2 .state-consult-copy > :nth-child(7) { animation-delay: 0.42s; }

.state-v2 .state-consult-card {
  animation: state-zoom 0.8s 0.3s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

/* A newly selected services panel eases in (display: none -> flex restarts it). */
.state-v2 .state-services-panel-content.is-active {
  animation: state-fade 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* FAQ category tabs (script-v2.js [data-faq-tabs]): only the chosen accordion
   shows, and it eases in the same way when its tab is picked. */
.state-v2 .svc-faq-accordion[hidden] {
  display: none;
}

.state-v2 .svc-faq-accordion:not([hidden]) {
  animation: state-fade 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* The category tabs are <button>s (the design used links): drop the UA button look. */
.state-v2 .svc-faq-nav-link {
  border: 0;
  cursor: pointer;
  text-align: left;
  line-height: 1.4;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.state-v2 .svc-faq-nav-link:not(.is-active):hover {
  background: #fff4f4;
}

.state-v2 .svc-faq-nav-link:focus-visible,
.state-v2 .svc-faq-header:focus-visible {
  outline: 2px solid var(--c-blue);
  outline-offset: 3px;
}

/* One down-chevron asset: points right on a tab, left and white on the active one. */
.state-v2 .svc-faq-nav-link img {
  transition: transform 0.2s ease;
}

.state-v2 .svc-faq-nav-link.is-active img {
  transform: rotate(90deg);
  filter: brightness(0) invert(1);
}

/* Room for the longest answers on narrow screens (the design capped this at 300px). */
.state-v2 .svc-faq-item.is-open .svc-faq-body {
  max-height: 640px;
}

/* Scroll reveal — script-v2.js tags below-the-fold elements with
   [data-anim] and adds .is-in when they scroll into view, then removes
   both once played so each element's own transitions/hover return. */
.state-v2 [data-anim] {
  opacity: 0;
  transition:
    opacity 0.7s cubic-bezier(0.2, 0.7, 0.2, 1),
    translate 0.7s cubic-bezier(0.2, 0.7, 0.2, 1),
    scale 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
  transition-delay: var(--anim-delay, 0s);
  will-change: opacity, translate;
}

.state-v2 [data-anim="up"]    { translate: 0 32px; }
.state-v2 [data-anim="left"]  { translate: -40px 0; }
.state-v2 [data-anim="right"] { translate: 40px 0; }
.state-v2 [data-anim="zoom"]  { scale: 0.94; }

.state-v2 [data-anim].is-in {
  opacity: 1;
  translate: 0 0;
  scale: 1;
}

/* Keep sideways reveals from creating a horizontal scrollbar mid-animation
   (clip, unlike hidden, doesn't create a scroll container, so sticky still works). */
.state-v2 {
  overflow-x: clip;
}

@media (prefers-reduced-motion: reduce) {
  .state-v2 .state-consult-bg-img,
  .state-v2 .state-consult-copy > *,
  .state-v2 .state-consult-card,
  .state-v2 .state-services-panel-content.is-active,
  .state-v2 .svc-faq-accordion:not([hidden]) {
    animation: none;
  }

  .state-v2 [data-anim] {
    opacity: 1;
    translate: none;
    scale: none;
    transition: none;
  }
}
