/* Keep the complete composition of the supplied landscape photographs. */
.page-photo img.photo-upload,
.connection-photo img.photo-upload {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  object-position: center;
}

.page-photo.photo-collage img{height:auto;aspect-ratio:auto;object-fit:contain}
.page-photo img.photo-existing{width:100%;height:390px;object-fit:cover;object-position:center}
.page-photo.photo-tall img.photo-existing{height:auto;aspect-ratio:3/4;object-fit:contain}
.page-photo.photo-collage img.photo-existing{height:auto;aspect-ratio:16/9;object-fit:contain}

/* The giving photo belongs beside the secure form, below its introduction. */
.giving-intro-photo{margin:30px 8px 0 0;max-width:550px;box-shadow:5px 5px 0 var(--ink)}
.giving-intro-photo img.photo-upload{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.giving-intro-photo figcaption{font-size:10px;padding:12px 16px}
.contact-photo{align-self:center}
.sanctuary-image img.photo-upload{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}

/* Preserve the Team hero card's image-plus-caption size with one full-card photo. */
[data-refuge-motion="team"] .team-hero-photo .photo-window {
  position: relative;
  aspect-ratio: 16 / 9;
  box-sizing: content-box;
  font-size: 11px;
  padding-bottom: calc(32px + 1.55em + 2.5px);
}
[data-refuge-motion="team"] .team-hero-photo .photo-window img.photo-upload {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
}

/* Contact photo keeps its original image-plus-caption dimensions. */
[data-refuge-motion="contact-us"] .full-card-photo .photo-window {
  position:relative;aspect-ratio:16 / 9;box-sizing:content-box;
  font-size:11px;padding-bottom:calc(32px + 1.55em + 2.5px);
}
[data-refuge-motion="contact-us"] .full-card-photo img.photo-upload {
  position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;
}
.policy-document .prose{max-width:790px}
.policy-document .prose h2{font-size:clamp(28px,3vw,38px);scroll-margin-top:145px}
.policy-document .prose h3{font-size:24px}
.policy-document .policy-date{font-size:13px;font-weight:700;margin-bottom:26px}
.policy-table-wrap{max-width:100%;overflow-x:auto;margin:28px 0}
.policy-table-wrap table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.65}
.policy-table-wrap th,.policy-table-wrap td{padding:17px;text-align:left;vertical-align:top;border:1.5px solid var(--ink)}
.policy-table-wrap th{background:var(--yellow)}
.policy-table-wrap td:first-child{font-weight:600;width:27%}
.policy-table-wrap a{overflow-wrap:anywhere}
.site-footer .footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 24px;max-width:430px}

/* Preserve the homepage photo-plus-caption card size after removing its caption. */
.connection-photo-window{position:relative;aspect-ratio:16/9;box-sizing:content-box;font-size:9px;line-height:1.55;padding-bottom:calc(30px + 1.55em + 2.5px);overflow:hidden;border-radius:5px}.connection-photo .connection-photo-window>img.photo-upload{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
@media(max-width:580px){.connection-photo-window{padding-bottom:calc(26px + 1.55em + 2.5px)}}
