.office-location { padding-block: 32px 48px; }
.office-location-card { display: grid; grid-template-columns: minmax(300px, .85fr) minmax(0, 1.25fr); gap: 32px; padding: 28px; border: 1px solid #c8ccc3; border-left: 4px solid #61776b; border-radius: 12px; background: #e9ece5; align-items: center; }
.office-location-copy { min-width: 0; }
.office-location h2 { font-size: clamp(28px, 2.4vw, 38px); line-height: 1.15; margin: 0 0 16px; }
.office-location p { margin: 0 0 16px; }
.office-location .office-address { font-size: 19px; font-weight: 700; }
.office-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.office-actions .button { min-height: 44px; padding: 12px 16px; font-size: 14px; }
.office-shortcuts { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 12px; }
.office-shortcuts a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-underline-offset: 4px; }
.office-location iframe { display: block; width: 100%; height: 300px; border: 0; border-radius: 8px; background: #dce1d8; }
@media (max-width: 850px) {
  .office-location-card { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 24px; }
  .office-location iframe { height: 270px; }
}
@media (max-width: 520px) {
  .office-location { padding-block: 24px 32px; }
  .office-location-card { padding: 20px; }
  .office-location .office-address { font-size: 17px; }
  .office-actions .button { width: 100%; }
}
