/* pages.css: styles for /ai-expert-dallas/, /speaking/ and homepage additions (deploy 2026-10-29) */
.page-hero { min-height: auto; padding-block: calc(var(--space-16) + var(--space-16)) var(--space-16); }
.hero__title.page-hero__title { font-size: clamp(2.25rem, 1rem + 4.5vw, 4.75rem); max-width: 18ch; margin-bottom: var(--space-4); }
.hero__lines { display: flex; flex-direction: column; gap: var(--space-1); margin-bottom: var(--space-6);
  font-size: var(--text-lg); font-weight: 600; color: var(--color-primary); }
.page-hero__intro { font-size: var(--text-lg); max-width: 62ch; margin-bottom: var(--space-4); }
.cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin-top: var(--space-6); }
.btn-secondary { display: inline-flex; align-items: center; padding: var(--space-3) var(--space-6); border: 1px solid var(--color-primary);
  color: var(--color-primary); font-size: var(--text-sm); font-weight: 600; border-radius: var(--radius-md); text-decoration: none; }
.btn-secondary:hover { background: var(--color-primary-highlight); }
.text-link { color: var(--color-primary); font-weight: 600; font-size: var(--text-sm); text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.prose p { color: var(--color-text-muted); margin-bottom: var(--space-4); max-width: 72ch; }
.prose p a { color: var(--color-primary); }
.bg-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: var(--space-12); align-items: start; margin-top: var(--space-6); }
.cred-list { list-style: disc; padding-left: var(--space-6); color: var(--color-text-muted); display: grid; gap: var(--space-2); }
.headshot-slot { aspect-ratio: 4/5; width: 100%; max-width: 420px; justify-self: center; border-radius: var(--radius-xl);
  background: var(--color-surface-offset); border: 1px dashed var(--color-border); color: var(--color-text-faint);
  display: flex; align-items: center; justify-content: center; }
.faq-list { display: grid; gap: var(--space-6); margin-top: var(--space-6); }
.faq-item { padding: var(--space-6); background: var(--color-surface); border: 1px solid var(--color-divider); border-radius: var(--radius-lg); }
.faq-item h3 { font-family: var(--font-display); font-size: var(--text-lg); color: var(--color-text); margin-bottom: var(--space-2); }
.faq-item p { margin-bottom: 0; }
.topic-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)); gap: var(--space-6); margin-top: var(--space-6); }
.topic-card h3 { font-family: var(--font-display); font-size: var(--text-lg); color: var(--color-text); margin-bottom: var(--space-3); }
.topic-card p { margin-bottom: 0; }
.bio-h { font-family: var(--font-display); font-size: var(--text-lg); color: var(--color-text); margin: var(--space-6) 0 var(--space-3); }
.bio-h:first-child { margin-top: 0; }
.insight-card__image--blank { min-height: 200px; background: linear-gradient(135deg, var(--color-surface-offset), var(--color-primary-highlight)); }
.contact__inner > .cta-row { align-self: center; }
@media (max-width: 768px) {
  .bg-grid { grid-template-columns: 1fr; }
  .headshot-slot { max-width: 260px; }
}

/* 2026-10-29 additions */
.headshot-photo { width: 100%; max-width: 420px; justify-self: center; }
.headshot-photo img { width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; border-radius: var(--radius-xl); display: block; }
.impact__grid--two { grid-template-columns: repeat(2, minmax(0, 320px)); justify-content: center; }
.talk-grid { display: grid; gap: var(--space-8); margin-top: var(--space-6); }
.talk-card { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 1fr); gap: var(--space-8); align-items: start; padding: var(--space-6); }
.talk-card__media img { width: 100%; height: auto; display: block; border-radius: var(--radius-lg); }
.talk-card__date { font-size: var(--text-sm); color: var(--color-primary); font-weight: 600; margin-bottom: var(--space-2); }
.talk-card h3 { font-family: var(--font-display); font-size: var(--text-xl); color: var(--color-text); margin-bottom: var(--space-2); }
.talk-card__panel { color: var(--color-text); font-weight: 600; }
.talk-card__quote { margin: var(--space-4) 0; padding-left: var(--space-4); border-left: 3px solid var(--color-primary); color: var(--color-text); font-style: italic; }
.talk-card__quote cite { display: block; margin-top: var(--space-2); font-style: normal; font-size: var(--text-sm); color: var(--color-text-muted); }
.talk-card__coverage { font-size: var(--text-sm); }
.talk-card__coverage a { color: var(--color-primary); }
.talk-grid--compact { grid-template-columns: repeat(auto-fill, minmax(min(420px, 100%), 1fr)); gap: var(--space-6); }
.talk-card--compact { grid-template-columns: 1fr; gap: var(--space-4); }
.talk-card--compact p { color: var(--color-text-muted); margin: 0; }
.talk-card--compact .talk-card__media img { aspect-ratio: 3/2; object-fit: cover; }
.footer__links { margin-top: var(--space-2); font-size: var(--text-sm); }
.footer__links a { color: inherit; }
@media (max-width: 768px) {
  .talk-card { grid-template-columns: 1fr; }
  .impact__grid--two { grid-template-columns: 1fr; }
  .headshot-photo { max-width: 260px; }
}
