/* Reuse the general homepage's readable overlapping-card rhythm. */
.business-page .business-service-stories { overflow:visible; isolation:isolate; }
.business-page .business-service-stories-layout { display:block; max-width:1100px; margin-inline:auto; }
.business-page .business-service-stories-intro { position:relative; top:auto; margin:0 0 44px; padding:0; }
.business-page .business-service-watermark { left:auto; right:0; top:0; font-size:clamp(76px,10vw,132px); text-align:right; pointer-events:none; }
.business-page .business-service-stories-list { display:block; overflow:visible; padding-bottom:24px; }
.business-page .business-service-stories .business-service-story {
  position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:auto auto auto 1fr; gap:14px 36px; align-items:start;
  padding:24px 30px 30px; margin:0 0 64px; border:1px solid #c8e0e9; border-radius:18px;
  background:#fff; color:#163f53; box-shadow:0 -6px 26px #123c5710;
  z-index:calc(1 + var(--card-index,0));
}
.business-page .business-service-stories .business-service-story:last-child { margin-bottom:0; }
.business-page .business-service-stories .business-service-story-heading { grid-column:1 / -1; margin:0 0 4px; padding:0; min-height:44px; border:0; }
.business-page .business-service-stories .business-service-story-title { gap:20px; align-items:center; }
.business-page .business-service-stories .business-service-story-number { color:#69b8d0; font-size:42px; font-weight:700; line-height:1; }
.business-page .business-service-stories .business-service-story-title h3 { color:#163f53; font-size:clamp(21px,2vw,27px); }
.business-page .business-service-stories .business-service-story-title h3 span { color:#607985; font-size:12px; }
.business-page .business-service-stories .business-service-story-photo { grid-column:1; grid-row:2 / 5; width:100%; border-radius:5px; }
.business-page .business-service-stories .business-service-story-photo img { height:auto; aspect-ratio:1.6; }
.business-page .business-service-stories .business-service-story p { grid-column:2; margin:4px 0 0; color:#405b68; font-size:17px; line-height:1.9; }
.business-page .business-service-stories .business-service-story-caption { grid-column:2; color:#607985; }
.business-page .business-service-stories .business-service-story-more { grid-column:2; margin:0; align-self:end; color:#145b73; min-height:44px; }
.business-page .business-service-stories .business-service-story-more > span { background:#e8f4f8; color:#145b73; }
.business-page .business-service-stories .business-service-story button:focus-visible { outline:3px solid #237fa1; outline-offset:5px; }
.business-page .business-stack-enabled:not(.business-stack-focus) .business-service-story { position:sticky; top:calc(var(--stack-top) + var(--card-index) * var(--stack-step)); }

.business-motion-ready .business-reveal { opacity:0; transform:translateY(16px); transition:none; }
.business-motion-ready .business-reveal.business-revealed { opacity:1; transform:none; transition:opacity 1.8s cubic-bezier(.22,.55,.3,1) var(--reveal-delay,0ms),transform 2.1s cubic-bezier(.22,.55,.3,1) var(--reveal-delay,0ms); }

.business-region-map { display:block; width:min(100%,560px); height:auto; justify-self:end; }
.business-motion-ready .map-outline, .business-motion-ready .map-connector { stroke-dasharray:1; stroke-dashoffset:1; }
.business-motion-ready .map-pins, .business-motion-ready .map-labels { opacity:0; }
.business-motion-ready .map-drawn .map-outline { stroke-dashoffset:0; transition:stroke-dashoffset 1.35s cubic-bezier(.4,0,.2,1) .25s; }
.business-motion-ready .map-drawn .map-pins { opacity:1; transition:opacity .35s ease 1.45s; }
.business-motion-ready .map-drawn .map-connector { stroke-dashoffset:0; transition:stroke-dashoffset .45s ease 1.65s; }
.business-motion-ready .map-drawn .map-labels { opacity:1; transition:opacity .4s ease 1.95s; }

.business-repeat-photo { display:block; position:relative; overflow:hidden; aspect-ratio:3/2; background:#edf4f7; }
.business-page .business-repeat-photo img { position:absolute; width:100%; height:100%; max-width:none; object-fit:cover; }
.business-motion-ready .business-repeat-photo img { height:calc(100% + 48px); top:-24px; transform:translateY(var(--photo-shift,0px)); }
@media(max-width:768px) {
  .business-page .business-service-stories-intro { margin-bottom:32px; }
  .business-page .business-service-watermark { font-size:76px; }
  .business-page .business-service-stories .business-service-story { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; gap:10px; padding:16px 16px 20px; margin-bottom:36px; border-radius:12px; }
  .business-page .business-service-stories .business-service-story-heading { min-height:36px; }
  .business-page .business-service-stories .business-service-story-title { gap:12px; }
  .business-page .business-service-stories .business-service-story-number { font-size:32px; }
  .business-page .business-service-stories .business-service-story-title h3 { font-size:20px; }
  .business-page .business-service-stories .business-service-story-title h3 span { margin-top:2px; font-size:10px; }
  .business-page .business-service-stories .business-service-story-photo { grid-column:1; grid-row:auto; }
  .business-page .business-service-stories .business-service-story-photo img { aspect-ratio:16/9; }
  .business-page .business-service-stories .business-service-story p { grid-column:1; margin:2px 0 0; font-size:16px; line-height:1.8; }
  .business-page .business-service-stories .business-service-story-caption,.business-page .business-service-stories .business-service-story-more { grid-column:1; }
  .business-page .business-service-stories .business-service-story-more { justify-self:end; }
  .business-region-map { width:100%; margin:22px auto 0; }
  .business-motion-ready .business-repeat-photo img { height:calc(100% + 28px); top:-14px; }
}
@media(prefers-reduced-motion:reduce) {
  .business-motion-ready .business-reveal,.business-motion-ready .business-reveal.business-revealed { opacity:1; transform:none; transition:none; }
  .business-page .business-stack-enabled .business-service-story { position:relative; top:auto; }
  .business-motion-ready .map-outline,.business-motion-ready .map-connector { stroke-dashoffset:0; transition:none; }
  .business-motion-ready .map-pins,.business-motion-ready .map-labels { opacity:1; transition:none; }
  .business-motion-ready .business-repeat-photo img { top:0; height:100%; transform:none; }
}
