/* v5: headline wrapping, four principles and text readability only. */

/* The headline keeps every original font setting at every breakpoint. */
.hero__first-line { white-space: nowrap; }

/* Four principles form one prominent group in the existing brand palette. */
.assurance-grid {
  overflow: hidden;
  border: 1px solid var(--petrol-deep);
  border-top: 4px solid var(--orange);
  border-radius: 22px;
  color: var(--white);
  background: var(--petrol);
  box-shadow: 0 16px 38px rgba(14, 45, 46, .12);
}
.assurance-grid article {
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 14px;
  min-height: 132px;
  padding: 24px 22px;
  border-color: rgba(255, 255, 255, .2);
}
.assurance-grid span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: var(--petrol-deep);
  background: var(--orange);
  font-size: .875rem;
  line-height: 1;
  font-weight: 800;
}
.assurance-grid p { color: var(--white); font-size: 1rem; line-height: 1.5; font-weight: 700; }

/* Readable body copy, with the original display headings left intact. */
body { font-weight: 500; }
.role-card li,
.journey-steps p,
.risk-card p,
.control__promise span,
.trial-metrics p,
.standard-list p,
.document-card p,
.contact__prompt p {
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 500;
}
.journey-steps p, .document-card p, .trial-metrics p { color: #435659; }
.risk-card p, .control__promise span { color: #d6e3de; }
.control__sticky > p, .trial-card__main p, .contact__copy p { color: #d1e0da; }

.hero__status, .metrics-note, .legal__copy > small, .footer p {
  font-size: .875rem;
  line-height: 1.55;
  font-weight: 500;
}
.hero__status, .metrics-note, .legal__copy > small { color: #4b5f62; }
.footer { color: #43575a; }

.eyebrow, .section-kicker, .separation-card__accent,
.role-card__head small, .document-card--action small,
.contact__cards small, .contact__cards span {
  font-size: .875rem;
  line-height: 1.4;
}
.eyebrow, .section-kicker { letter-spacing: .085em; }
.section-kicker { color: #9b4a05; }
.section-kicker--light { color: #f3b369; }
.role-card__head small { color: #4b5f62; font-weight: 600; letter-spacing: .07em; }
.role-card--operator .role-card__head small, .contact__cards small { color: #c4d8cf; }
.contact__cards small { font-weight: 600; }

.topline { font-size: .875rem; line-height: 1.5; letter-spacing: .045em; }
.topline__note { color: #c4d8cf; }
.header-contact span { color: #4b5f62; font-size: .875rem; letter-spacing: .05em; font-weight: 600; }
.header-contact strong { font-size: 1rem; }

.journey-steps li > span, .risk-card > span,
.document-card > span, .standard-list span { font-size: .875rem; }
.standard-list span { color: #9b4a05; }
.role-card__number { color: var(--petrol-deep); }

.hero__image-label p, .team__photo > span { font-size: .875rem; line-height: 1.4; font-weight: 600; }
.hero__seal { color: var(--petrol-deep); }
.hero__seal span, .hero__seal small { font-size: .75rem; letter-spacing: .025em; font-weight: 700; }
.team__photo img { height: calc(100% - 96px); }

.document-card--action button[data-copy-email], .legal-links a { font-size: 1rem; }
.document-card--action button[data-copy-email] { color: #291b0c; border-bottom-color: #613509; }
.legal-links a { line-height: 1.5; }
.email-toast__message { font-size: 1rem; }

@media (max-width: 1040px) {
  .assurance-grid article:nth-child(-n+2) { border-bottom-color: rgba(255, 255, 255, .2); }
}
@media (min-width: 561px) and (max-width: 820px) {
  /* Keep the larger process text in comfortably wide columns. */
  .journey-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .hero__lead { font-size: 1.0625rem; }
  .assurance-grid { border-radius: 18px; }
  .assurance-grid article { min-height: 104px; padding: 20px; border-bottom-color: rgba(255, 255, 255, .2); }
  .separation-card p { font-size: 1rem; }
  .mobile-contact-bar a, .mobile-contact-bar button[data-copy-email] { font-size: 1rem; }
}
@media (max-width: 359px) {
  .trial-metrics { grid-template-columns: 1fr; }
}

@media print {
  .assurance-grid { color: #000; background: #fff; border: 1px solid #777; box-shadow: none; }
  .assurance-grid p { color: #000; }
  .assurance-grid article { border-color: #777; }
}
