/* Shared content rhythm; the hero retains its own composition. */
main > .content-section {
  --section-gutter: 48px;
  --section-space: 80px;
  --section-inner-gap: 32px;
  --section-title: clamp(44px, 4vw, 56px);
  --section-body: 18px;
  --section-gold: #eccb72;
  width: min(1280px, calc(100% - var(--section-gutter) * 2));
  max-width: 1280px;
  margin: var(--section-space) auto;
  padding: 0;
  border-radius: 0;
  font-family: Hero Golos, Golos, sans-serif;
  font-size: var(--section-body);
  line-height: 1.6;
  letter-spacing: 0;
  scroll-margin-top: 32px;
}
main > section.content-section h2,
main > .simulation.content-section .simulation-intro h2 {
  font-family: inherit;
  font-size: var(--section-title);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: 0;
  text-transform: none;
}
.content-section :is(h3, p, strong, dd, output) { letter-spacing: 0; }
.content-section :is(.software-heading, .diagnosis-copy, .implementation-header) {
  display: block;
  max-width: 800px;
  margin: 0 0 var(--section-inner-gap);
  padding: 0;
  text-align: left;
}
.content-section :is(.software-heading, .diagnosis-copy, .implementation-intro) > p {
  font-size: var(--section-body);
  line-height: 1.6;
}
.content-section :is(.software-heading, .implementation-intro) > p { margin-top: 16px; }
.content-section :is(h2 span, .diagnosis-details) { color: var(--section-gold); }
.content-section .cta {
  min-height: 48px;
  max-width: 100%;
  padding: 12px 24px;
  gap: 16px;
  border-radius: 8px;
  background: var(--section-gold);
  color: #080808;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  white-space: normal;
}
.content-section .cta:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.simulation.content-section .simulation-revenue dd { font-size: 48px; }
main > .bv-faq.content-section { background: #fff; color: #171922; }
.bv-faq.content-section .bv-faq-panel { padding: 40px; border-radius: 0; gap: var(--section-inner-gap); }
.bv-faq.content-section h2 { color: #171922; }
.bv-faq.content-section h2 span { color: #986113; }
.bv-faq.content-section .bv-faq-heading > p:last-child { font-size: var(--section-body); }
.bv-faq.content-section .bv-faq-list { padding-bottom: 0; }
.bv-faq.content-section .bv-faq-photo { margin: 0; }
.bv-faq.content-section .bv-faq-photo img { border-radius: 0; }
.bv-faq.content-section :is(.bv-faq-item, .bv-faq-item summary) { border-radius: 8px; }
.bv-faq.content-section :is(.bv-faq-item summary, .bv-faq-answer) { font-size: 16px; }
.bv-closing.content-section .bv-closing-banner { padding: 64px 40px; border-radius: 0; gap: var(--section-inner-gap); text-align: center; justify-items: center; }
.bv-closing.content-section .bv-closing-copy { --od-gap: 16px; align-items: center; }
.bv-closing.content-section .bv-closing-copy > p:last-child { font-size: var(--section-body); }
.bv-closing.content-section .bv-closing-shortcut { border-radius: 8px; }
@media (min-width: 768px) and (max-width: 1099px) {
  main > .content-section { --section-gutter: 32px; --section-title: 44px; }
  .bv-faq.content-section .bv-faq-panel { padding: 32px; }
}
@media (max-width: 767px) {
  main > .content-section { --section-gutter: 24px; --section-space: 56px; --section-inner-gap: 24px; --section-title: 36px; --section-body: 16px; }
  .simulation.content-section .simulation-revenue dd { font-size: 36px; }
  .simulation.content-section .simulation-estimate { padding: 24px 16px 0; }
  .bv-faq.content-section .bv-faq-panel { padding: 24px 16px; }
  .bv-faq.content-section .bv-faq-item summary { grid-template-columns: 22px minmax(0, 1fr) 18px; gap: 8px; padding: 12px 8px; }
  .bv-closing.content-section .bv-closing-banner { padding: 40px 16px; }
  .bv-closing.content-section .bv-closing-shortcut { padding: 20px 16px; gap: 12px; grid-template-columns: 28px minmax(0, 1fr) 20px; }
}

/* Rounded media uses the same corners as the simulator card. */
main > .content-section { --media-radius: 22px; }
main > .plan-card.content-section,
.content-section :is(.implementation-background, .software-image, .diagnosis-photo),
.bv-faq.content-section .bv-faq-photo img,
.bv-faq.content-section .bv-faq-panel,
main > .bv-faq.content-section,
.bv-closing.content-section .bv-closing-banner {
  border-radius: var(--media-radius);
  overflow: hidden;
}
.content-section :is(.implementation-background, .software-image, .diagnosis-photo) { mask-image: none; }

/* Restore the simulator's light backdrop and centered introduction. */
main > .simulation.content-section {
  width: 100%;
  max-width: none;
  padding: 56px max(48px, calc((100% - 1280px) / 2));
  background: radial-gradient(ellipse 24% 34% at 100% 10%,#b8873866,transparent 80%),radial-gradient(ellipse 22% 38% at 0% 78%,#c58f3e73,transparent 80%),#fffefa;
  color: #191c20;
  border-radius: 0;
}
.simulation.content-section .simulation-intro { max-width: 100%; margin: 0; text-align: center; }
.simulation.content-section .simulation-intro h2 { color: #191c20; }
.simulation.content-section .simulation-intro h2 span { color: #946c29; }
.simulation.content-section .simulation-intro > p,
.simulation.content-section .simulation-disclosure { color: #59606e; }
.simulation.content-section .simulation-estimate { margin-top: 40px; border-radius: var(--media-radius); }

/* Footer follows the content width, type and spacing of the page. */
.site-footer.site-footer-b2b {
  width: min(1280px, calc(100% - 96px));
  margin: 80px auto 24px;
  padding: 32px;
  border-radius: 22px;
  font-family: Hero Golos, Golos, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0;
}
.site-footer-b2b .site-footer-main { gap: 32px; }
.site-footer-b2b .site-footer-panel { padding: 32px; min-height: 0; border-radius: 22px; gap: 32px; }
.site-footer-b2b h2 { color: #eccb72; font-size: 18px; font-weight: 600; letter-spacing: 0; }
.site-footer-b2b .site-footer-contact-grid { grid-template-columns: 1fr; gap: 24px; }
.site-footer-b2b .site-footer-bottom { font-size: 14px; }
@media (min-width: 768px) and (max-width: 1099px) {
  .site-footer.site-footer-b2b { width: calc(100% - 64px); }
}
@media (max-width: 767px) {
  main > .content-section { --media-radius: 18px; }
  main > .simulation.content-section { padding: 40px 24px; }
  .site-footer.site-footer-b2b { width: calc(100% - 48px); margin-top: 56px; padding: 16px; border-radius: 18px; }
  .site-footer-b2b .site-footer-main { gap: 16px; }
  .site-footer-b2b .site-footer-panel { padding: 20px; border-radius: 18px; gap: 24px; }
  .site-footer-b2b .site-footer-links { grid-template-columns: 1fr; gap: 0; }
  .site-footer-b2b .site-footer-link-column { gap: 0; }
  .site-footer-b2b .site-footer-brand { align-items: flex-start; }
}

/* Keep short mobile headings balanced and avoid isolated words in body copy. */
@media (max-width: 767px) {
  main > .content-section h2,
  main > .content-section h3 { text-wrap: balance; }
  main > .content-section p { text-wrap: pretty; }
}

/* Keep the final sentence readable without a lone last word. */
.bv-closing.content-section .bv-closing-copy > p:last-child { text-wrap: balance; }
.closing-keep-together { white-space: nowrap; }
