/* Firm C: half-bleed photograph plus a short vertical timeline. Scoped to .firm-timeline. */
.firm-timeline{margin-top:104px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--stone);--hl:var(--wp--preset--color--highlight,var(--accent))}
.firm-timeline .firm-photo{position:relative;margin:0;min-height:520px}
.firm-timeline .firm-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.firm-timeline .firm-photo .wp-element-caption{position:absolute;left:16px;bottom:16px;margin:0;background:rgba(20,22,25,.74);color:#fff;font-size:14px;line-height:1.4;padding:8px 12px;border-radius:4px;max-width:calc(100% - 32px);text-align:left}
.firm-timeline .firm-photo .wp-element-caption strong{display:block;font-weight:600}
.firm-timeline .firm-photo .wp-element-caption a{color:#fff}
.firm-timeline .story-text{padding:72px max(var(--gutter),calc((100vw - var(--wrap))/2)) 72px 64px;max-width:calc(var(--wrap)/2 + 64px + var(--gutter))}
.firm-timeline h2{font-family:var(--serif-d);font-weight:400;font-size:48px;line-height:1.08;letter-spacing:-.005em}
.firm-timeline .timeline{list-style:none;margin:32px 0 28px;padding:0;border-left:2px solid var(--hl)}
.firm-timeline .timeline > li{position:relative;padding:0 0 26px 28px;max-width:calc(42ch + 28px)}
.firm-timeline .timeline > li::before{content:"";position:absolute;left:-7px;top:9px;width:12px;height:12px;border-radius:50%;background:var(--stone);border:2px solid var(--hl)}
.firm-timeline .timeline .yr{display:block;font-family:var(--serif-d);font-size:30px;line-height:1.1;color:var(--accent);margin-bottom:4px}
.firm-timeline .go{margin:0}
.firm-timeline .go a{font-weight:600;text-decoration:none;font-size:16px;white-space:nowrap}
.firm-timeline .go a:hover .lbl{text-decoration:underline}
@media (max-width:980px){
  .firm-timeline{grid-template-columns:1fr}
  .firm-timeline .firm-photo{min-height:0;aspect-ratio:3/2}
  .firm-timeline .story-text{padding:52px var(--gutter) 56px;max-width:none}
}
@media (max-width:640px){
  .firm-timeline{margin-top:72px}
  .firm-timeline h2{font-size:36px}
  .firm-timeline .timeline .yr{font-size:26px}
}
