/* lawlova-attorney-license-status — retained in original cascade order. */
.lawlova-profile-record.lawlova-license-record { grid-template-columns: minmax(0, 1fr) minmax(180px, auto); gap: 20px; padding: 20px 22px; border: 1px solid #d6dde4; border-radius: 3px; background: #fff; box-shadow: none; }
            .lawlova-license-record strong { font-size: 18px; line-height: 1.5; font-weight: 700; }
            .lawlova-license-record span { font-size: 15px; line-height: 1.5; }
            .lawlova-license-record .lawlova-license-status { align-items: flex-start; gap: 5px; }
            .lawlova-license-record .lawlova-record-status { color: #26364a; font-weight: 600; }
            .lawlova-profile-record.lawlova-license-record.has-license-restriction { border: 2px solid #b4232c; background: #fffafa; }
            .lawlova-license-record.has-license-restriction .lawlova-record-status,
            .lawlova-license-record .lawlova-license-restriction-label { color: #991b24; background: none; padding: 0; border-radius: 0; font-weight: 600; }
            .lawlova-license-restriction-label { display: block; margin: 0; }
            .lawlova-license-record .lawlova-license-meta { display: block; color: #49566a; }
            .lawlova-license-record .lawlova-license-explanation { grid-column: 1 / -1; display: block; border-top: 1px solid #ecd2d5; padding-top: 18px; min-width: 0; }
            .lawlova-license-record .lawlova-license-explanation p { margin: 0; font-size: 16px; line-height: 1.55; font-weight: 400; }
            .lawlova-license-record .lawlova-license-explanation .lawlova-license-clarification { margin-top: 9px; font-size: 15px; color: #49566a; }
            .lawlova-profile-record.lawlova-discipline-record { grid-template-columns: minmax(0, 1fr) auto; }
            @media (max-width: 620px) {
                .lawlova-profile-record.lawlova-license-record,
                .lawlova-profile-record.lawlova-discipline-record { grid-template-columns: minmax(0, 1fr); gap: 12px; }
                .lawlova-profile-record.lawlova-license-record { padding: 18px; }
            }

/* lawlova-attorney-practice-areas — retained in original cascade order. */
.lawlova-profile-practice-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:4px; }
            .lawlova-profile-practice-heading h2 { margin-bottom:0; }
            .lawlova-profile-practice-heading > span { font-size:14px; color:#606d7c; white-space:nowrap; }
            .lawlova-profile-practice-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; list-style:none; padding:0; margin:0; }
            .lawlova-profile-practice-list li { min-width:0; list-style:none; margin:0; padding:0; border-bottom:1px solid #e1e6ec; }
            .lawlova-profile-practice-list li:only-child { grid-column:1 / -1; }
            .lawlova-profile-practice-list a, .lawlova-profile-practice-label { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:58px; padding:16px 0; color:#123f66; font-size:17px; font-weight:500; line-height:1.45; text-decoration:none; background:none; border-radius:0; }
            .lawlova-profile-practice-list a > span:first-child { overflow-wrap:anywhere; }
            .lawlova-profile-practice-list a:hover > span:first-child { text-decoration:underline; text-underline-offset:3px; }
            .lawlova-profile-practice-list a:focus-visible { outline:2px solid #123f66; outline-offset:3px; }
            .lawlova-profile-practice-arrow { flex-shrink:0; color:#728294; font-size:24px; font-weight:400; line-height:1; }
            @media(max-width:620px) { .lawlova-profile-practice-list { grid-template-columns:minmax(0,1fr); } }

/* lawlova-attorney-education — retained in original cascade order. */
.lawlova-profile-education-section h2 { margin-bottom:8px; }
            .lawlova-profile-education-list { list-style:none; margin:0; padding:0; }
            .lawlova-profile-education-list li { display:grid; grid-template-columns:60px minmax(0,1fr); gap:22px; margin:0; padding:22px 0; border-bottom:1px solid #e1e6ec; line-height:1.5; list-style:none; }
            .lawlova-profile-education-list li:last-child { border-bottom:0; padding-bottom:4px; }
            .lawlova-profile-education-year { font-size:16px; color:#606d7c; font-variant-numeric:tabular-nums; padding-top:1px; }
            .lawlova-profile-education-details { min-width:0; }
            .lawlova-profile-education-details strong { display:block; font-size:17px; font-weight:600; color:#09223f; overflow-wrap:anywhere; }
            .lawlova-profile-education-details span { display:block; font-size:15px; color:#606d7c; margin-top:4px; overflow-wrap:anywhere; }
            @media(max-width:620px) { .lawlova-profile-education-list li { grid-template-columns:42px minmax(0,1fr); gap:18px; } }

/* lawlova-attorney-discipline — retained in original cascade order. */
.lawlova-profile-discipline-section h2 { margin-bottom:18px; }
            .lawlova-discipline-notice { display:flex; align-items:flex-start; gap:10px; padding:12px 14px; border-radius:3px; background:#fff5f5; color:#09223f; font-size:16px; line-height:1.55; }
            .lawlova-discipline-warning-icon { flex:0 0 18px; color:#d92d20; margin-top:3px; }
            .lawlova-discipline-details { background:none; border:0; border-radius:0; box-shadow:none; padding:22px 0 0; font-size:17px; line-height:1.65; }
            .lawlova-discipline-details + .lawlova-discipline-details { margin-top:22px; border-top:1px solid #e1e6ec; }
            .lawlova-discipline-action { margin:0 0 5px; font-size:17px; color:#09223f; }
            .lawlova-discipline-action strong { color:#b4232c; font-weight:500; }
            .lawlova-discipline-date { margin:0 0 15px; font-size:15px; color:#606d7c; }
            .lawlova-discipline-description p, .lawlova-discipline-clarification { margin:0 0 12px; font-size:17px; line-height:1.65; font-weight:400; color:#26384a; }
            .lawlova-discipline-description p:last-child, .lawlova-discipline-details > p:last-child { margin-bottom:0; }
            @media(max-width:620px) { .lawlova-discipline-notice { padding:12px; } .lawlova-discipline-details { padding-top:18px; } }

/* lawlova-attorney-portrait — retained in original cascade order. */
.lawlova-profile-hero-grid { grid-template-columns: 220px minmax(0, 1fr); }
            .lawlova-profile-photo { width: 220px; height: 270px; border-radius: 4px; object-fit: cover; object-position: center 20%; box-shadow: none; }
            .lawlova-profile-photo.is-fallback, .lawlova-profile-photo-placeholder { height: 220px; object-position: center; }
            @media (min-width: 621px) and (max-width: 860px) {
                .lawlova-profile-hero-grid { grid-template-columns: 180px minmax(0, 1fr); }
                .lawlova-profile-photo { width: 180px; height: 220px; }
                .lawlova-profile-photo.is-fallback, .lawlova-profile-photo-placeholder { height: 180px; }
            }
            @media (max-width: 620px) {
                .lawlova-profile-hero-grid { grid-template-columns: minmax(0, 1fr); }
                .lawlova-profile-photo { width: 144px; height: 176px; border-radius: 4px; }
                .lawlova-profile-photo.is-fallback, .lawlova-profile-photo-placeholder { height: 144px; }
            }

/* lawlova-attorney-header-refresh — retained in original cascade order. */
.lawlova-profile-breadcrumb { margin-bottom:28px; font-size:15px; line-height:1.6; text-align:left; }
            .lawlova-profile-breadcrumb ol { display:flex; flex-wrap:wrap; align-items:center; gap:7px 10px; margin:0; padding:0; list-style:none; }
            .lawlova-profile-breadcrumb li { display:flex; align-items:center; gap:10px; }
            .lawlova-profile-breadcrumb li + li::before { content:''; width:6px; height:6px; border-top:1.5px solid #8797a6; border-right:1.5px solid #8797a6; transform:rotate(45deg); }
            .lawlova-profile-breadcrumb a { color:#125786; text-decoration:none; }
            .lawlova-profile-breadcrumb a:hover { text-decoration:underline; text-underline-offset:3px; }
            .lawlova-profile-call > span { display:flex; flex-direction:column; gap:4px; line-height:1.4; }
            .lawlova-profile-call strong { font-size:15px; font-weight:500; }
            .lawlova-profile-message { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; box-sizing:border-box; padding:11px 18px; margin:0; border:1px solid #09223f; border-radius:3px; background:#fff; color:#09223f; font:inherit; font-size:16px; font-weight:600; text-decoration:none; }
            .lawlova-profile-message svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
            .lawlova-profile-message:not(:disabled):hover { background:#f1f5f8; }
            .lawlova-profile-message:focus-visible { outline:2px solid #09223f; outline-offset:3px; }
            .lawlova-profile-message:disabled { background:#f3f5f7; border-color:#ccd4dc; color:#667380; cursor:default; opacity:1; }
            .lawlova-profile-message-note { font-size:12px; line-height:1.5; color:#606d7c; text-align:center; }
            .lawlova-profile-hero-grid { grid-template-columns:220px minmax(0,1fr) auto; align-items:center; gap:32px; }
            .lawlova-profile-intro { min-width:0; }
            .lawlova-profile-rating { margin:12px 0 18px; font-size:15px; color:#606d7c; }
            .lawlova-profile-header-facts { display:flex; flex-direction:column; gap:12px; margin:0 0 18px; font-size:16px; line-height:1.6; color:#26384a; }
            .lawlova-profile-header-fact { display:flex; align-items:flex-start; gap:10px; }
            .lawlova-profile-header-fact > span { min-width:0; overflow-wrap:anywhere; }
            .lawlova-profile-header-fact svg, .lawlova-profile-call svg { flex:0 0 20px; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
            .lawlova-profile-header-fact svg { color:#526579; margin-top:3px; }
            .lawlova-profile-hero-actions { display:flex; flex-direction:column; align-items:center; gap:10px; min-width:0; width:260px; max-width:100%; justify-self:end; }
            .lawlova-profile-call { display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100%; box-sizing:border-box; padding:13px 16px; border-radius:3px; background:#09223f; color:#fff; font-size:16px; font-weight:600; text-decoration:none; white-space:var(--lawlova-lawyer-action-wrap,nowrap); }
            .lawlova-profile-call:hover { background:#163d63; color:#fff; }
            .lawlova-profile-call:focus-visible { outline:2px solid #09223f; outline-offset:3px; }
            .lawlova-profile-call-number { font-size:15px; color:#526579; }
            .lawlova-profile-header-contact-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 14px; font-size:14px; line-height:1.5; text-align:center; }
            .lawlova-profile-header-contact-links a { color:#123f66; text-decoration:underline; text-underline-offset:3px; }
            .lawlova-profile-layout { display:block; max-width:960px; }
            .lawlova-profile-main { width:100%; min-width:0; }
            .lawlova-profile-practice-list { grid-template-columns:minmax(0,1fr); gap:0; }
            .lawlova-profile-practice-list li { border-bottom:0; }
            .lawlova-profile-practice-list li + li { border-top:1px solid #e1e6ec; }
            @media(min-width:621px) and (max-width:1000px) {
                .lawlova-profile-hero-grid { grid-template-columns:180px minmax(0,1fr); gap:24px; }
                .lawlova-profile-hero-actions { grid-column:2; justify-self:start; align-items:flex-start; max-width:none; }
                .lawlova-profile-header-contact-links { justify-content:flex-start; text-align:left; }
            }
            @media(max-width:620px) {
                .lawlova-profile-hero { padding:28px 0; background:#fff; }
                .lawlova-profile-breadcrumb { margin-bottom:22px; font-size:14px; }
                .lawlova-profile-hero-grid { grid-template-columns:108px minmax(0,1fr); align-items:start; gap:22px 16px; justify-items:stretch; }
                .lawlova-profile-photo-wrap { grid-column:1; grid-row:1; margin:0; align-self:start; }
                .lawlova-profile-photo { width:108px; height:132px; max-width:100%; border-radius:4px; box-shadow:none; }
                .lawlova-profile-photo.is-fallback, .lawlova-profile-photo-placeholder { height:108px; }
                .lawlova-profile-intro { grid-column:2; grid-row:1; display:flex; flex-direction:column; align-items:flex-start; width:100%; min-width:0; text-align:left; }
                .lawlova-profile-intro h1 { order:0; margin:0; font-size:clamp(22px,5.8vw,28px); line-height:1.2; overflow-wrap:anywhere; }
                .lawlova-profile-role { order:1; margin:8px 0 0; font-size:14px; line-height:1.45; overflow-wrap:anywhere; }
                .lawlova-profile-rating { order:2; margin:10px 0 12px; font-size:14px; }
                .lawlova-profile-header-facts { order:3; width:100%; max-width:100%; gap:10px; margin:0; font-size:14px; line-height:1.5; text-align:left; }
                .lawlova-profile-header-fact { gap:7px; }
                .lawlova-profile-header-fact svg { flex-basis:16px; width:16px; height:16px; margin-top:2px; }
                .lawlova-profile-headline { order:4; margin:12px 0 0; font-size:14px; line-height:1.5; }
                .lawlova-profile-claim-hero { order:5; margin:12px 0 0; font-size:14px; text-align:left; }
                .lawlova-profile-claim-hero .lawlova-claim-public-link { font-size:13px; font-weight:500; line-height:1.6; }
                .lawlova-profile-hero-actions { grid-column:1 / -1; grid-row:2; justify-self:stretch; align-items:stretch; width:100%; max-width:none; }
                .lawlova-profile-call { width:100%; box-sizing:border-box; }
            }
            @media(max-width:360px) {
                .lawlova-profile-hero-grid { grid-template-columns:88px minmax(0,1fr); column-gap:12px; }
                .lawlova-profile-photo { width:88px; height:108px; }
                .lawlova-profile-photo.is-fallback, .lawlova-profile-photo-placeholder { height:88px; }
            }
