/* Home only: preserve the original hero and keep the service overview simple. */
.bw-home-hero { overflow: hidden; }
.bw-home-hero .hero-banner { min-height: 700px; padding: 72px 0 82px; }
.bw-home-hero .hero-text { padding-right: 42px; }
.bw-home-hero .hero-text h1 { font-size: clamp(34px,3.45vw,48px); line-height: 1.22; letter-spacing: -1.4px; margin-bottom: 25px; }
.bw-home-hero .bw-home-subheading { font-size: 22px; font-weight: 500; line-height: 1.5; max-width: 570px; margin-bottom: 23px; color: #e5f2e8; }
.bw-home-hero .eyebrow { font-size: 12px; line-height: 1.7; max-width: 480px; margin-bottom: 20px; }
.bw-home-hero .hero-intro { font-size: 15px; line-height: 1.85; margin-bottom: 16px; }
.bw-home-hero .hero-cta { margin-top: 30px; gap: 21px; }
.bw-home-hero .hero-cta .btn-primary { font-size: 13px; line-height: 1.6; padding: 18px 22px; text-align: center; }
.bw-home-hero .hero-cta .btn-primary > span { padding-left: 8px; }
.bw-home-hero .hero-cta .link-plain { font-size: 13px; text-decoration: underline; text-underline-offset: 5px; margin-left: 0; }
.bw-home-hero .hero-cta .link-plain > span { margin-left: 6px; }
.bw-home-hero .circular-caption { margin: 28px 12px 0 42px; padding: 16px 21px; }
.bw-home-hero .circular-caption p { font-size: 15px; }
.bw-home-content { color: #004851; }
.bw-home-content h2 { font-size: clamp(28px,2.4vw,35px); line-height: 1.35; letter-spacing: -.8px; margin-bottom: 22px; }
.bw-home-content p { font-size: 15px; line-height: 1.85; color: #53676a; }
.bw-home-content .bw-home-section { padding: 78px 0; }
.bw-home-content .bw-home-customers { padding: 36px 0 40px; border-bottom: 1px solid #e0e9e3; }
.bw-home-content .bw-home-customers h2 { font-size: 16px; font-weight: 500; letter-spacing: 0; text-align: center; margin-bottom: 26px; }
.bw-home-customer-logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 30px 72px; }
.bw-home-content .bw-home-customer-logo { display: flex; justify-content: center; align-items: center; width: 178px; min-height: 54px; }
.bw-home-content .bw-home-customer-logo img { width: auto; max-width: 100%; height: auto; max-height: 53px; border-radius: 0; object-fit: contain; }
.bw-home-services { background: #f2f7f3; }
.bw-home-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin-top: 34px; }
.bw-home-service-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid #dce7df; border-top: 3px solid #2d8f6a; border-radius: 12px; background: #fff; padding: 30px; }
.bw-home-service-card:nth-child(2) { border-top-color: #1aa39a; }
.bw-home-service-card:nth-child(3) { border-top-color: #71569d; }
.bw-home-service-card:nth-child(4) { border-top-color: #e2a334; }
.bw-home-content .bw-home-service-card h3 { font-size: 22px; font-weight: 500; line-height: 1.4; margin-bottom: 17px; }
.bw-home-content .bw-home-service-card > p { font-size: 14px; }
.bw-home-content .bw-home-text-link { margin-top: auto; padding-top: 9px; margin-bottom: 0; }
.bw-home-text-link a { color: #1c704d; font-size: 13px; font-weight: 500; text-decoration: underline; text-underline-offset: 5px; }
.bw-home-text-link a:hover { color: #004851; }
.bw-home-text-link a > span { display: inline-block; margin-left: 5px; }
.bw-home-content .bw-home-other-services { max-width: 950px; font-size: 14px; margin-top: 28px; margin-bottom: 0; }
.bw-home-other-services a { color: #004851; text-decoration: underline; text-underline-offset: 4px; }
.bw-home-other-services a:hover { color: #238253; }
.bw-home-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: start; }
.bw-home-split-copy > :last-child { margin-bottom: 0; }
.bw-home-circular { background: #004851; }
.bw-home-circular h2 { color: #fff; }
.bw-home-content .bw-home-circular p { color: #e0ece6; }
.bw-home-irish { background: #f2f7f3; }
.bw-home-standards { padding: 34px 0; border-bottom: 1px solid #e0e9e3; }
.bw-home-standards-inner { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.bw-home-content .bw-home-standards h2 { font-size: 24px; margin-bottom: 16px; }
.bw-home-standards-copy { flex: 1; min-width: 0; max-width: 650px; }
.bw-home-content .bw-home-standards-copy p { font-size: 14px; margin-bottom: 0; }
.bw-home-standard-marks { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 48px; padding: 0 36px; }
.bw-home-nqa-mark { display: flex; justify-content: center; align-items: center; background: #fff; }
.bw-home-nqa-mark img { width: 110px; height: 165px; object-fit: contain; }
.bw-home-content .bw-home-closing { background: #238253; padding: 62px 0; }
.bw-home-closing-grid { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
.bw-home-closing h2 { color: #fff; max-width: 680px; }
.bw-home-content .bw-home-closing p { color: #e3f1e4; margin-bottom: 0; }
.bw-home-closing .btn { padding: 18px 24px; font-size: 14px; white-space: normal; text-align: center; }
.bw-home-service-grid > *, .bw-home-customer-logos > *, .bw-home-split > *, .bw-home-closing-grid > * { margin-block-start: 0; }
@media (max-width: 1100px) {
  .bw-home-hero .hero-text { padding-right: 30px; }
  .bw-home-hero .hero-text h1 { font-size: 38px; }
  .bw-home-split { gap: 55px; }
}
@media (max-width: 800px) {
  .bw-home-hero .hero-banner { min-height: 0; padding: 52px 0 58px; }
  .bw-home-hero .hero-content { grid-template-columns: 1fr; gap: 38px; }
  .bw-home-hero .hero-text { padding-right: 0; }
  .bw-home-hero .hero-text h1 { max-width: 640px; font-size: 40px; }
  .bw-home-hero .hero-intro { max-width: 650px; }
  .bw-home-hero .hero-software { max-width: 540px; width: 100%; margin: 0 auto; padding-bottom: 0; }
  .bw-home-hero .circular-caption { margin-left: 28px; margin-right: 16px; }
  .bw-home-content .bw-home-section { padding: 62px 0; }
  .bw-home-content .bw-home-customers { padding: 32px 0 36px; }
  .bw-home-customer-logos { gap: 26px 40px; }
  .bw-home-content .bw-home-customer-logo { width: 145px; }
  .bw-home-split { grid-template-columns: 1fr; gap: 20px; }
  .bw-home-content .bw-home-service-card h3 { font-size: 20px; }
  .bw-home-service-card { padding: 25px; }
  .bw-home-standards-inner { gap: 30px; }
  .bw-home-standard-marks { gap: 28px; padding: 0; }
  .bw-home-closing-grid { grid-template-columns: 1fr; gap: 28px; }
  .bw-home-closing .btn { justify-self: start; }
}
@media (max-width: 600px) {
  .bw-home-service-grid { grid-template-columns: 1fr; }
  .bw-home-standards-inner { flex-direction: column; align-items: flex-start; }
  .bw-home-standard-marks { width: 100%; }
}
@media (max-width: 480px) {
  .bw-home-hero .hero-banner { padding-top: 38px; padding-bottom: 44px; }
  .bw-home-hero .hero-text h1 { font-size: 33px; letter-spacing: -1px; }
  .bw-home-hero .bw-home-subheading { font-size: 19px; }
  .bw-home-hero .eyebrow { font-size: 11px; }
  .bw-home-hero .hero-cta { flex-direction: column; align-items: flex-start; gap: 22px; }
  .bw-home-hero .hero-cta .btn-primary { width: 100%; padding: 17px 15px; }
  .bw-home-hero .circular-caption { margin: 22px 4px 0 14px; padding: 12px 16px; gap: 13px; }
  .bw-home-hero .circular-caption p { font-size: 13px; }
  .bw-home-content .bw-home-section { padding: 52px 0; }
  .bw-home-content .bw-home-customers { padding: 30px 0; }
  .bw-home-content .bw-home-customers h2 { font-size: 15px; line-height: 1.6; max-width: 285px; margin-left: auto; margin-right: auto; }
  .bw-home-customer-logos { gap: 20px 28px; }
  .bw-home-content .bw-home-customer-logo { width: 122px; min-height: 44px; }
  .bw-home-content .bw-home-customer-logo img { max-height: 44px; }
  .bw-home-service-card { padding: 24px; }
}

.bw-home-trust-link { text-align: center; padding-bottom: 36px; font-size: 14px; }
.bw-home-trust-link a { color: #17653f; text-decoration: underline; text-underline-offset: 4px; }
