/* Route-specific styles: Provider biographies. Shared tokens and utilities stay in globals.css. */
.provider-page { padding: 88px 0 104px; background: linear-gradient(120deg, var(--paper), var(--lavender)); }
.provider-grid { display: grid; grid-template-columns: minmax(340px, 0.72fr) minmax(0, 1.28fr); align-items: start; gap: 82px; }
.provider-portrait { position: sticky; top: 128px; margin: 0; overflow: hidden; border-radius: 4px 28px 4px 28px; background: #d9d0e0; box-shadow: 0 24px 55px rgba(61,43,101,0.17); }
.provider-portrait img { width: 100%; aspect-ratio: 4 / 4.65; object-fit: cover; object-position: center 20%; }
.provider-copy { max-width: 780px; padding-top: 8px; }
.provider-back-link { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 44px; color: var(--purple); font-size: 0.82rem; font-weight: 850; }
.provider-back-link:hover { color: var(--purple-dark); }
.provider-copy h1 { max-width: 820px; }
.provider-credentials { margin: 18px 0 8px; color: var(--purple); font-size: 0.86rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.provider-role { margin: 0 0 34px; color: var(--purple); font-size: 1rem; font-weight: 850; }
.provider-biography { padding-top: 30px; border-top: 1px solid #d9d0e2; }
.provider-biography p { margin: 0 0 20px; color: #514a59; font-size: 1rem; line-height: 1.78; }
.provider-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }

@media (max-width: 900px) {
  .provider-page { padding: 68px 0 82px; }
  .provider-grid { grid-template-columns: 1fr; gap: 48px; }
  .provider-portrait { position: relative; top: auto; width: min(100%, 540px); }
  .provider-copy { max-width: none; }
}

@media (max-width: 620px) {
  .provider-page { padding: 46px 0 68px; }
  .provider-grid { gap: 36px; }
  .provider-back-link { margin-bottom: 30px; }
  .provider-actions { flex-direction: column; align-items: stretch; }
  .provider-actions .button { width: 100%; }
}
