/* Shared, visible firm identity and contact details for both landing pages. */
.firm-branded .header-inner { height:88px; }
.firm-branded .brand-logo { width:140px; height:auto; }
.firm-branded .brand > small { max-width:132px; padding-left:16px; line-height:1.6; }
.firm-branded .brand-context-mobile { display:none; }
.firm-branded .lawyer-photo img { height:auto; aspect-ratio:1 / 1; }
.firm-branded .lawyer-photo::after { bottom:auto; aspect-ratio:1 / 1; }
.firm-branded .lawyer-photo figcaption { display:block; margin:0; padding:16px 20px; font-size:.875rem; font-weight:600; line-height:1.7; }
.firm-branded .lawyer-photo figcaption strong { display:block; font-size:1.25rem; }
.firm-branded .lawyer-photo figcaption strong span { display:inline-block; margin-left:6px; font-size:.875rem; font-weight:500; }
.firm-branded .lawyer-photo figcaption small { display:block; color:#d3e3e8; font-size:.875rem; }
.firm-branded .firm-facts { font-size:.9375rem; }
.firm-branded .firm-facts dd { min-width:0; }
.firm-branded .firm-facts a { color:var(--green-700); text-underline-offset:4px; }
.firm-branded .firm-facts small { display:block; font-size:.875rem; line-height:1.7; margin-top:5px; }
.firm-branded .footer { background:#0c252c; }
.firm-branded .footer-grid { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:36px 64px; align-items:start; }
.firm-branded .footer-brand { display:block; min-width:0; }
.firm-branded .footer-logo { width:190px; height:auto; filter:brightness(0) invert(1); margin-bottom:24px; }
.firm-branded .footer-brand .firm-legal-name { margin:0 0 6px; font-size:1.0625rem; line-height:1.6; color:#fff; font-weight:700; }
.firm-branded .footer-brand .firm-affiliation,
.firm-branded .footer-brand .firm-representative { margin:0 0 5px; font-size:.875rem; line-height:1.8; color:#dbe7e4; }
.firm-branded .footer-brand > .firm-service-label { display:block; margin:18px 0 14px; color:#b2c8c2; font-size:.875rem; }
.firm-branded .footer-address { margin:0; color:#b2c8c2; font-size:.875rem; line-height:1.9; font-style:normal; }
.firm-branded .footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; padding-top:12px; justify-content:initial; }
.firm-branded .footer-links a { font-size:.875rem; color:#e1eae8; }
.firm-branded .footer-phone { margin-top:32px; padding-top:25px; border-top:1px solid #395058; }
.firm-branded .footer-phone p { margin:0 0 7px; color:#dbe7e4; font-size:.875rem; }
.firm-branded .footer-phone > a { display:inline-block; color:#fff; font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.5; font-weight:700; letter-spacing:.015em; text-decoration:none; padding:3px 0; }
.firm-branded .footer-phone > a:hover { text-decoration:underline; text-underline-offset:6px; }
.firm-branded .footer-phone > small { display:block; color:#c0d2ce; font-size:.875rem; margin-top:5px; }
.firm-branded .footer-disclaimer { margin-bottom:0; color:#b2c1c0; }
.firm-branded .footer-side { min-width:0; }
.advisory-page .about { background:#fff; }
.advisory-page .about h2 { font-size:clamp(1.8rem,3.2vw,2.6rem); line-height:1.55; text-wrap:balance; }
.advisory-page .about-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:center; }
.advisory-page .inquiry-phone { display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; margin:-12px 0 32px; padding:22px 26px; border:1px solid var(--line); background:#fff; }
.advisory-page .inquiry-phone p { margin:0; color:var(--muted); font-size:.875rem; }
.advisory-page .inquiry-phone a { font-size:1.8rem; font-weight:700; color:var(--navy-900); text-decoration:none; line-height:1.5; }
.advisory-page .inquiry-phone small { display:block; font-size:.875rem; }
@media (max-width:820px) {
 .firm-branded .header-inner { height:78px; }
 .firm-branded .global-nav { top:78px; max-height:calc(100dvh - 78px); }
 .owner-page .brand > .brand-context,
 .advisory-page .brand > .brand-context { display:block; max-width:none; margin-top:0; padding-left:10px; font-size: .8125rem; font-weight:700; line-height:1.35; white-space:nowrap; }
 .owner-page .brand-context-desktop,
 .advisory-page .brand-context-desktop { display:none; }
 .owner-page .brand-context-mobile,
 .advisory-page .brand-context-mobile { display:inline; }
 .advisory-page .about-grid { grid-template-columns:minmax(0,1fr); gap:38px; }
 .firm-branded .lawyer-photo { margin-top:28px; }
}
@media (max-width:600px) {
 .firm-branded .brand-logo { width:123px; }
 .firm-branded .footer-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 .firm-branded .footer-logo { width:172px; margin-bottom:20px; }
 .firm-branded .footer-links { padding-top:0; }
 .firm-branded .footer-phone { margin-top:26px; }
 .firm-branded .lawyer-photo { width:min(calc(100% - 14px),330px); }
 .firm-branded .firm-facts > div { grid-template-columns:minmax(0,1fr); gap:5px; }
 .advisory-page .inquiry-phone { display:block; padding:22px; }
 .advisory-page .inquiry-phone a { display:inline-block; margin:8px 0; font-size:1.65rem; }
}
