/* About Our Firm — body only (shared layout tokens from approved-homepage.css) */

.breadcrumb-bar{background:var(--color-surface);border-bottom:1px solid var(--color-divider);padding-block:var(--space-3)}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}
.breadcrumb a{color:var(--navy-700);font-weight:500}
.breadcrumb a:hover{color:var(--color-accent)}
.breadcrumb [aria-current="page"]{color:var(--color-text);font-weight:600}

.firm-page-hero{background:var(--navy-900);padding-block:clamp(var(--space-10),6vw,var(--space-16))}
.firm-page-hero-inner{display:flex;flex-direction:column;gap:var(--space-4)}
.firm-page-eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.firm-page-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:#fff;line-height:1.1;margin:0}
.firm-page-lead{font-size:var(--text-lg);color:rgba(255,255,255,.78);line-height:1.65;max-width:100%}

.page-layout{padding-block:clamp(var(--space-10),6vw,var(--space-16))}
.page-layout-inner{display:block}
.page-main{display:flex;flex-direction:column;gap:var(--space-12)}

.content-section{display:flex;flex-direction:column;gap:var(--space-4)}
.content-h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--navy-800);line-height:1.2}
.content-section p{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.8;max-width:100%}

.inline-link{color:var(--navy-700);font-weight:600;border-bottom:1px solid var(--navy-100)}
.inline-link:hover{color:var(--color-accent)}

.firm-team-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}

/* Keep each portrait near its source size instead of stretching it across a wide card. */
.firm-person-card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-xl);overflow:hidden;display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);min-height:320px}
.firm-person-photo-link,.firm-person-photo-wrap{display:block;background:var(--navy-900);aspect-ratio:1;overflow:hidden}
.firm-person-photo{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
@media(max-width:640px){
  .firm-person-card{grid-template-columns:1fr}
  .firm-person-photo-link,.firm-person-photo-wrap{max-height:360px}
}

.firm-person-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);flex:1 1 auto}
.firm-person-body>p{font-size:var(--text-sm);line-height:1.7}
.firm-person-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;margin:0}
.firm-person-name a{color:var(--navy-800)}
.firm-person-role{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint)}
.firm-person-body .inline-link{margin-top:auto;align-self:flex-start}

.firm-support-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}
@media(max-width:768px){.firm-support-grid{grid-template-columns:1fr}}
.firm-support-card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--space-6)}
.firm-support-name{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--navy-800);margin:0 0 var(--space-2)}
.firm-support-role{font-size:var(--text-xs);font-weight:600;color:var(--color-text-faint);margin-bottom:var(--space-3)}

.firm-next-gen-layout{display:grid;grid-template-columns:280px 1fr;gap:var(--space-8);align-items:start}
@media(max-width:768px){.firm-next-gen-layout{grid-template-columns:1fr}}
.firm-next-gen-photo{width:100%;max-width:266px;height:auto;border-radius:var(--radius-xl);object-fit:contain}

.firm-advisors-teaser{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-6);background:var(--navy-50);border:1px solid var(--color-divider);border-radius:var(--radius-xl)}
.firm-advisors-teaser p{margin:0;max-width:60ch}

.bottom-cta{background:var(--navy-900);padding-block:clamp(var(--space-16),8vw,var(--space-24))}
.bottom-cta-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-10),6vw,var(--space-20));align-items:start}
@media(max-width:800px){.bottom-cta-inner{grid-template-columns:1fr}}
.cta-text{display:flex;flex-direction:column;gap:var(--space-5)}
.cta-headline{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:#fff;line-height:1.1;margin:0}
.cta-sub{font-size:var(--text-base);color:rgba(255,255,255,.65);line-height:1.8;max-width:50ch}
.cta-contact-options{display:flex;flex-direction:column;gap:var(--space-3)}
.cta-option{font-size:var(--text-sm);color:rgba(255,255,255,.55)}
.cta-phone-link{color:#fff;font-weight:700;border-bottom:1px solid rgba(255,255,255,.4)}
