/* ==========================================================================
   Review round 2 (Oct 2026): footer columns, newsletter, news articles,
   intro alignment, careers panels, contact help block, before/after.
   ========================================================================== */

.nowrap { white-space: nowrap; }

/* ---------- Newsletter name field ---------- */
.newsletter-row--name { margin-bottom: 10px; }

/* ---------- Footer columns ---------- */
.footer-top { grid-template-columns: auto 1fr 1fr 1fr auto; align-items: start; gap: 28px 40px; }
.footer-col { min-width: 0; }
.footer-heading { margin: 0 0 14px; font: 700 .78rem var(--f-body); text-transform: uppercase; letter-spacing: .12em; color: var(--white); }
.footer-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.footer-list a, .footer-col.footer-contact a { color: rgba(255, 255, 255, .82); text-decoration: none; }
.footer-list a:hover, .footer-col.footer-contact a:hover { color: var(--white); text-decoration: underline; }
.footer-col.footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.footer-col.footer-contact .footer-heading { margin-bottom: 6px; }
@media (max-width: 960px) {
	.footer-top { grid-template-columns: 1fr 1fr; }
	.footer-top .brand--footer, .footer-top .socials { grid-column: 1 / -1; }
}
@media (max-width: 520px) { .footer-top { grid-template-columns: 1fr; } }

/* ---------- News: stray empty headings ---------- */
.entry-content h2:empty, .entry-content h3:empty { display: none; }
.entry-content p { overflow-wrap: normal; word-break: normal; hyphens: manual; }

/* ---------- Bold lead paragraph with space after (content blocks + bands) ---------- */
.split-text-inner .prose > p:first-child,
.split-text-inner .prose > .pmve-editable-paras > p:first-child { font-weight: 700; margin-bottom: 1.5em; }
.hero-sub--paras > p:first-child,
.hero-sub--paras > .pmve-editable-paras > p:first-child { font-weight: 700; }
.hero-sub--paras p { margin: 0 0 1.2em; }
.hero-sub--paras p:last-child { margin-bottom: 0; }
.prose a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.prose a:hover { text-decoration-thickness: 2px; }

/* ---------- Left-align intro content with the heading ---------- */
.page-id-389 .split--text-only .split-text,
.page-id-12 .split--text-only:not(.split--centre) .split-text { justify-content: flex-start; }
.page-id-389 .split--text-only .split-text-inner,
.page-id-12 .split--text-only:not(.split--centre) .split-text-inner { max-width: 760px; margin-left: 0; padding-left: 0; }
/* Careers: "More than just a job" centred */
.page-id-12 .split--light.split--text-only .split-text { justify-content: center; text-align: center; }
.page-id-12 .split--light.split--text-only .split-text-inner { margin-inline: auto; max-width: 760px; }

/* ---------- Careers: alternating role panels ---------- */
.page-id-12 .card-grid { display: block; }
.page-id-12 .card-grid .card { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; margin: 0 0 28px; background: var(--white); border: 1px solid var(--line); }
.page-id-12 .card-grid .card:nth-child(even) .card-media { order: 2; }
.page-id-12 .card-grid .card-media { margin: 0; min-height: 280px; }
.page-id-12 .card-grid .card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.page-id-12 .card-grid .card-body { display: flex; flex-direction: column; justify-content: center; padding: clamp(24px, 4vw, 48px); }
.page-id-12 .card-grid .card-body .card-title { padding-top: 0; font-size: 1.4rem; }
@media (max-width: 760px) {
	.page-id-12 .card-grid .card { grid-template-columns: 1fr; }
	.page-id-12 .card-grid .card:nth-child(even) .card-media { order: 0; }
}

/* ---------- Contact: how can we help ---------- */
.help-block { max-width: 760px; margin: 0 0 40px; }
.help-block h2 { margin-bottom: .4em; }
.help-block > p { color: var(--muted); }
.help-list { list-style: none; margin: 24px 0; padding: 0; display: grid; gap: 14px; }
.help-list li { padding: 16px 20px; background: var(--grey); border-left: 3px solid var(--blue); }
.help-list strong { display: block; color: var(--navy); margin-bottom: 2px; }
.help-close { font-weight: 600; color: var(--navy) !important; }

/* ---------- System solution pages: before / after ---------- */
.ba { padding-block: clamp(40px, 6vw, 72px); background: var(--grey); }
.ba-head { max-width: 70ch; margin-bottom: 28px; }
.ba-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ba-item { margin: 0; background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--blue); }
.ba-item img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.ba-item figcaption { padding: 16px 20px; color: var(--muted); font-size: .93rem; }
.ba-item figcaption strong { display: block; color: var(--navy); text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; margin-bottom: 4px; }
@media (max-width: 700px) { .ba-grid { grid-template-columns: 1fr; } }
