/* Shared footer: explicit colours prevent page heading styles leaking in. */
.site-footer.footer-editorial { background: #102725; color: #c4d6d0; border-top: 3px solid #b8ead5; }
.footer-editorial .footer-main { padding-block: clamp(44px, 5vw, 72px); }
.footer-editorial .footer-inner { width: min(calc(100% - 64px), 1180px); grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr) minmax(0, .8fr) minmax(0, 1.2fr); gap: 36px; align-items: start; }
.footer-editorial .footer-brand-tagline { font-size: 10px; letter-spacing: .14em; color: #d9f77e; margin-top: 16px; }
.footer-editorial .footer-brand-statement { margin: 28px 0 14px; max-width: 260px; font: 400 clamp(28px, 2.5vw, 36px)/1.12 Georgia, 'Times New Roman', serif; letter-spacing: -.025em; color: #fff; }
.footer-editorial .footer-brand-description { max-width: 30ch; margin: 0; font-size: 14px; line-height: 1.75; color: #c4d6d0; }
.footer-editorial .footer-heading { color: #b8ead5; margin: 5px 0 20px; font: 700 11px/1.4 Arial, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.footer-editorial .footer-menu { gap: 0; font-size: 14px; }
.footer-editorial .footer-menu a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 9px; color: #e4ece8; line-height: 1.45; }
.footer-editorial .footer-menu .sub-menu { margin: 0 0 10px; }
.footer-editorial .footer-email a { display: inline-block; color: #fff; font-size: 17px; line-height: 1.5; padding-block: 8px; overflow-wrap: anywhere; }
.footer-editorial .footer-office-label { margin: 20px 0 8px; color: #b8ead5; font-size: 12px; font-weight: 700; }
.footer-editorial .footer-address { color: #c4d6d0; font-size: 13px; line-height: 1.8; }
.footer-editorial .footer-contact-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 46px; padding: 12px 17px; margin-top: 24px; background: #d9f77e; color: #102725; font-size: 13px; font-weight: 700; text-decoration: none; }
.footer-editorial .footer-contact-button:hover { background: #e7ffa5; color: #102725; }
.footer-editorial a:focus-visible { outline: 2px solid #d9f77e; outline-offset: 4px; }
.footer-editorial .footer-nav-custom { grid-column: span 2; }
.footer-editorial .footer-bottom { background: #102725; border-top: 1px solid #35504a; }
.footer-editorial .footer-bottom-inner { width: min(calc(100% - 64px), 1180px); min-height: 78px; padding-block: 16px; }
.footer-editorial .footer-copyright { color: #b9cec9; font-size: 12px; }
.footer-editorial .footer-legal-menu { gap: 8px 24px; font-size: 12px; font-weight: 400; }
.footer-editorial .footer-legal-menu a { display: inline-flex; align-items: center; min-height: 44px; color: #c4d6d0; }
.footer-editorial .footer-menu a:hover, .footer-editorial .footer-legal-menu a:hover { color: #d9f77e; }
.footer-editorial .footer-subscribe-connected { width: min(calc(100% - 64px), 1180px); margin: 36px auto 0; padding-top: 28px; border-top: 1px solid #35504a; }
@media (max-width: 1000px) {
 .footer-editorial .footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 48px; }
 .footer-editorial .footer-brand { grid-column: 1 / -1; padding-bottom: 28px; border-bottom: 1px solid #35504a; }
 .footer-editorial .footer-brand-statement { max-width: none; margin-top: 20px; }
 .footer-editorial .footer-brand-description { max-width: 56ch; }
 .footer-editorial .footer-contact { grid-column: 1 / -1; border-top: 1px solid #35504a; padding-top: 28px; }
 .footer-editorial .footer-address { max-width: 48ch; }
}
@media (max-width: 560px) {
 .footer-editorial .footer-inner, .footer-editorial .footer-bottom-inner, .footer-editorial .footer-subscribe-connected { width: calc(100% - 40px); }
 .footer-editorial .footer-inner { gap: 28px 22px; }
 .footer-editorial .footer-heading { margin-bottom: 12px; }
 .footer-editorial .footer-menu { font-size: 13px; }
 .footer-editorial .footer-bottom-inner { flex-direction: column; align-items: flex-start; gap: 6px; }
 .footer-editorial .footer-contact-button { width: 100%; }
}
