@layer govtech {
  .contact-office-editor { margin-top: 20px !important; color: var(--site-ink, #0f172a) !important; }
  .contact-office-editor * { box-sizing: border-box !important; }
  .contact-office-hero { display: flex !important; align-items: center !important; gap: 24px !important; padding: 32px !important; border: 1px solid var(--site-border, #dbeafe) !important; border-radius: 24px !important; background: linear-gradient(120deg, var(--site-soft, #eff6ff), #fff) !important; }
  .contact-office-logo { width: 100px !important; height: 100px !important; object-fit: contain !important; flex-shrink: 0 !important; }
  .contact-office-kicker { color: var(--site-accent, #2563eb) !important; font-weight: 600 !important; margin-bottom: 6px !important; }
  .contact-office-editor h2 { font-size: 25px !important; line-height: 1.45 !important; font-weight: 700 !important; margin: 0 0 8px !important; }
  .contact-office-editor p { line-height: 1.75 !important; margin: 0 !important; }
  .contact-office-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 18px !important; margin: 24px 0 !important; }
  .contact-office-card { min-width: 0 !important; padding: 26px !important; border: 1px solid var(--site-border, #dbeafe) !important; border-radius: 20px !important; background: var(--site-surface, #fff) !important; }
  .contact-office-card > i { display: inline-flex !important; padding: 12px !important; border-radius: 12px !important; background: var(--site-soft, #eff6ff) !important; color: var(--site-accent, #2563eb) !important; font-size: 22px !important; margin-bottom: 12px !important; }
  .contact-office-editor h3 { font-size: 17px !important; font-weight: 600 !important; margin: 0 0 8px !important; }
  .contact-office-card a, .contact-office-value { font-size: 22px !important; font-weight: 600 !important; overflow-wrap: anywhere !important; color: var(--site-ink, #0f172a) !important; }
  .contact-office-card a:hover { color: var(--site-accent, #2563eb) !important; text-decoration: underline !important; }
  .contact-office-card p:last-child { margin-top: 8px !important; font-size: 14px !important; }
  .contact-office-hours { display: flex !important; align-items: center !important; gap: 18px !important; padding: 22px 26px !important; background: var(--site-soft, #eff6ff) !important; border-radius: 18px !important; margin-bottom: 26px !important; }
  .contact-office-hours > i { font-size: 26px !important; color: var(--site-accent, #2563eb) !important; }
  .contact-office-map { overflow: hidden !important; border: 1px solid var(--site-border, #dbeafe) !important; border-radius: 22px !important; background: var(--site-surface, #fff) !important; }
  .contact-office-map-heading, .contact-office-footer { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 20px !important; padding: 24px !important; }
  .contact-office-map iframe { display: block !important; width: 100% !important; height: 420px !important; border: 0 !important; }
  .contact-office-button { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 48px !important; padding: 12px 22px !important; background: var(--site-button, #2563eb) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; border-radius: 12px !important; font-weight: 600 !important; text-decoration: none !important; flex-shrink: 0 !important; }
  .contact-office-button:hover { filter: brightness(.9) !important; }
  .contact-office-editor a:focus-visible { outline: 3px solid var(--site-accent, #2563eb) !important; outline-offset: 4px !important; }
  .contact-office-button-secondary { background: var(--site-soft, #eff6ff) !important; color: var(--site-accent, #2563eb) !important; -webkit-text-fill-color: currentColor !important; border: 1px solid var(--site-border, #dbeafe) !important; }
  @media (max-width: 639px) {
    .contact-office-hero { flex-direction: column !important; align-items: flex-start !important; padding: 22px !important; gap: 16px !important; }
    .contact-office-editor h2 { font-size: 21px !important; }
    .contact-office-grid { grid-template-columns: minmax(0,1fr) !important; gap: 14px !important; }
    .contact-office-card { padding: 22px !important; }
    .contact-office-card a, .contact-office-value { font-size: 20px !important; }
    .contact-office-hours { padding: 20px !important; align-items: flex-start !important; }
    .contact-office-map-heading, .contact-office-footer { flex-direction: column !important; align-items: stretch !important; padding: 20px !important; }
    .contact-office-map iframe { height: 320px !important; }
  }
}
