/* Shared contact-page photography and spacing. */
:root { --paper: #faf8f3; --paper-light: #faf8f3; --paper-deep: #f4f1e9; --ink: #1a1a1a; --ink-soft: #5e5b55; --accent: #8b5438; }
body { background: var(--paper); }
body::before { display: none; }
.profile-sheet { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); min-height: 0; align-items: start; box-shadow: none; border: 0; gap: clamp(28px, 4vw, 56px); }
.profile-portrait { min-height: 0; aspect-ratio: auto; overflow: visible; background: transparent; }
.profile-portrait::after { content: none; }
.profile-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; filter: none; animation: none; }
.portrait-label { position: static; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: start; gap: 8px 20px; padding: 16px 0 0; color: var(--ink); }
.portrait-label__name { font: 500 1rem/1.5 var(--sans); }
.portrait-label__place { font: 400 .875rem/1.5 var(--sans); color: var(--ink-soft); text-transform: none; letter-spacing: 0; }
.profile-content, .profile-content > * { animation: none; }
.profile-content { padding: 0; }
.profile-header h1 { font-size: clamp(2.4rem, 4.6vw, 4rem); line-height: 1.1; }
.profile-eyebrow, .profile-role, .verified-line, .contact-panel__label, .contact-action__label, .profile-footer { font-family: var(--sans); font-size: .875rem; letter-spacing: 0; text-transform: none; line-height: 1.5; }
.contact-panel__label span:last-child { color: var(--accent); }
.contact-action { border-radius: 4px; box-shadow: none; }
.contact-action--primary .contact-action__icon,
.contact-action--primary .contact-action__arrow { color: #d6b9a6; }
.contact-action:hover { transform: none; }
.profile-footer { margin-top: 32px; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (max-width: 980px) {
  .profile-sheet { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .profile-portrait { width: min(100%, 440px); min-height: 0; aspect-ratio: auto; }
  .profile-content { padding: 0; }
}
@media (max-width: 620px) {
  .profile-portrait { width: min(100%, 380px); }
  .portrait-label { padding-top: 14px; }
  .profile-header h1 { font-size: clamp(2.25rem, 10vw, 3rem); }
}
