/* Refurbishments page only (v1, 3 Oct 2026). Loaded only by refurbishments/index.html.
   styles.css, service.css and structural.css are untouched. Everything here is scoped to .rf-* classes
   or to body[data-jb-service="refurbishments"]. */
.rf-hero .hero-media img { object-position: center 50%; }

/* Quote form column fix (same rule Extensions carries in a page-scoped <style>) */
[data-jb-service="refurbishments"] #quote .quote-layout { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { [data-jb-service="refurbishments"] #quote .quote-layout { grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr); } }
[data-jb-service="refurbishments"] #quote .quote-layout > *,
[data-jb-service="refurbishments"] #quote .form-grid,
[data-jb-service="refurbishments"] #quote .form-grid > * { min-width: 0; }
[data-jb-service="refurbishments"] #quote input,
[data-jb-service="refurbishments"] #quote select,
[data-jb-service="refurbishments"] #quote textarea { min-width: 0; max-width: 100%; width: 100%; box-sizing: border-box; }

/* Who does the work (inside #included) */
.rf-who { display: grid; gap: 1.5rem; margin-top: 2.75rem; padding-top: 1.75rem; border-top: 1px solid #ddd; }
.rf-who h3 { margin: 0 0 0.6rem; font-size: 1.2rem; }
.rf-who p { margin: 0; color: var(--muted); line-height: 1.6; }
.rf-who p + p { margin-top: 0.8rem; }
.rf-who .rf-facts { color: var(--ink); font-weight: 600; }
@media (min-width: 900px) { .rf-who { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: 3rem; align-items: start; } }

/* Case-study photo grids */
.rf-case .section-head { max-width: 46rem; }
.rf-case .section-head h2 { font-size: clamp(1.8rem, 4.6vw, 2.4rem); }
.rf-sub { margin-top: 2rem; }
.rf-sub h3 { margin: 0 0 0.9rem; font-size: 1.15rem; padding-top: 0.9rem; border-top: 3px solid var(--ink); }
.rf-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rf-fig { margin: 0; min-width: 0; }
.rf-fig picture { display: block; }
.rf-fig img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 12px; display: block; background: #ddd; }
.rf-fig figcaption { font-size: 0.9rem; color: var(--muted); padding-top: 0.55rem; line-height: 1.4; }
.rf-fig .bda-tag { margin-bottom: 0.3rem; }
.rf-grid-3 > .rf-fig:last-child { grid-column: 1 / -1; }
.rf-grid-3 > .rf-fig:last-child img { aspect-ratio: 4 / 3; }
.rf-grid-4 img { aspect-ratio: 1 / 1; }
@media (min-width: 760px) {
  .rf-grid { gap: 1.25rem; }
  .rf-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rf-grid-3 > .rf-fig:last-child { grid-column: auto; }
  .rf-grid-3 > .rf-fig:last-child img { aspect-ratio: 4 / 5; }
}
@media (min-width: 900px) { .rf-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rf-pairs { display: grid; gap: 0; }
@media (min-width: 900px) { .rf-pairs { grid-template-columns: 1fr 1fr; gap: 0 2.5rem; } }
.rf-note { margin: 1.75rem 0 0; color: var(--muted); max-width: 46rem; line-height: 1.6; }
.rf-note strong { color: var(--ink); }
.rf-textlink { color: var(--red); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 44px; }

/* Openings section (black panel) */
.rf-open { display: grid; gap: 2rem; }
@media (min-width: 900px) { .rf-open { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.45fr); gap: 3rem; align-items: center; } }
.rf-open .section-head { margin-bottom: 0; }
.rf-open .section-head p + p { margin-top: 1rem; }
.rf-open .rf-fig figcaption { color: #cfcfcf; }
.rf-jobtag { display: block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--red); margin-bottom: 0.2rem; }
.bg-black .rf-jobtag { color: #ff5c63; }
.bg-black .rf-textlink { color: #fff; }

/* Mobile spacing, matching the Extensions snag fixes */
@media (max-width: 639px) {
  .rf-grid { gap: 1.1rem 0.75rem; }
  .rf-fig figcaption { font-size: 0.86rem; }
}

/* Process: five steps sit on one row on wide screens */
@media (min-width: 1100px) { [data-jb-service="refurbishments"] #process .timeline { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2rem 1.75rem; } }
/* Qualifications list a little tighter inside the Who does the work block */
.rf-who .quals-list .qual { padding-top: 0.7rem; padding-bottom: 0.7rem; }
.rf-who .quals-list .qual::before { top: 0.95rem; }

/* v1.1 snag (3 Oct): small supporting line under the restored Extensions hero proof line,
   making clear the 9.8/10 is a business-level historic average, not a rating of the pictured job */
.rf-hero .hero-meta:has(+ .rf-proof-note) { margin-bottom: 0; }
.rf-hero .hero-meta.rf-proof-note { margin-top: 0.35rem; font-size: 0.78rem; letter-spacing: 0.01em; line-height: 1.45; color: #b4b4b4; max-width: 34rem; }

/* v1.1 headline fix (Charlie, 3 Oct): stop "House" sitting alone on line 1 of the hero H1.
   Wording unchanged. Page-scoped to this H1 only; shared service.css/styles.css are untouched.
   "House refurbishments" is ~10.7em wide, so the H1 never grows larger than the shared size but shrinks just
   enough for those two words to share a line in the hero column; balance then evens out the remaining lines.
   The first value in each min() is the shared .svc-hero h1 size, repeated so nothing gets bigger than other pages.
   Hero column width (shared layout): <900px = min(100vw, 640px) - 2rem; >=900px = min(43.18vw - 60px, 516px - 6.818vw, 1160px - 50vw). */
[data-jb-service="refurbishments"] #hero-title { text-wrap: balance; }
@media (max-width: 899px) {
  [data-jb-service="refurbishments"] #hero-title { font-size: min(clamp(2rem, 6.5vw, 2.6rem), calc((100vw - 2rem) / 10.95)); }
}
@media (min-width: 900px) {
  [data-jb-service="refurbishments"] #hero-title { font-size: max(1.75rem, min(clamp(2.2rem, 3.4vw, 3rem), calc((43.18vw - 60px) / 11.1), calc((516px - 6.818vw) / 11.1), calc((1160px - 50vw) / 11.1))); }
}
