/* ==========================================================================
   PROFESSIONALS.HTML — page-only extras (extends style.css tokens/components)
   ========================================================================== */

.story-copy p { font-size: 1.02rem; }
.story-copy p + p { margin-top: 1em; }

/* .pull-quote defaults to forest text for light grounds; flip it for our dark mission section */
.section--forest .pull-quote { border-left-color: var(--gold-2); color: var(--on-dark); }
.section--forest .pull-quote cite { color: var(--on-dark-muted); }

/* Timeline intro + rail, two columns on desktop */
.timeline-layout {
  display: grid;
  grid-template-columns: minmax(240px, 320px) 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}
.timeline-layout__intro { position: sticky; top: calc(var(--header-h, 76px) + 2rem); }
.timeline-layout__intro .lede { margin-bottom: 1.5rem; }

/* Office facts list (icon + label/value rows) */
.office-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 1.5rem; margin-top: 1.75rem; }
.office-facts li { display: flex; gap: .75rem; align-items: flex-start; font-size: var(--fs-sm); color: var(--muted); }
.office-facts li strong { display: block; color: var(--forest); font-weight: 600; margin-bottom: .1rem; }
.office-facts svg { width: 20px; height: 20px; flex-shrink: 0; stroke: var(--redwood); stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; fill: none; margin-top: .1rem; }

.creds-note { text-align: center; font-size: var(--fs-xs); color: var(--muted-2); margin-top: 1.5rem; }

@media (max-width: 900px) {
  .timeline-layout { grid-template-columns: 1fr; }
  .timeline-layout__intro { position: static; }
}
@media (max-width: 640px) {
  .office-facts { grid-template-columns: 1fr; }
}
