/* 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:repeat(2,1fr);gap:var(--space-6)}
@media(max-width:900px){.firm-team-grid{grid-template-columns:1fr}}

.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:180px 1fr;gap:0}
@media(max-width:700px){.firm-person-card{grid-template-columns:1fr}}

.firm-person-photo-link,.firm-person-photo-wrap{display:block;background:var(--navy-900)}
.firm-person-photo{width:100%;height:100%;min-height:220px;object-fit:cover;object-position:center top;display:block}

.firm-person-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}
.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-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%;border-radius:var(--radius-xl);object-fit:cover;aspect-ratio:4/5}

.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)}
