/* Keep in Mind: additional photography below the original card artwork. */
.kim-gallery { padding:80px 0; background:#eff9fd; color:#072e50; border-top:1px solid #cfe7f0; scroll-margin-top:100px; }
.kim-gallery__intro { display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:end; margin-bottom:36px; }
.kim-gallery__intro .campaign-kicker { margin:0 0 16px; color:#116780; }
.kim-gallery__intro h2 { margin:0; }
.kim-gallery__intro > p { max-width:440px; justify-self:end; font-size:20px; line-height:1.6; margin:0; }
.kim-gallery__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.kim-gallery figure { min-width:0; margin:0; background:#fff; border:1px solid #c8e1ed; border-radius:18px; overflow:hidden; }
.kim-gallery figure > a { display:block; }
.kim-gallery figure > a:focus-visible { outline:4px solid #116780; outline-offset:-4px; }
.kim-gallery img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.kim-gallery figcaption { padding:24px; border-top:3px solid #00b8f0; }
.kim-gallery h3 { margin:0 0 12px; font-size:clamp(25px,2.2vw,31px); }
.kim-gallery figcaption p { margin:0; color:#3d5f73; font-size:18px; line-height:1.55; }
@media (max-width:900px) {
  .kim-gallery { padding:56px 0; }
  .kim-gallery__intro { grid-template-columns:1fr; gap:22px; margin-bottom:30px; }
  .kim-gallery__intro > p { justify-self:start; max-width:580px; }
  .kim-gallery__grid { grid-template-columns:1fr; max-width:620px; margin-inline:auto; }
}
@media (max-width:600px) {
  .kim-gallery { padding:48px 0; }
  .kim-gallery__intro > p { font-size:18px; }
  .kim-gallery figcaption { padding:22px; }
}
