/* Reusable presentation layout. Firm content and destinations stay in the firm page. */
.firm-overview .about-hero p:not(.about-eyebrow){max-width:43ch}
.firm-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:26px}
.firm-overview .firm-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 20px;border:1px solid #9cb4d1;border-radius:10px;background:#fff;color:#004ab7;text-decoration:none;font-size:17px;font-weight:550}
.firm-audiences{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1240px;margin:0 auto;padding:0 24px 30px}
.firm-audiences a{display:flex;flex-direction:column;gap:7px;min-height:104px;padding:20px 22px;border:1px solid #c9d8e8;border-radius:14px;background:#fff;text-decoration:none;box-shadow:var(--space-shadow)}
.firm-audiences strong{font-size:19px;font-weight:600;color:#172c46}
.firm-audiences span{font-size:15px;color:#44566b;line-height:1.5}
.firm-audiences a:hover,.firm-overview .firm-button:hover{background:#edf4fd;border-color:#2675bc}
.firm-story{max-width:1240px;margin:auto;padding:0 24px}
.firm-section{padding:48px 0;border-top:1px solid #c9d8e8;scroll-margin-top:24px}
.firm-section h2{font:400 clamp(28px,3vw,40px)/1.2 system-ui;letter-spacing:-.03em;margin:0 0 20px;max-width:31ch}
.firm-section h3{font:600 20px/1.35 system-ui;margin:0 0 12px;letter-spacing:-.015em}
.firm-section p{color:#44566b;max-width:72ch;margin:0 0 18px;font-size:17px;line-height:1.65}
.firm-section .firm-lead{font-size:19px;max-width:74ch;margin-bottom:28px}
.firm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.firm-grid article{padding:24px;background:#fff;border:1px solid #cddbe9;border-radius:16px}
.firm-grid article p{font-size:16px;margin-bottom:14px}
.firm-grid article .about-text-link{font-size:16px}
.firm-columns{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:start}
.firm-columns h3:not(:first-child){margin-top:26px}
.firm-example{border-left:3px solid #2675bc;padding:24px 28px;background:#eaf1fa;border-radius:0 14px 14px 0}
.firm-example .firm-note{font-size:14px;line-height:1.6;margin-top:12px;margin-bottom:0}
.firm-model .firm-model-note{margin-top:26px;margin-bottom:6px;max-width:90ch}
.firm-company p{max-width:76ch}
@media(max-width:900px){.firm-audiences,.firm-grid{grid-template-columns:1fr}.firm-audiences a{min-height:0}.firm-columns{grid-template-columns:1fr;gap:22px}.firm-section{padding:36px 0}.firm-grid article{padding:22px}.firm-section .firm-lead{font-size:18px}}
@media(max-width:480px){.firm-overview .about-hero{padding-top:30px;padding-bottom:32px}.firm-actions{align-items:stretch;flex-direction:column}.firm-actions a{width:100%}.firm-example{padding:22px}.firm-section h2{font-size:29px}.firm-audiences{padding-bottom:24px}}
