/* Company pages follow the existing Blocworx colour and type system. */
.bw-company-hero { background: #083037; color: #fff; padding: 30px 0 65px; position: relative; overflow: hidden; }
.bw-company-hero::after { content: ''; position: absolute; width: 550px; height: 550px; border: 1px solid #a7e3be26; border-radius: 50%; right: -130px; top: -235px; pointer-events: none; }
.bw-company-hero .container { position: relative; z-index: 1; }
.bw-company-hero .breadcrumbs { margin-bottom: 38px; }
.bw-company-hero-copy { max-width: 880px; }
.bw-company-hero .eyebrow { color: #a7e3be; font-size: 13px; margin-bottom: 17px; }
.bw-company-hero h1 { color: #fff; font-size: clamp(34px,3.6vw,49px); font-weight: 400; line-height: 1.25; letter-spacing: -1.3px; margin-bottom: 22px; }
.bw-company-intro { color: #dce9e3; font-size: 16px; line-height: 1.85; max-width: 810px; margin-bottom: 0; }
.bw-company-jumps { display: flex; flex-wrap: wrap; gap: 14px 28px; margin-top: 30px; }
.bw-company-jumps a { font-size: 13px; color: #dce9e3; text-decoration: underline; text-underline-offset: 5px; }
.bw-company-section { padding: 70px 0; scroll-margin-top: 120px; }
.bw-company-section:nth-child(even) { background: #f3f7f4; }
.bw-company-content h2 { color: #004851; font-size: clamp(27px,2.4vw,34px); line-height: 1.35; letter-spacing: -.7px; margin-bottom: 22px; }
.bw-company-content h3 { color: #004851; font-size: 20px; line-height: 1.45; margin: 30px 0 14px; }
.bw-company-content p, .bw-company-content li, .bw-company-content address { color: #53676a; font-size: 15px; line-height: 1.85; }
.bw-company-content a:not(.btn), .bw-company-content .text-link { color: #17653f; text-decoration: underline; text-underline-offset: 4px; }
.bw-company-section-heading { max-width: 820px; }
.bw-company-section > .container > p { max-width: 900px; }
.bw-company-split > .container { display: grid; grid-template-columns: .85fr 1.15fr; gap: 75px; }
.bw-company-split .bw-company-copy > :last-child { margin-bottom: 0; }
.bw-company-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 32px; }
.bw-company-card { padding: 27px; border: 1px solid #d8e3dc; border-radius: 12px; background: #fff; }
.bw-company-card h3 { margin-top: 0; font-size: 19px; }
.bw-company-card p { font-size: 14px; margin-bottom: 0; }
.bw-company-mission { background: #eaf3e8 !important; }
.bw-company-mission .container { max-width: 960px; text-align: center; }
.bw-company-mission p { color: #004851; font-size: clamp(24px,2.6vw,36px); line-height: 1.5; letter-spacing: -.5px; margin: 0 auto; }
.bw-company-closing { background: #238253; padding: 56px 0; }
.bw-company-close-grid { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
.bw-company-closing h2 { color: #fff; }
.bw-company-closing p { color: #f0f6f1; max-width: 740px; margin-bottom: 0; }
.bw-company-closing .btn { font-size: 14px; padding: 18px 23px; }
.bw-certifications-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; align-items: center; }
.bw-certifications-layout .eyebrow { color: #237449; font-size: 13px; }
.bw-trust-marks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.bw-trust-marks article { padding: 26px 18px; background: #fff; border: 1px solid #d8e3dc; border-radius: 12px; text-align: center; }
.bw-trust-marks img { height: 147px; width: 98px; object-fit: contain; display: block; margin: 0 auto 18px; }
.bw-trust-marks h3 { font-size: 17px; margin: 0 0 5px; }
.bw-trust-marks p { font-size: 12px; margin-bottom: 10px; }
.bw-trust-marks a { font-size: 12px; }
.bw-testing-card { display: grid; grid-template-columns: 230px 1fr; gap: 50px; background: #fff; border: 1px solid #d8e3dc; border-radius: 12px; padding: 36px; align-items: start; }
.bw-testing-card h3 { margin-top: 0; }
.bw-testing-card p:last-of-type { margin-bottom: 14px; }
.bw-document-list { margin: 20px 0 36px; padding: 0; list-style: none; border-top: 1px solid #d8e3dc; }
.bw-document-list li { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 19px 0; border-bottom: 1px solid #d8e3dc; }
.bw-document-list strong { font-size: 14px; font-weight: 500; color: #0c4148; }
.bw-document-list small { font-size: 11px; display: block; margin-top: 3px; }
.bw-document-list a { font-size: 12px; flex-shrink: 0; }
.bw-provider-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 25px 0 40px; }
.bw-provider-card { border: 1px solid #d8e3dc; padding: 26px; border-radius: 12px; background: #fff; }
.bw-provider-logo { min-height: 80px; display: flex; align-items: center; justify-content: flex-start; background: #fff; margin-bottom: 20px; }
.bw-provider-logo img { max-width: 180px; max-height: 58px; width: auto; height: auto; object-fit: contain; }
.bw-testing-card .bw-provider-logo img { max-width: 210px; max-height: 85px; }
.bw-provider-card h4 { font-size: 16px; line-height: 1.6; margin: 0 0 12px; }
.bw-provider-card p { font-size: 13px; line-height: 1.8; margin-bottom: 12px; }
.bw-provider-card .bw-provider-scope { font-size: 12px; color: #5b6e71; margin-bottom: 0; }
.bw-contact-details { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.bw-contact-details h3 { margin-top: 0; }
.bw-contact-details address { font-style: normal; }
.bw-contact-details a { overflow-wrap: anywhere; }
.bw-contact-section .container { max-width: 960px; }
.bw-contact-section .contact-form { max-width: none; background: #fff; padding: 32px; border: 1px solid #d8e3dc; border-radius: 12px; margin-top: 28px; }
.bw-contact-section .form-small { font-size: 12px; }
.bw-contact-section .form-field label { color: #153e43; font-size: 13px; }
.bw-request-summary { padding: 14px 18px; border-left: 3px solid #238253; background: #eef6ef; }
.bw-privacy-copy { max-width: 960px; padding-top: 55px; padding-bottom: 65px; }
.bw-privacy-copy h2 { margin-top: 42px; font-size: 25px; }
.bw-privacy-copy h2:first-of-type { margin-top: 25px; }
.bw-privacy-copy p, .bw-privacy-copy td, .bw-privacy-copy th { font-size: 14px; }
.bw-table-scroll { width: 100%; overflow-x: auto; }
.bw-privacy-table { border-collapse: collapse; width: 100%; margin: 20px 0 25px; }
.bw-privacy-table th, .bw-privacy-table td { border: 1px solid #d8e3dc; text-align: left; padding: 16px; line-height: 1.8; vertical-align: top; color: #53676a; }
.bw-privacy-table thead { background: #eaf3e8; }
.bw-privacy-table th { font-weight: 500; color: #153e43; }
.bw-privacy-copy .bw-cookie-settings { border: 0; background: transparent; padding: 0; font: inherit; cursor: pointer; }
.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; }
@media(max-width:1000px) { .bw-company-split > .container { gap: 40px; } .bw-certifications-layout { gap: 35px; } .bw-company-card-grid,.bw-provider-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) { .bw-company-split > .container,.bw-certifications-layout { grid-template-columns: 1fr; gap: 20px; } .bw-company-section { padding: 50px 0; scroll-margin-top: 95px; } .bw-company-hero { padding-bottom: 46px; } .bw-testing-card { grid-template-columns: 1fr; gap: 10px; padding: 27px; } .bw-company-close-grid { grid-template-columns: 1fr; gap: 25px; } .bw-company-close-grid .btn { justify-self: start; } .bw-contact-details { grid-template-columns: 1fr; gap: 28px; } }
@media(max-width:540px) { .bw-company-card-grid,.bw-provider-grid { grid-template-columns: 1fr; } .bw-company-card,.bw-provider-card { padding: 23px; } .bw-trust-marks { gap: 12px; } .bw-trust-marks article { padding: 22px 10px; } .bw-trust-marks img { width: 90px; height: 135px; } .bw-company-jumps { gap: 14px 22px; } .bw-company-hero .breadcrumbs { margin-bottom: 28px; } .bw-company-intro { font-size: 15px; } .bw-document-list li { align-items: start; flex-direction: column; gap: 8px; } .bw-contact-section .contact-form { padding: 22px; } .bw-privacy-table th,.bw-privacy-table td { padding: 12px; font-size: 12px; } .bw-privacy-table { min-width: 480px; } }

.bw-provider-logo img[src$="/aws.png"] { max-height: 88px; width: 168px; }
