
.st { display: flex; min-height: 640px; border-bottom: 1px solid var(--colour-border); background: var(--colour-card); }
.st:nth-of-type(even) { flex-direction: row-reverse; }
.st .media { flex: 1 1 55%; position: relative; min-height: 420px; }
.st .media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.st .media .tag-num { position: absolute; left: var(--gutter); top: 32px; background: var(--colour-primary); color: #fff; font-family: var(--font-heading); font-size: 3rem; line-height: 1; padding: 12px 18px; border-radius: var(--radius); }
.st .info { flex: 1 1 45%; padding: clamp(40px, 5vw, 88px) var(--gutter); display: flex; flex-direction: column; justify-content: center; gap: 28px; }
.st h2 { font-size: clamp(2.6rem, 4vw + 1rem, 5rem); }
.st .addr { font-size: 1.125rem; }
.hours { width: 100%; max-width: 460px; border-collapse: collapse; }
.hours caption { text-align: left; font-family: var(--font-heading); text-transform: uppercase; font-size: 1.25rem; padding-bottom: 10px; }
.hours th, .hours td { text-align: left; padding: 10px 0; border-bottom: 1px solid var(--colour-border); font-size: .9375rem; }
.hours th { font-weight: 500; color: var(--colour-text-muted); }
.hours td { text-align: right; font-weight: 600; }
.st .ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.st .services { display: flex; gap: 8px; flex-wrap: wrap; }
@media (max-width: 1024px) {
  .st, .st:nth-of-type(even) { flex-direction: column; }
}

