/* Shared white footer and office contact layout. */
.gc-offices {
  --o-bg: #fff;
  --o-card: #fff;
  --o-card-2: #fff;
  --o-border: #dce5ed;
  --o-gold: #987022;
  --o-gold-deep: #ecc455;
  --o-text: #102f48;
  --o-muted: #596e80;
  background: #fff;
  padding-block: clamp(48px, 6vw, 80px);
}
.gc-offices::before { display: none; }
.gc-offices-header { align-items: center; }
.gc-offices-header-actions { align-items: flex-start; flex-direction: column; }
.gc-offices-all { border-color: #c4d2de; }
.gc-office-card { box-shadow: 0 8px 28px #14365209; gap: 24px; }
.gc-office-card:hover, .gc-office-card:focus-within { transform: translateY(-3px); border-color: #c8ad6c; box-shadow: 0 14px 34px #14365212; }
.gc-office-head { align-items: flex-start; min-height: 64px; }
.gc-office-head > div { min-width: 0; }
.gc-office-flag { background: #f5f8fb; border-color: #e2e9f0; }
.gc-office-body { display: grid; grid-template-rows: minmax(50px, auto) minmax(76px, auto) auto; gap: 18px; }
.gc-office-phones { align-content: start; }
.gc-office-phones a { min-height: 38px; }
.gc-office-phones .gc-wa-line small { color: #216748; }
.gc-office-email { gap: 10px; }
.gc-office-email a { border-color: #c8d5df; }
.gc-copy { border-color: #d9c692; min-height: 36px; }
.gc-copy:hover { background: #fff3ce; }
.gc-offices .gc-btn--gold { background: #f4cf6a; color: #102f48; box-shadow: none; }
.gc-offices .gc-btn--map { background: #eff4f8; color: #244864; border: 1px solid #dce5ed; }
.gc-offices .gc-btn--map:hover { background: #e3edf5; box-shadow: none; }
.gc-office-actions { align-items: center; }
.footer.container {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  width: 100%; max-width: none; margin: 0;
  padding: 36px max(24px, calc((100% - 1200px) / 2)) 40px;
  gap: 24px 32px;
  background: #fff; color: #102f48;
  border-top: 1px solid #e2e9f0;
}
.footer .footer-logos { grid-column: 1 / -1; padding: 12px 0 28px; border: 0; border-bottom: 1px solid #e2e9f0; border-radius: 0; }
.footer .footer-logos .logo-strip { max-width: 520px; }
.footer .footer-brand { grid-column: 1; grid-row: 2 / 4; }
.footer > p { margin: 0; max-width: none; text-align: right; color: #596e80; }
.footer .footer-links { margin: 0; width: auto; justify-content: flex-end; gap: 12px 24px; color: #284a64; }
.footer .copyright { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-start; gap: 12px 24px; margin: 0; padding-top: 24px; border-color: #e2e9f0; color: #596e80; }
.footer .copyright > span { flex: 1 0 100%; width: 100%; }
.footer .copyright > a { margin: 0; }
.footer .copyright > a:last-child { margin-left: auto; }
.office-footer, .policy-footer { background: #fff; color: #596e80; border-top: 1px solid #e2e9f0; }
.policy-footer .policy-shell { align-items: center; flex-wrap: wrap; gap: 16px 28px; }
@media (max-width: 760px) {
  .gc-office-body { grid-template-rows: auto; }
  .gc-office-head { min-height: 0; }
  .footer.container { grid-template-columns: minmax(0, 1fr); padding-inline: 20px; }
  .footer .footer-brand { grid-column: 1; grid-row: auto; }
  .footer > p { text-align: left; }
  .footer .footer-links { justify-content: flex-start; }
  .footer .copyright > a:last-child { margin-left: 0; }
}
@media (max-width: 480px) {
  .gc-office-card { padding: 22px 18px; }
  .gc-office-head { gap: 12px; }
  .gc-office-phones { flex-direction: column; align-items: flex-start; gap: 4px; }
  .gc-office-email { display: grid; grid-template-columns: 18px minmax(0, 1fr); }
  .gc-office-email .gc-copy { grid-column: 2; justify-self: start; }
}
