/* Contact reference card; AZ continues to supply typography, colors and container widths. */
.az-child-contact { background:var(--az-color-page,#f0f0f0); color:var(--az-color-text,#555); font-size:var(--az-body-size,16px); line-height:var(--az-body-line-height,1.7); }
.az-child-contact__container { padding-block:32px; }
.az-child-contact__card { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); align-items:center; gap:32px; padding:16px 28px 36px; background:var(--az-color-surface,#fff); }
.az-child-contact__card > * { min-width:0; }
.az-child-contact__info { padding-block:28px; }
.az-child-contact #az-child-contact-company { margin:0 0 20px; color:var(--az-color-primary,#00a5df); font-family:var(--az-font-heading,sans-serif); font-size:calc(var(--az-h2-size,34px) * .72); line-height:1.4; font-weight:var(--az-heading-weight,500); overflow-wrap:anywhere; }
.az-child-contact__details { display:grid; gap:14px; padding:0; margin:0; list-style:none; }
.az-child-contact__details li { display:flex; align-items:flex-start; gap:8px; margin:0; padding:0; }
.az-child-contact__details li > span:last-child { min-width:0; overflow-wrap:anywhere; }
.az-child-contact__icon { display:flex; flex:0 0 18px; width:18px; height:1lh; align-items:center; color:var(--az-color-heading,#333); }
.az-child-contact__icon svg { display:block; width:18px; height:18px; }
.az-child-contact__details a { color:var(--az-color-primary,#00a5df); text-decoration:none; }
.az-child-contact__details a:hover { text-decoration:underline; text-underline-offset:3px; }
.az-child-contact__details a:focus-visible { outline:2px solid var(--az-color-primary,#00a5df); outline-offset:4px; border-radius:2px; }
.az-child-contact__description { margin:28px 0 0; white-space:normal; overflow-wrap:anywhere; }
.az-child-contact__mascot { margin:0 0 4px; border:1px solid var(--az-color-border,#ddd); border-radius:var(--az-radius-md,8px); background:var(--az-color-surface,#fff); box-shadow:18px 18px 0 var(--az-color-primary,#00a5df); overflow:hidden; }
.az-child-contact__mascot img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
@media(max-width:960px) {
  .az-child-contact__card { gap:26px; padding:20px 24px 36px; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
  .az-child-contact__info { padding-block:12px; }
  .az-child-contact #az-child-contact-company { font-size:calc(var(--az-h2-size,34px) * .65); }
}
@media(max-width:782px) {
  .az-child-contact__container { padding-block:24px; }
  .az-child-contact__card { grid-template-columns:minmax(0,1fr); gap:28px; padding:26px 22px 40px; }
  .az-child-contact__info { padding:0; }
  .az-child-contact__mascot { width:calc(100% - 12px); max-width:400px; justify-self:center; box-shadow:12px 12px 0 var(--az-color-primary,#00a5df); }
  .az-child-contact__description { margin-top:24px; }
}
