.firm-profile-hero{padding:80px 0 32px}.firm-profile-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) 581px;gap:48px;align-items:stretch}.firm-profile-hero__copy{display:flex;min-width:0;justify-content:center;flex-direction:column}.firm-profile-eyebrow{display:block;margin-bottom:7px;color:#5b7750;font-size:12px;line-height:18px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.firm-profile-hero h1{margin:0;color:var(--ink);font-size:32px;line-height:40px;font-weight:800}.firm-profile-location{margin:6px 0 14px;color:#667085;font-size:12px;line-height:20px}.firm-profile-description{max-width:650px;margin:0;color:var(--ink);font-size:18px;line-height:28px}.firm-profile-logo{display:grid;height:240px;place-items:center;background:#eff1f0}.firm-profile-logo img{display:block;width:168px;height:172px;object-fit:contain}.firm-profile-projects{padding:16px 0 48px}.firm-profile-projects>header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.firm-profile-projects h2{margin:0;font-size:24px;line-height:32px;font-weight:800}.firm-profile-projects header p{margin:6px 0 0;color:#53606e;font-size:16px;line-height:24px}.firm-project-count{padding:7px 11px;border-radius:999px;background:#eaf5e1;color:#315b13;font-size:12px;font-weight:700}.firm-profile-projects .project-card__body{min-height:220px}.firm-profile-empty{display:flex;min-height:104px;justify-content:center;flex-direction:column;gap:5px;padding:22px;border:1px dashed #b8da9c;border-radius:10px;background:#f7fbf3;color:#315b13;text-align:center}.firm-profile-empty span{color:#667085;font-size:13px}.firm-project-list{margin-top:28px;border:1px solid #e2eadc;border-radius:12px;background:#fff;overflow:hidden}.firm-project-list__heading{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #e8eee4;background:#f8faf6}.firm-project-list__heading h3{margin:0;font-size:17px;line-height:24px}.firm-project-list__heading p{margin:2px 0 0;color:#667085;font-size:12px}.firm-project-list__heading>span{color:#4f8227;font-size:12px;font-weight:700}.firm-project-list__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.firm-project-row{display:grid;min-width:0;min-height:78px;padding:10px 14px;grid-template-columns:72px minmax(0,1fr) auto 20px;align-items:center;gap:12px;border-bottom:1px solid #edf1ea;color:#263524}.firm-project-row:nth-child(odd){border-right:1px solid #edf1ea}.firm-project-row img{width:72px;height:54px;border-radius:6px;object-fit:cover;background:#f5faf0}.firm-project-row div{min-width:0}.firm-project-row strong,.firm-project-row div>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.firm-project-row strong{font-size:13px;line-height:19px}.firm-project-row div>span{margin-top:3px;color:#7b8794;font-size:10px}.firm-project-row>small{padding:4px 7px;border-radius:999px;background:#edf6e7;color:#3f6d1e;font-size:9px;font-weight:700;white-space:nowrap}.firm-project-row__arrow{color:#649935;font-size:19px}.firm-profile-contact{padding:32px 0}.firm-profile-contact__inner{display:grid;grid-template-columns:minmax(0,1fr) 581px;gap:48px;align-items:center}.firm-profile-contact h2{margin:0 0 20px;font-size:32px;line-height:40px}.firm-profile-contact dl{display:grid;margin:0;gap:16px}.firm-profile-contact dl div{display:flex;flex-direction:column;gap:3px}.firm-profile-contact dt{color:#667085;font-size:13px}.firm-profile-contact dd{margin:0;font-size:16px;line-height:24px;font-weight:600}.firm-profile-privacy{max-width:500px;margin:22px 0 0;color:#7b8794;font-size:11px;line-height:17px}.firm-map-placeholder{position:relative;height:320px;margin:0;overflow:hidden;background:#a5a5a5}.firm-map-placeholder>img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(.86)}.firm-map-placeholder figcaption{position:absolute;right:16px;bottom:16px;display:flex;padding:9px 12px;border:1px solid rgba(255,255,255,.55);border-radius:7px;background:rgba(255,255,255,.9);flex-direction:column;gap:2px;box-shadow:0 4px 14px rgba(0,0,0,.12)}.firm-map-placeholder figcaption strong{font-size:12px}.firm-map-placeholder figcaption span{color:#667085;font-size:9px}.firm-profile-missing{min-height:600px;padding-top:120px;text-align:center}.firm-profile-missing>span{color:#97cc68;font-size:64px;font-weight:800}.firm-profile-missing h1{margin:4px 0 8px}.firm-profile-missing p{color:#667085}.firm-profile-missing .button{margin:22px auto 0}
@media(max-width:1000px){.firm-profile-hero{padding-top:52px}.firm-profile-hero__inner,.firm-profile-contact__inner{grid-template-columns:minmax(0,1fr) minmax(340px,44%);gap:32px}.firm-project-list__grid{grid-template-columns:1fr}.firm-project-row:nth-child(odd){border-right:0}.firm-profile-contact h2{font-size:27px;line-height:35px}}
@media(max-width:700px){.firm-profile-hero{padding:36px 0 22px}.firm-profile-hero__inner,.firm-profile-contact__inner{grid-template-columns:1fr;gap:22px}.firm-profile-logo{height:190px;grid-row:1}.firm-profile-logo img{width:135px;height:135px}.firm-profile-hero h1{font-size:27px;line-height:35px}.firm-profile-description{font-size:15px;line-height:23px}.firm-profile-projects{padding-bottom:32px}.firm-profile-projects>header{align-items:flex-start;flex-direction:column;gap:12px}.firm-profile-projects header p{font-size:14px;line-height:21px}.firm-project-row{grid-template-columns:60px minmax(0,1fr) 18px;gap:10px}.firm-project-row img{width:60px;height:48px}.firm-project-row>small{display:none}.firm-profile-contact{padding:24px 0}.firm-map-placeholder{height:230px}.firm-profile-contact h2{font-size:24px;line-height:32px}.firm-profile-missing{min-height:480px;padding-top:80px}}

/* Logos keep their natural proportions regardless of source dimensions. */
.firm-profile-logo{padding:28px}
.firm-profile-logo img{width:72%;max-width:420px;height:78%;max-height:184px;object-fit:contain}
.firm-project-list--primary{margin-top:0}
@media(max-width:700px){.firm-profile-logo{padding:20px}.firm-profile-logo img{width:80%;max-width:360px;height:76%;max-height:145px}}

.firm-project-list__heading>div{min-width:0}
.firm-project-list__heading>span{flex:none;white-space:nowrap}
@media(max-width:420px){.firm-project-list__heading{align-items:flex-start;gap:12px;padding:15px}.firm-project-list__heading>span{padding:5px 8px;border-radius:999px;background:#eaf5e1}}
.firm-project-row{text-decoration:none;transition:background-color 150ms ease}.firm-project-row:hover{background:#f7fbf3}
