/* Photographic service navigation and service-specific reference galleries. */
.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:stretch}
.service-card{display:flex;flex-direction:column;min-width:0;background:#fff;box-shadow:0 1px 0 #cbd4dc;overflow:hidden}
.service-card-media{aspect-ratio:4/3;overflow:hidden;background:#dce5ec}
.service-card-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s ease}
.service-card-copy{display:flex;flex-direction:column;flex:1;padding:25px 25px 27px}
.service-card-copy h3{font-family:var(--serif);font-size:24px;line-height:1.35;letter-spacing:-.035em;color:var(--ink);margin:0}
.service-card-copy p{font-size:12px;line-height:1.85;margin:17px 0 24px;color:var(--muted)}
.service-card-action{display:block;align-self:flex-start;margin-top:auto;padding-top:17px;border-bottom:1px solid #91afcb;color:var(--blue);font-size:11px;font-weight:700;line-height:1.6}
.service-card:hover .service-card-media img,.service-card:focus-visible .service-card-media img{transform:scale(1.035)}
.service-card:hover h3{color:var(--blue)}
.service-cards--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 24px;margin:29px 0 18px}
.service-cards--compact .service-card-media{aspect-ratio:16/10}
.service-cards--compact .service-card-copy{padding:14px 0 17px;background:transparent}
.service-cards--compact .service-card-copy h3{font-family:var(--sans);font-size:13px;font-weight:700;line-height:1.5;letter-spacing:0}
.reform-copy .service-cards--compact .service-card{background:transparent}
.reforms-grid{align-items:stretch}
.reforms-grid>.reform-photo img{height:100%;min-height:690px;max-height:900px;object-fit:cover}
.service-body>.service-cards--compact{margin-top:37px}
.service-cards--related{grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:25px}
.service-cards--related .service-card-media{aspect-ratio:16/11}
.service-cards--related .service-card-copy{padding:21px 22px 23px}
.service-cards--related .service-card-copy h3{font-size:21px}
.related-heading{font-family:var(--sans);font-size:10px;letter-spacing:.2em;font-weight:700;line-height:1.6;margin-bottom:29px}
.reference-work{background:#fafbf9}
.work-grid.reference-gallery,.work-grid.reference-gallery:has(figure:nth-child(4)){grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 27px}
.work-grid.reference-gallery .gallery-open{aspect-ratio:4/3}
.work-grid.reference-gallery figure:nth-child(3):last-child .gallery-open img{height:100%}
.work-grid.reference-gallery figcaption{font-size:11px;line-height:1.75}
@media(max-width:1190px){
  .service-cards{gap:23px}.service-card-copy{padding:21px 20px 24px}.service-card-copy h3{font-size:22px}
  .service-cards--compact{gap:20px}.service-cards--compact .service-card-copy h3{font-size:12px}
  .reforms-grid{gap:45px}.reforms-grid>.reform-photo img{min-height:670px}
  .service-cards--related{gap:22px}.service-cards--related .service-card-copy h3{font-size:20px}
}
@media(max-width:850px){
  .reforms-grid{grid-template-columns:1fr;gap:38px}.reforms-grid>.reform-photo{width:100%;max-width:none}
  .reforms-grid>.reform-photo img{height:360px;min-height:0;max-height:none;object-position:center 55%}
  .service-cards--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.service-cards--compact .service-card-copy h3{font-size:14px}
  .service-cards--primary{grid-template-columns:1fr;gap:30px}.service-cards--primary .service-card{display:grid;grid-template-columns:1fr 1fr}
  .service-cards--primary .service-card-media{height:100%;aspect-ratio:auto;min-height:270px}.service-cards--primary .service-card-copy{padding:28px}
  .service-cards--related{grid-template-columns:repeat(2,minmax(0,1fr))}
  .work-grid.reference-gallery,.work-grid.reference-gallery:has(figure:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 20px}
  .work-grid.reference-gallery>figure:last-child:nth-child(odd){grid-column:1/-1;max-width:calc((100% - 20px)/2)}
}
@media(max-width:540px){
  .reforms-grid{gap:32px}.reforms-grid>.reform-photo img{height:360px}.service-cards--compact{gap:20px 15px;margin-top:27px}
  .service-cards--compact .service-card-media{aspect-ratio:4/3}.service-cards--compact .service-card-copy h3{font-size:12px}
  .service-cards--compact .service-card-copy{padding:12px 0 14px}
  .service-cards--primary,.service-cards--related{grid-template-columns:1fr;gap:27px}
  .service-cards--primary .service-card{display:flex}.service-cards--primary .service-card-media,.service-cards--related .service-card-media{aspect-ratio:16/11;height:auto;min-height:0}
  .service-card-copy,.service-cards--primary .service-card-copy,.service-cards--related .service-card-copy{padding:23px}
  .service-card-copy h3,.service-cards--related .service-card-copy h3{font-size:23px}.service-card-copy p{font-size:12px}
  .related-heading{margin-bottom:24px}
  .work-grid.reference-gallery,.work-grid.reference-gallery:has(figure:nth-child(4)){grid-template-columns:1fr;gap:30px}
  .work-grid.reference-gallery>figure:last-child:nth-child(odd){grid-column:auto;max-width:none}
  .work-grid.reference-gallery .gallery-open{aspect-ratio:4/3}.work-grid.reference-gallery figcaption{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.service-card-media img{transition:none!important;transform:none!important}}
