/* Structural alterations page only. Extensions/service.css untouched. */
.st-hero .hero-media img { object-position: center 40%; }

/* Job A pair: two equal frames */
@media (min-width: 760px) {
  .st-pair .bda-grid { grid-template-columns: repeat(2, 1fr) !important; max-width: 62rem; }
  .st-pair .bda-item img, .st-pair .bda-item picture img { aspect-ratio: 1 / 1 !important; object-position: center 50% !important; }
}

/* Method steps in the black panel */
.st-steps { list-style: none; counter-reset: st; margin: 1.2rem 0 0; padding: 0; }
.st-steps li { counter-increment: st; position: relative; padding: 0.7rem 0 0.7rem 2.6rem; border-top: 1px solid rgba(255,255,255,0.15); color: #e6e6e6; line-height: 1.5; }
.st-steps li::before { content: counter(st); position: absolute; left: 0; top: 0.75rem; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--red); color: #fff; font-weight: 700; font-size: 0.9rem; display: grid; place-items: center; }
.st-steps strong { color: #fff; }
@media (min-width: 560px) { .st-photos-2 { grid-template-columns: repeat(2, 1fr) !important; } }
.st-jobtag { display: block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #ff5c63; margin-bottom: 0.2rem; }
.st-jobtag-dark { color: var(--red); }

/* Underpinning */
.st-under { display: grid; gap: 1.75rem; align-items: center; }
@media (min-width: 760px) { .st-under { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 3rem; } }
.st-under figure { margin: 0; }
.st-under img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 10px; display: block; }
@media (max-width: 759px) { .st-under img { aspect-ratio: 4 / 3; } }
.st-under figcaption { font-size: 0.88rem; color: var(--muted); padding-top: 0.45rem; line-height: 1.35; }
.st-under .section-head { margin-bottom: 0; }
.st-under .section-head p + p { margin-top: 0.9rem; }
.st-textlink, .tick-list a { color: var(--red); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 44px; }
.tick-list li.st-li-link { padding-top: 0; padding-bottom: 0; }
.tick-list li.st-li-link::before { top: 1.15rem; }

/* Mobile form spacing, same as Extensions snag fix (6th label = drawings question) */
@media (max-width: 639px) { #quote .form-grid > label:nth-of-type(5) { margin-top: 1rem; } }

/* Snag round v1.1 */
.st-method-note { color: #cfcfcf; font-size: 0.95rem; margin-top: 0.6rem; }
.st-photos-note { color: #cfcfcf; font-size: 0.88rem; margin: 0 0 0.7rem; line-height: 1.4; }
.st-photos-wrap { min-width: 0; }
/* v1.1: stop the quote form overflowing its column at 360px */
#quote .quote-layout { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { #quote .quote-layout { grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr); } }
#quote .quote-layout > *, #quote .form-grid, #quote .form-grid > * { min-width: 0; }
#quote input, #quote select, #quote textarea { min-width: 0; max-width: 100%; width: 100%; box-sizing: border-box; }
