
/* image layout pass */
.stph2{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr auto;gap:12px;height:clamp(320px,54vh,500px)}
.stph2 figure{margin:0;overflow:hidden;border-radius:18px;position:relative}
.stph2 img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.08);transition:transform 1.6s cubic-bezier(.2,.7,.1,1)}
.stph2 .p1{grid-row:1/3;border-radius:999px 999px 18px 18px}
.stph2 .p1 img{object-position:50% 40%}
.stph2 .p2 img{object-position:50% 60%}
.stph2 .p3{background:var(--cta,#13806B);color:#fff;border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.stph2 .p3 b{font:700 1.1rem/1.15 var(--display)}.stph2 .p3 span{font-size:.85rem;opacity:.9}
.stph2 figure{clip-path:inset(100% 0 0 0);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1)}
.stph2 .p2{transition-delay:.15s}
.stph2.in figure{clip-path:inset(0 0 0 0)}
.stph2.in img{transform:scale(1)}
.stph2 .p3{opacity:0;transform:translateY(14px);transition:opacity .7s .4s,transform .8s cubic-bezier(.2,.7,.1,1) .4s}
.stph2.in .p3{opacity:1;transform:none}
@media(max-width:860px){.stph2{height:360px}}
/* services: image beneath the category tabs */
.sx{grid-template-rows:auto 1fr}
.stabs{grid-column:1;grid-row:1}
.stimg{grid-column:1;grid-row:2;position:relative;border-radius:18px;overflow:hidden;min-height:140px;margin-top:14px}
.spanels{grid-column:2;grid-row:1/3}
.stimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .7s,transform 1.4s cubic-bezier(.2,.7,.1,1)}
.stimg img.on{opacity:1;transform:none}
@media(max-width:900px){.stimg{display:none}.spanels{grid-column:1;grid-row:auto}}
/* map: show the full shopfront signage, caption underneath */
.extph{box-shadow:none;border-radius:14px}
.extph img{height:auto!important;aspect-ratio:auto;object-fit:contain}
.extph figcaption{position:static;background:none;color:rgba(238,231,219,.75);padding:8px 2px 0;font-size:.78rem}
/* gallery: consistent radius and captions */
.ggrid{gap:12px}
.gi{border-radius:18px}
.gc{left:10px;right:auto;bottom:10px;max-width:calc(100% - 20px);padding:8px 12px}
