@charset "UTF-8";

/* Bounded extension: the shared header's original information-strip position. */
:root { --header-height: calc(64px + 38px); }
.topline {
  --topline-background: #04121f;
  --topline-gold: #d0b28c;
  display: block;
  min-height: 38px;
  color: var(--topline-gold);
  background: var(--topline-background);
  border-bottom: 1px solid rgba(208, 178, 140, .18);
  font-size: 12px;
  line-height: 1.45;
}
.topline .container {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.topline-services { flex-shrink: 0; font-weight: 500; white-space: nowrap; }
.topline-details { display: flex; align-items: center; justify-content: flex-end; gap: 13px; min-width: 0; }
.topline-contact,
.topline-locations,
.topline-place { display: inline-flex; align-items: center; white-space: nowrap; }
.topline-contact { min-height: 28px; gap: 6px; color: var(--topline-gold); text-decoration: none; }
.topline-contact:hover { color: var(--paper); text-decoration: underline; }
.topline-contact:focus-visible { color: var(--paper); outline: 2px solid var(--topline-gold); outline-offset: 2px; }
.topline svg { flex: 0 0 14px; width: 14px; height: 14px; }
.topline-locations { gap: 7px; }
.topline-place { gap: 4px; min-height: 28px; color: var(--topline-gold); text-decoration: none; }
.topline-place:hover { color: var(--paper); text-decoration: underline; }
.topline-place:focus-visible { color: var(--paper); outline: 2px solid var(--topline-gold); outline-offset: 2px; }
.topline-place + .topline-place::before { content: "·"; color: var(--topline-gold); margin-right: 3px; }
.office-map-links { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; }
.office-map-links .office-map-link { display: inline-flex; min-height: 28px; align-items: center; }

@media (max-width: 1200px) {
  :root { --header-height: calc(64px + 76px); }
  .topline .container { flex-wrap: wrap; justify-content: flex-start; padding-block: 7px; gap: 3px; }
  .topline-services { flex-basis: 100%; }
  .topline-details { justify-content: flex-start; flex-wrap: wrap; column-gap: 18px; row-gap: 2px; }
}
@media (max-width: 760px) {
  :root { --header-height: calc(64px + 140px); }
  .topline { display: block; font-size: 11.5px; }
  .topline .container { padding-block: 8px; gap: 0; }
  .topline-services { white-space: normal; font-size: 11px; line-height: 1.7; }
  .topline-details { width: 100%; column-gap: 12px; row-gap: 0; }
  .topline-contact { min-height: 44px; gap: 5px; }
  .topline-locations { min-height: 28px; gap: 5px; }
  .topline-place { gap: 3px; min-height: 44px; }
  .office-map-links .office-map-link { min-height: 44px; }
  .topline svg { width: 12px; height: 12px; flex-basis: 12px; }
}
@media (max-width: 360px) {
  .topline-locations { flex-wrap: wrap; white-space: normal; row-gap: 4px; padding-block: 4px; }
}
