/* Photo service row, used only on home and services. */
.service-photos.sec{background:#141414;color:#ffffff;padding-block:56px}
.service-photos .sec__head{margin-bottom:32px;text-align:left}
.service-photos h2,.service-photos .lead{color:#ffffff}
.service-photos__carousel{position:relative}
.service-photos__track{display:flex;gap:16px;list-style:none;margin:0;padding:4px 0;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}
.service-photos__track::-webkit-scrollbar{display:none}
.service-photos__track>li{flex:0 0 85%;min-width:0;scroll-snap-align:start}
.service-photo{position:relative;display:block;isolation:isolate;aspect-ratio:3/4;border-radius:8px;overflow:hidden;background:#141414;color:#ffffff;text-decoration:none}
.service-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-photo::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(to bottom,rgba(20,20,20,0),rgba(20,20,20,.95));z-index:1;pointer-events:none}
.service-photo .service-photo__name{position:absolute;z-index:2;bottom:0;left:0;right:0;margin:0;padding:24px 16px;color:#ffffff;font-size:var(--t-lead);line-height:1.15;text-transform:uppercase}
.service-photo__ending{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.service-photo__arrow{display:inline-flex;flex:none;color:#f87000}
.service-photo__arrow svg{display:block;width:28px;height:28px}
.service-photo .service-photo__description{position:absolute;z-index:2;inset:0 0 auto;margin:0;padding:22px 24px;background:rgba(20,20,20,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#ffffff;font-size:var(--t-lead);line-height:1.4;opacity:0;transform:translateY(-12px);transition:opacity 300ms ease-out,transform 300ms ease-out;pointer-events:none}
.service-photo:focus-visible{outline:3px solid #f87000;outline-offset:-3px}
.service-photo:focus-visible .service-photo__description,.service-photo.is-open .service-photo__description{opacity:1;transform:translateY(0)}
.service-photos__prev,.service-photos__next{display:none}
.service-photos .sv-ext-note,.service-photos .sv-links{color:#ffffff}
.service-photos .sv-ext-note a,.service-photos .sv-links a{color:#ffffff}
@media(hover:hover) and (pointer:fine){.service-photo:hover .service-photo__description{opacity:1;transform:translateY(0)}}
@media(min-width:768px){
  .service-photos.sec{padding-block:80px}
  .service-photo .service-photo__name{padding:24px;font-size:var(--t-h3)}
  .service-photos__track{gap:24px}
  .service-photos__track>li{flex-basis:calc((100% - 48px)/3)}
  .service-photos__prev,.service-photos__next{position:absolute;z-index:3;top:50%;display:grid;place-items:center;width:48px;height:48px;min-height:48px;padding:0;border:1px solid #ffffff;border-radius:999px;background:#141414;color:#ffffff;cursor:pointer;transform:translateY(-50%)}
  .service-photos__prev{left:-24px}
  .service-photos__next{right:-24px}
  .service-photos__prev svg,.service-photos__next svg{width:24px;height:24px}
  .service-photos__prev svg{transform:rotate(180deg)}
  .service-photos__prev:focus-visible,.service-photos__next:focus-visible{outline:3px solid #f87000;outline-offset:3px}
  .service-photos__prev:disabled,.service-photos__next:disabled{opacity:.5;cursor:default}
}
@media(prefers-reduced-motion:reduce){.service-photo .service-photo__description{transition:none;transform:none}}
/* Keep this photo band readable under the shell's automatic band palette. */
main>.service-photos.sec{--palette-fg:#ffffff;--palette-muted:#ffffff;background-color:#141414!important}
.service-photos .service-photo__arrow{--palette-fg:#f87000}
