/*
 * Prospect Contact System — v2.12.3
 * Source of truth: Anthony Business Card Illustrator artwork.
 *
 * Illustrator geometry recovered from the PDF-compatible .ai file:
 * - Meaningful-value rail: x 186.34–249.21 (62.87 units).
 * - Nominal text height: 7 units, producing a rail width of 8.983em.
 * - Prefix gutter: 27.61 units, producing 3.944em.
 * - Address, phone number, and prospectgroupusa.com all begin on that rail.
 * - Predictable prefixes (Bus/Fax/admin@) sit to the left of the rail.
 * - US / AX / EXT are 70% of the primary text height.
 * - Each fitted line is horizontally scaled only; its height never changes.
 */

body[class*="prospect-"] [id^="pamg-"] {
  --pamg-contact-font: Arial, Helvetica, sans-serif;
  --pamg-card-value-rail: 8.983em;
  --pamg-card-prefix-gutter: 3.944em;
  --pamg-card-small-ratio: .70;
  --pamg-card-leading: 1.142857;
  --pamg-card-group-gap: .54em;
  --pamg-contact-page-size: clamp(17px, 1.45vw, 20px);
  --pamg-contact-footer-size: 13px;
}

body[class*="prospect-"] [id^="pamg-"] .pamg-contact-lockup,
body[class*="prospect-"] [id^="pamg-"] .pamg-contact-group {
  font-family: var(--pamg-contact-font);
  font-weight: 400;
  font-style: normal;
  font-variant-numeric: normal;
  letter-spacing: 0;
}

body[class*="prospect-"] [id^="pamg-"] .pamg-contact-lockup {
  display: grid;
  gap: var(--pamg-card-group-gap);
  width: calc(var(--pamg-card-prefix-gutter) + var(--pamg-card-value-rail));
  max-width: 100%;
  line-height: var(--pamg-card-leading);
}

/* The source card is organized around one fixed value rail. */
body[class*="prospect-"] [id^="pamg-"] .pamg-contact-group {
  display: grid;
  grid-template-columns: var(--pamg-card-prefix-gutter) var(--pamg-card-value-rail);
  width: calc(var(--pamg-card-prefix-gutter) + var(--pamg-card-value-rail));
  max-width: 100%;
  align-items: start;
  color: inherit;
  text-decoration: none;
}
body[class*="prospect-"] [id^="pamg-"] .pamg-prefix-stack,
body[class*="prospect-"] [id^="pamg-"] .pamg-line-stack {
  display: grid;
  grid-auto-rows: calc(1em * var(--pamg-card-leading));
  align-items: baseline;
  min-width: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-decoration: none;
}
body[class*="prospect-"] [id^="pamg-"] .pamg-prefix-stack {
  justify-items: end;
}
body[class*="prospect-"] [id^="pamg-"] .pamg-value-rail {
  width: var(--pamg-card-value-rail);
  overflow: visible;
}
body[class*="prospect-"] [id^="pamg-"] .pamg-prefix-line,
body[class*="prospect-"] [id^="pamg-"] .pamg-payload-line {
  display: block;
  width: max-content;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  white-space: nowrap;
  color: inherit;
  font: inherit;
  line-height: var(--pamg-card-leading);
  text-decoration: none;
}
body[class*="prospect-"] [id^="pamg-"] .pamg-fit-line {
  transform: scaleX(var(--pamg-fit-scale, 1));
  transform-origin: left center;
  will-change: transform;
}
body[class*="prospect-"] [id^="pamg-"] .pamg-phone-prefix {
  display: inline-flex;
  align-items: baseline;
  justify-self: end;
  padding-right: .25em;
}
body[class*="prospect-"] [id^="pamg-"] .pamg-phone-line {
  transform: scaleX(var(--pamg-phone-shared-scale, 1));
  transform-origin: left center;
  will-change: transform;
}
body[class*="prospect-"] [id^="pamg-"] .pamg-label-major,
body[class*="prospect-"] [id^="pamg-"] .pamg-label-punctuation,
body[class*="prospect-"] [id^="pamg-"] .pamg-phone-number,
body[class*="prospect-"] [id^="pamg-"] .pamg-extension-number {
  font-size: 1em !important;
  line-height: 1;
}
body[class*="prospect-"] [id^="pamg-"] .pamg-label-minor {
  font-size: calc(1em * var(--pamg-card-small-ratio)) !important;
  line-height: 1;
  letter-spacing: .015em;
}
body[class*="prospect-"] [id^="pamg-"] .pamg-contact-group--email:hover,
body[class*="prospect-"] [id^="pamg-"] .pamg-phone-number:hover {
  color: #fff;
}

/* ---------- Footer composition ---------- */
body[class*="prospect-"] [id^="pamg-"] .footer-grid {
  grid-template-columns: minmax(310px, 1.28fr) .62fr .82fr minmax(275px, 1.18fr);
  gap: 42px;
  align-items: start;
}
body[class*="prospect-"] [id^="pamg-"] .footer-contact-col {
  display: grid;
  justify-items: end;
  align-content: start;
  gap: 10px;
  min-width: 0;
}
body[class*="prospect-"] [id^="pamg-"] .footer-contact-col h3 {
  width: 100%;
  margin: 0 0 8px !important;
  text-align: right;
}
body[class*="prospect-"] [id^="pamg-"] .pamg-contact-lockup--footer {
  justify-self: end;
  margin-left: auto;
  color: rgba(255,255,255,.68);
  font-size: var(--pamg-contact-footer-size);
}
body[class*="prospect-"] [id^="pamg-"] .pamg-contact-lockup--footer a:hover { color: #fff; }
body[class*="prospect-"] [id^="pamg-"] .footer-contact-compact { display: none; }

/* Intentional map links keep the business-card geometry and have no browser-added underline. */
body[class*="prospect-"] [id^="pamg-"] .pamg-map-link,
body[class*="prospect-"] [id^="pamg-"] .pamg-map-link:visited,
body[class*="prospect-"] [id^="pamg-"] .pamg-map-link:hover,
body[class*="prospect-"] [id^="pamg-"] .pamg-map-link:focus {
  color: inherit;
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Neutralize iOS data-detector decoration. Explicit phone, email, and map links remain clickable. */
body[class*="prospect-"] [id^="pamg-"] a[x-apple-data-detectors],
body[class*="prospect-"] [id^="pamg-"] [x-apple-data-detectors] {
  color: inherit !important;
  font: inherit !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* ---------- Contact page office section ---------- */
body.prospect-contact #pamg-contact .contact-information {
  padding: 120px 0;
  background: var(--navy-900);
  color: var(--white);
}
body.prospect-contact #pamg-contact .contact-information .eyebrow { color: #83bce3; }
body.prospect-contact #pamg-contact .contact-information-grid {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 105px;
  align-items: start;
}
body.prospect-contact #pamg-contact .contact-information-heading h2 { color: var(--white); }
body.prospect-contact #pamg-contact .contact-information-heading > p {
  max-width: 560px;
  margin-top: 24px;
  color: rgba(255,255,255,.68);
  font-size: 17px;
}
body.prospect-contact #pamg-contact .contact-information-list {
  border-top: 1px solid rgba(255,255,255,.2);
}
body.prospect-contact #pamg-contact .pamg-information-row {
  display: grid;
  grid-template-columns: 165px minmax(0,1fr);
  gap: 28px;
  align-items: baseline;
  padding: 25px 0;
  border-bottom: 1px solid rgba(255,255,255,.2);
}
body.prospect-contact #pamg-contact .pamg-information-label {
  color: #83bce3;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.prospect-contact #pamg-contact .pamg-contact-group--page {
  color: rgba(255,255,255,.82);
  font-size: var(--pamg-contact-page-size);
}

@media (max-width: 1120px) {
  body[class*="prospect-"] [id^="pamg-"] .footer-grid {
    grid-template-columns: 1.2fr 1fr;
  }
}
@media (max-width: 780px) {
  body[class*="prospect-"] [id^="pamg-"] footer {
    padding: 38px 0 18px !important;
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-grid {
    grid-template-columns: minmax(0, .58fr) minmax(0, .95fr) minmax(0, 1.58fr) !important;
    gap: 20px 8px !important;
    align-items: start;
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-brand {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(120px, .82fr) minmax(0, 1.18fr);
    gap: 16px;
    align-items: center;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.12);
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-brand .footer-logo {
    width: min(100%, 165px) !important;
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-brand .footer-note {
    max-width: none !important;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.42 !important;
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-col {
    min-width: 0;
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-col h3,
  body[class*="prospect-"] [id^="pamg-"] .footer-contact-col h3 {
    width: 100%;
    margin: 0 0 9px !important;
    text-align: left;
    font-size: 10px !important;
    letter-spacing: .09em;
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-col:not(.footer-contact-col) > a {
    margin-top: 8px !important;
    font-size: 10.5px !important;
    line-height: 1.28 !important;
    overflow-wrap: anywhere;
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-contact-col {
    justify-items: end;
    gap: 0;
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-contact-col h3 {
    text-align: right;
  }
  body[class*="prospect-"] [id^="pamg-"] .pamg-contact-lockup--footer {
    display: grid;
    justify-self: end;
    margin-left: auto;
    font-size: clamp(10.8px, 3vw, 11.8px);
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-contact-compact {
    display: none;
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-bottom {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 28px !important;
    padding-top: 16px !important;
    gap: 6px 16px;
    font-size: 9.5px !important;
    line-height: 1.35 !important;
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-bottom span + span {
    display: inline !important;
    margin-top: 0 !important;
  }
  body.prospect-contact #pamg-contact .contact-information { padding: 86px 0; }
  body.prospect-contact #pamg-contact .contact-information-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}
@media (max-width: 520px) {
  body.prospect-contact #pamg-contact .pamg-information-row {
    grid-template-columns: 1fr;
    gap: 9px;
    align-items: start;
  }
  body.prospect-contact #pamg-contact .pamg-contact-group--page {
    font-size: 16px;
  }
}

@media (max-width: 360px) {
  body[class*="prospect-"] [id^="pamg-"] .footer-grid {
    grid-template-columns: minmax(0, .58fr) minmax(0, .95fr) minmax(0, 1.58fr) !important;
    gap: 18px 7px !important;
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-brand {
    grid-template-columns: minmax(105px, .78fr) minmax(0, 1.22fr);
    gap: 12px;
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-brand .footer-note {
    font-size: 10px !important;
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-col:not(.footer-contact-col) > a {
    font-size: 9.6px !important;
  }
}

/* ---------- v2.12.3: Cross-page footer containment ----------
 * The interior pages apply their generic footer link/span font size directly
 * to every nested element. That enlarged the fixed business-card contact grid,
 * pushed its value rail beyond the mobile viewport, and created horizontal pan.
 * Keep the contact lockup on its own inherited type scale on every template.
 */
body[class*="prospect-"] [id^="pamg-"] .pamg-contact-lockup--footer > .pamg-contact-group,
body[class*="prospect-"] [id^="pamg-"] .pamg-contact-lockup--footer .pamg-prefix-stack,
body[class*="prospect-"] [id^="pamg-"] .pamg-contact-lockup--footer .pamg-line-stack,
body[class*="prospect-"] [id^="pamg-"] .pamg-contact-lockup--footer .pamg-prefix-line,
body[class*="prospect-"] [id^="pamg-"] .pamg-contact-lockup--footer .pamg-payload-line {
  font-size: inherit !important;
}

@media (max-width: 780px) {
  html,
  body[class*="prospect-"] {
    overflow-x: hidden;
  }
  body[class*="prospect-"] [id^="pamg-"] {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
  body[class*="prospect-"] [id^="pamg-"] .footer-grid,
  body[class*="prospect-"] [id^="pamg-"] .footer-contact-col,
  body[class*="prospect-"] [id^="pamg-"] .pamg-contact-lockup--footer {
    max-width: 100%;
  }
}

@supports (overflow: clip) {
  @media (max-width: 780px) {
    html,
    body[class*="prospect-"],
    body[class*="prospect-"] [id^="pamg-"] {
      overflow-x: clip;
    }
  }
}

