/* fs-fixes 2026-09-26 — audit pass (Dylan: "audit and fix four seasons pages, look at them all").
   Layout-only overrides. No copy lives here. */

/* 1. Blog photos: `.bvg-body .bvg-photo{height:300px}` was written for <img class=bvg-photo>; on the
      32 blog posts the class sits on a <figure>, so the figure clamped to 300px and the 600px+ photo
      spilled over the article text below it. */
.bvg-body figure.bvg-photo{height:auto!important;object-fit:initial!important;margin:22px 0 26px}
.bvg-body figure.bvg-photo > img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:var(--r-md,14px)}
.bvg-body figure.bvg-photo > figcaption{margin-top:8px}

/* 2. "How a job actually runs" (ol.bvg-steps, 59 non-Bluebird pages): the number was pinned
      absolute with 62px left padding, leaving a sliver of text per card. Bluebird step cards:
      number on top, white card, readable measure. */
section.bvg-how ol.bvg-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:bvgstep}
section.bvg-how ol.bvg-steps > li{display:block;padding:26px 24px 24px!important;background:#fff!important;border:0!important;border-radius:14px;box-shadow:0 10px 28px rgba(11,36,50,.10)}
section.bvg-how ol.bvg-steps > li::before{position:static!important;display:inline-flex!important;margin:0 0 14px;width:36px!important;height:36px!important}
section.bvg-how ol.bvg-steps > li h3{font-size:1.08rem!important;line-height:1.3;margin:0 0 8px!important;color:#0B2432!important}
section.bvg-how ol.bvg-steps > li p{font-size:.95rem!important;line-height:1.6!important;margin:0;color:#3a4a55!important}
@media (max-width:1000px){section.bvg-how ol.bvg-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){section.bvg-how ol.bvg-steps{grid-template-columns:1fr}}

/* 3. Bluebird areas band: the added "Where We Work / Areas We Serve" head (94 pages had chips only). */
.bb-areas-text .bb-areas-head .bvg-eyebrow-row{margin:0 0 10px}
.bb-areas-text .bb-areas-head h2{color:#fff!important;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.15;margin:0 0 18px}

/* 4. 3-up text grids (.bvg-mini-grid) on static pages: H2s rendered at hero-ish size inside a
      third-width column, so every column opened with a 3-line headline. */
.bvg-mini-grid > .bvg-mini > h2{font-size:clamp(1.2rem,1.7vw,1.5rem)!important;line-height:1.25!important;margin-bottom:10px!important}
.bvg-sec--ice .bvg-mini-grid > .bvg-mini,.bvg-sec--white .bvg-mini-grid > .bvg-mini,.bvg-body > .bvg-mini-grid > .bvg-mini{background:#fff;border-radius:14px;padding:22px 22px 18px;box-shadow:0 8px 24px rgba(11,36,50,.07)}

/* 5. process band CTA sat off-centre under the step grid */
section.bvg-how .bvg-offer-cta{text-align:center;margin-top:28px}

/* 6. Phone: the comparison table (420 pages) measured 371px inside a 285px card and hung ~86px
      past the card edge. Tighter cells first; if it still does not fit, it scrolls inside the card. */
@media (max-width:600px){
  main table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  main table th,main table td{padding:8px 8px!important;font-size:.82rem!important;line-height:1.4;overflow-wrap:anywhere}
  main table caption{font-size:.85rem}
}

/* 7. Intro split (text | navy feature card) centred a short text block beside a tall card,
      leaving a blank gap above the eyebrow. Top-align it. */
main .bvg-split{align-items:start!important}
main .bvg-split > div:first-child{padding-top:8px}

/* 8. Portrait photos in .bvg-figure rendered full-width at ~1250px tall. */
.bvg-body .bvg-figure > img{max-height:560px;width:100%;object-fit:cover}

/* 9. Cost-guide estimator sat pinned to the left with dead space beside it. */
.bvg-body .fsc-calc{margin-left:auto!important;margin-right:auto!important}
