/* SB Connect — extras for WordPress-only views (blog posts, 404) */
.sb-fallback { padding: 64px 0; }
.sb-fallback h1 { font-size: clamp(2rem, 4vw, 2.8rem); margin-bottom: 16px; }
.sb-fallback article + article { margin-top: 48px; }

/* Contact page card: stacked email links */
.page-contact-item a { display: block; }
.page-contact-item a + a { margin-top: 4px; }

/* ---- Footer: three columns — logo | company & address | contact ---- */
.site-footer { padding-top: 40px !important; padding-bottom: 18px !important; }
.site-footer .footer-grid {
  grid-template-columns: auto minmax(0, 1.15fr) minmax(0, 1fr) !important;
  gap: clamp(28px, 5vw, 80px) !important; align-items: center !important;
}
.site-footer .footer-about { display: block !important; }
.site-footer .footer-about .brand { display: block !important; width: auto !important; height: auto !important; min-height: 0 !important; aspect-ratio: auto !important; flex: none !important; }
.site-footer .footer-about .brand-logo { width: 190px !important; }
.site-footer .footer-col p, .site-footer .footer-col a { margin: 0 !important; line-height: 1.55 !important; }

.site-footer .footer-company p { font-size: 14px !important; color: #344A62; }
.site-footer .footer-company .footer-company-name { font-weight: 700; color: var(--sb-navy, #102D4E); margin-bottom: 2px !important; }
.site-footer .footer-company .footer-reg { margin-top: 6px !important; font-size: 13px !important; opacity: .85; }

.site-footer .footer-contact { display: flex; flex-direction: column; gap: 8px; }
.site-footer .footer-contact .footer-line { display: flex !important; gap: 10px; align-items: flex-start; }
.site-footer .footer-contact .footer-line .fi { flex: 0 0 16px; text-align: center; }
.site-footer .footer-contact .footer-emails { display: flex; flex-direction: column; gap: 2px; }

.site-footer .copyright { margin-top: 30px !important; padding-top: 26px !important; }

@media (max-width: 860px) {
  .site-footer .footer-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 22px !important; align-items: start !important; }
  .site-footer .footer-about .brand-logo { width: 160px !important; }
}

/* ---- Header tagline under the logo, lined up with the logo's left edge ---- */
.site-header .header-brand-lockup { flex-direction: column !important; align-items: flex-start !important; justify-content: center !important; gap: 4px !important; }
.site-header .header-brand-lockup .brand-logo { height: auto !important; aspect-ratio: 504 / 165; }
.site-header .brand-tagline { display: block; padding-left: 0; color: var(--sb-lime, #B0DB19); font-size: 12.5px; font-weight: 500; line-height: 1.1; letter-spacing: .01em; white-space: nowrap; }
@media (max-width: 760px) { .site-header .brand-tagline { font-size: 11px; } }

/* ---- Footer tagline under the logo, lined up with the logo's left edge ---- */
.site-footer .footer-about .brand { text-decoration: none; }
.site-footer .footer-about .brand-tagline { display: block; margin-top: 6px; padding-left: 0; color: var(--sb-lime-text, #78A10C); font-size: 14px; font-weight: 500; line-height: 1.1; letter-spacing: .01em; white-space: nowrap; }
@media (max-width: 860px) { .site-footer .footer-about .brand-tagline { font-size: 12.5px; } }

/* ---- Taller header bar so the logo + tagline have breathing room ---- */
html body .site-header, html body .site-header .header-inner { min-height: 104px !important; height: 104px !important; }
html body .site-header .nav { top: 100%; }
@media (max-width: 760px) {
  html body .site-header, html body .site-header .header-inner { min-height: 90px !important; height: 90px !important; }
  html body .site-header .nav { top: 100% !important; }
}
