/* Shared About-style mastheads and illustrated cards. Scoped to these headers only. */
.editorial-header-page { background: #f5f5f7; }
.editorial-page-intro { max-width: 1200px; margin: 0 auto; padding: 34px 24px 0; }
.editorial-masthead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 25px; position: relative; border-bottom: 1px solid #dce7ed; padding-bottom: 23px; margin-bottom: 30px; }
.editorial-masthead::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 48px; height: 3px; background: #4cc9f0; }
.editorial-masthead h1 { font: 800 clamp(28px,3.5vw,39px)/1.25 Montserrat,Inter,sans-serif; letter-spacing: -1.2px; margin: 0; color: #0b1c36; }
.editorial-masthead h1 span { color: var(--color-teal, #4CC9F0); }
.editorial-masthead > p { font: 400 16px/1.5 Inter,sans-serif; color: #5d7383; border-left: 1px solid #cbdde6; padding-left: 25px; margin: 0; }
.editorial-hero { border: 1px solid #d9e8ef; border-radius: 20px; overflow: hidden; background: white; box-shadow: 0 12px 35px #16405b08; margin-bottom: 30px; color: #0b1c36; }
.editorial-hero-panel { position: relative; isolation: isolate; min-height: 310px; padding: 34px 32px; display: flex; align-items: center; background: #0b1c36; color: #fff; }
.editorial-hero-art { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.editorial-hero-panel::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(11,28,54,.97) 0%,rgba(11,28,54,.9) 36%,rgba(11,28,54,.58) 58%,rgba(11,28,54,.08) 80%,rgba(11,28,54,.18) 100%); }
.editorial-hero--news .editorial-hero-art { object-position: center 45%; }
.editorial-hero--news .editorial-hero-title { font-size: clamp(34px, 4.5vw, 56px); letter-spacing: -1.8px; line-height: 1.1; margin-bottom: 0; }
/* About photo fills the panel; the navy gradient protects the copy above it. */
.editorial-hero--about .editorial-hero-art { width:100%; left:0; object-position:center 35%; }
/* About: protect the copy while leaving the picture side clear. */
.editorial-hero--about .editorial-hero-panel::after { background:linear-gradient(90deg,rgba(11,28,54,.97) 0%,rgba(11,28,54,.9) 36%,rgba(11,28,54,.62) 52%,rgba(11,28,54,.14) 66%,transparent 76%); }
.editorial-hero-emblem { width: 44px; height: auto; margin-left: auto; align-self: flex-start; }
.editorial-hero--about + .about-globe-section .about-opening-copy { padding-top: 25px; }
/* Contact and Food Safety photos fill the entire header card behind the existing text fade. */
.editorial-hero--contact .editorial-hero-art { width: 100%; left: 0; object-position: center 44%; }
.editorial-hero--food .editorial-hero-art { width: 100%; left: 0; object-position: center 48%; }
.editorial-hero--services .editorial-hero-art { object-position: center 58%; }
/* Give the Services quote pill a little more breathing room below the heading. */
.editorial-hero--services .svc-hero-text > .btn { margin-top: 12px; }
.editorial-hero .editorial-hero-copy { width: 60%; max-width: 660px; text-align: left; align-items: flex-start; }
.editorial-hero :is(.contact-hero-title,.fs-hero-title,.svc-hero-title,.editorial-hero-title) { font: 800 clamp(28px,3.5vw,39px)/1.22 Montserrat,Inter,sans-serif; color: #fff; letter-spacing: -1.1px; margin: 0 0 16px; max-width: none; }
.editorial-hero :is(.contact-hero-sub,.fs-hero-sub,.svc-hero-sub,.editorial-hero-sub) { display: block; font: 400 16px/1.7 Inter,sans-serif; color: #e2eff7; max-width: 540px; margin: 0 0 20px; }
.editorial-hero :is(.fs-hero-eyebrow,.svc-hero-eyebrow,.editorial-hero-eyebrow) { font: 700 16px/1.5 Inter,sans-serif; letter-spacing: 1.2px; color: var(--color-teal, #4CC9F0); margin: 0 0 12px; }
.editorial-hero :is(p,a,span,small,button) { font-size: 16px; }
.editorial-hero .contact-hero-info-item { color: #e2eff7; font-size: 16px; line-height: 1.5; }
.editorial-hero .contact-hero-info-item i { font-size: 16px; width: 18px; color: var(--color-teal, #4CC9F0); }
.editorial-hero .contact-hero-info { gap: 9px; margin-bottom: 18px; }
.editorial-hero .contact-hero-cta--outline { color: #fff; border-color: #95d9ea; background: #0b1c3680; }
.editorial-hero a:focus-visible { outline: 3px solid #237c9a; outline-offset: 4px; }
/* Keep the existing audit and accolade content, in a white footer rather than over the artwork. */
.editorial-hero :is(.fs-audit-card,.svc-accolade-badge) { position: relative; inset: auto; transform: none; display: block; animation: none; opacity: 1; padding: 23px 32px; border-top: 1px solid #e2edf2; }
.editorial-hero :is(.fs-audit-card-inner,.svc-accolade-inner) { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 18px; width: 100%; padding: 0; border: 0; border-radius: 0; background: white; backdrop-filter: none; text-align: left; }
.editorial-hero :is(.fs-audit-divider,.svc-accolade-divider,.svc-accolade-stat-sep) { display: none; }
.editorial-hero .fs-audit-title { color: #0b1c36; font-size: 20px; }
.editorial-hero .fs-audit-body { flex: 1 1 280px; color: #4b6373; font-size: 16px; line-height: 1.6; }
.editorial-hero .fs-audit-contact { width: auto; color: #236d8d; font-size: 16px; letter-spacing: 0; margin: 0; }
.editorial-hero .fs-audit-contact-group { display: flex; flex-direction: column; gap: 6px; margin-left: auto; text-align: right; }
.editorial-hero .fs-audit-contact-link { color: #287b98; font-weight: 700; text-decoration: none; }
.editorial-hero .fs-audit-contact-link:hover { text-decoration: underline; }
.editorial-hero .fs-audit-icon { flex: 0 0 34px; font-size: 16px; color: #287b98; }
.editorial-hero .svc-accolade-rank { color: #237d9c; font-size: 34px; margin: 0; }
.editorial-hero :is(.svc-accolade-line,.svc-accolade-sub,.svc-accolade-trophy) { color: #254c63; font-size: 16px; letter-spacing: .2px; margin: 0; }
.editorial-hero .svc-accolade-emoji { filter: none; margin: 0; }
.editorial-hero .svc-accolade-stats { width: auto; gap: 24px; margin-left: auto; }
.editorial-hero .svc-accolade-stat-num { color: #237d9c; font-size: 22px; }
.editorial-hero .svc-accolade-stat-label { color: #4b6373; font-size: 16px; letter-spacing: 0; }
/* Services footer: three equal columns with the same value/label hierarchy. */
.editorial-hero--services .svc-accolade-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: min(100%, 405px); margin-left: auto; }
.editorial-hero--services .svc-accolade-stat { min-width: 0; text-align: center; }
.editorial-hero--services .svc-accolade-stat-num { font-size: 20px; }
.editorial-hero--services .svc-accolade-stat-label { font-size: 13px; line-height: 1.2; }
@media(max-width:760px) {
  .editorial-page-intro { padding: 24px 14px 0; }
  .editorial-masthead { gap: 8px; padding-bottom: 19px; margin-bottom: 24px; }
  .editorial-masthead h1 { font-size: 29px; letter-spacing: -1px; }
  .editorial-masthead > p { width: 100%; padding: 0; border: 0; }
  .editorial-hero { border-radius: 16px; }
  .editorial-hero-panel { padding: 25px 22px 140px; min-height: 0; align-items: flex-start; }
  .editorial-hero .editorial-hero-copy { width: 100%; max-width: none; }
  .editorial-hero :is(.contact-hero-title,.fs-hero-title,.svc-hero-title,.editorial-hero-title) { font-size: 29px; letter-spacing: -.8px; }
  .editorial-hero-panel::after { background: linear-gradient(180deg,rgba(11,28,54,.97) 0%,rgba(11,28,54,.9) 38%,rgba(11,28,54,.76) 65%,rgba(11,28,54,.12) 100%); }
  .editorial-hero--about .editorial-hero-panel::after { background:linear-gradient(180deg,rgba(11,28,54,.97) 0%,rgba(11,28,54,.9) 38%,rgba(11,28,54,.72) 55%,rgba(11,28,54,.18) 72%,transparent 85%); }
  .editorial-hero .editorial-hero-art { width: 100%; height: 100%; left: 0; object-position: 64% bottom; }
  .editorial-hero--about .editorial-hero-art { width:100%; height:100%; top:0; bottom:0; object-position:64% bottom; }
  .editorial-hero--food .editorial-hero-art { object-position: center 60%; }
  .editorial-hero .contact-hero-btns { gap: 10px; }
  .editorial-hero .contact-hero-cta { padding: 11px 16px; }
  .editorial-hero :is(.fs-audit-card,.svc-accolade-badge) { padding: 22px; }
  .editorial-hero :is(.fs-audit-card-inner,.svc-accolade-inner) { gap: 14px; }
  .editorial-hero .fs-audit-body { flex-basis: 100%; }
  .editorial-hero .svc-accolade-stats { width: 100%; margin-left: 0; justify-content: flex-start; }
  .editorial-hero .svc-accolade-stat { flex: 0 1 auto; align-items: flex-start; }
  .editorial-hero--services .svc-accolade-stat { align-items: center; }
  .editorial-hero--services .svc-accolade-stats { gap: 4px; }
  .editorial-hero--services .svc-accolade-stat-num { font-size: 16px; }
  .editorial-hero--services .svc-accolade-stat-label { font-size: 11px; }
}
