/* Company profile, phone, company directory and methodology pages — loaded after style.css only on those pages. */
/* ==========================================================================
   Company profile — modern look (2026-10-23). Overrides the earlier .cp-*
   rules above; markup is unchanged apart from the avatar, the quick-facts
   strip, the jump-link bar and the FAQ accordion.
   ========================================================================== */
.company-profile { background: #f6f7f9; border: 0; border-radius: 16px; padding: 20px;
	font-size: 16px; line-height: 1.6; }
.cp-header { background: #fff; border: 1px solid #e8eaee; border-radius: 16px;
	padding: 24px 26px; margin-bottom: 14px;
	box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 4px 16px rgba(16,24,40,.04); }
.cp-headline { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
.cp-avatar { flex: none; width: 56px; height: 56px; border-radius: 14px;
	display: flex; align-items: center; justify-content: center;
	font-family: "PT Sans Bold", sans-serif; font-size: 26px; color: #fff;
	background: linear-gradient(135deg, #db143d, #ff6b6b); }
.cp-headtext { min-width: 0; }
.cp-headtext .cp-eyebrow { margin: 0 0 2px; }
.cp-title { font-size: 32px !important; margin: 0 !important; overflow-wrap: anywhere; }
.cp-dek { color: #4a5160; margin: 0 0 18px; }
.fact-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 10px; border: 0; background: none; overflow: visible; margin-bottom: 18px; }
.fact-cell { background: #f6f7f9; border: 1px solid #eceef2 !important; border-radius: 12px;
	padding: 12px 14px; min-width: 0; }
.fact-label { color: #5b6272; }
.fact-value { font-size: 16px; overflow-wrap: anywhere; line-height: 1.3; }
.company-profile .cp-btn { border-radius: 10px; padding: 11px 20px; font-size: 15px; }
.company-profile .cp-btn-primary { box-shadow: 0 2px 6px rgba(219,20,61,.25); }
.company-profile .cp-btn-ghost { background: #fff; border-color: #d8dce3; color: #2b3140; }
.company-profile .cp-btn-ghost:hover { border-color: #db143d; color: #db143d; }
.cp-nav { position: sticky; top: 0; z-index: 20; display: flex; gap: 8px; overflow-x: auto;
	padding: 10px 2px; margin: 0 0 14px; background: #f6f7f9; scrollbar-width: none; }
.cp-nav::-webkit-scrollbar { display: none; }
.company-profile .cp-nav a { flex: none; text-decoration: none; font-family: "PT Sans Narrow Bold", sans-serif;
	font-size: 14px; color: #2b3140; background: #fff; border: 1px solid #dfe2e8;
	border-radius: 999px; padding: 7px 15px; white-space: nowrap; }
.company-profile .cp-nav a:hover { border-color: #db143d; color: #db143d; }
.cp-section { background: #fff; border: 1px solid #e8eaee; border-top: 1px solid #e8eaee;
	border-radius: 16px; padding: 22px 26px; margin-top: 14px;
	box-shadow: 0 1px 2px rgba(16,24,40,.04); scroll-margin-top: 64px; }
.cp-h2 { font-size: 22px; margin-bottom: 14px; color: #12161f; }
.tier-tag { border-radius: 999px; padding: 3px 10px; }
.theme-tag { background: #eef0f4; border-radius: 999px; padding: 6px 13px; }
.ext-profile { background: #f6f7f9; border-color: #eceef2; border-radius: 12px; padding: 12px 16px; }
.contacts-list li, .own-complaints-list li, .related-posts-list li, .relationships-list li, .phone-complaints-list li { border-bottom-color: #eef0f4; }
/* FAQ accordion */
.faq-item { margin: 0 0 8px; border: 1px solid #e8eaee; border-radius: 12px; background: #fff; }
.faq-item[open] { border-color: #d8dce3; background: #fbfbfc; }
.faq-item summary { list-style: none; cursor: pointer; padding: 13px 44px 13px 16px; position: relative; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary h3 { margin: 0; font-size: 16px; line-height: 1.4; }
.faq-item summary::after { content: ""; position: absolute; right: 18px; top: 50%; width: 8px; height: 8px;
	border-right: 2px solid #8a91a0; border-bottom: 2px solid #8a91a0;
	transform: translateY(-70%) rotate(45deg); transition: transform .15s; }
.faq-item[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.faq-item summary:focus-visible { outline: 2px solid #db143d; outline-offset: 2px; border-radius: 12px; }
.faq-answer { padding: 0 16px 14px; }
.cp-footer { background: none; border-top-color: #e3e6ec; }
@media (max-width: 640px) {
	.company-profile { padding: 10px; border-radius: 0; }
	.cp-header, .cp-section { padding: 16px; border-radius: 14px; }
	.cp-title { font-size: 24px !important; }
	.cp-avatar { width: 44px; height: 44px; font-size: 20px; border-radius: 11px; }
	.fact-strip { grid-template-columns: 1fr 1fr; }
	.fact-cell { flex-basis: auto; border-bottom: 1px solid #eceef2; }
}
.company-profile .cp-headtext .cp-title { padding: 0 !important; background: none; }
/* Readability pass: larger type, darker greys (WCAG AA on #fff / #f6f7f9) */
.company-profile { font-size: 17px; }
.cp-dek { max-width: none; font-size: 17px; color: #3b4252; }
.cp-eyebrow { font-size: 13px; color: #5b6272; }
.fact-label { font-size: 12.5px; color: #5b6272; }
.fact-value { font-size: 18px; }
.tier-tag { font-size: 12.5px; }
.company-profile .cp-btn { font-size: 16px; }
.company-profile .cp-nav a { font-size: 16px; padding: 9px 16px; }
.cp-h2 { font-size: 24px; }
.cp-section p, .contacts-list li, .own-complaints-list li, .related-posts-list li,
.relationships-list li, .faq-answer, .ext-profile { font-size: 17px; color: #1f2430; }
.cp-section ul:not([class]) li, .cp-section ol:not([class]) li { font-size: 17px; }
.complaints-recency-note { font-size: 16px; color: #3b4252; }
.complaint-meta { font-size: 14px; color: #5b6272; }
.theme-tag { font-size: 15px; }
.theme-tags-note, .ext-source-notice, .relationships-caveat { font-size: 14px; color: #5b6272; }
.ext-profile time { font-size: 14px; color: #5b6272; }
.faq-item summary h3 { font-size: 17px; }
.cp-footer { font-size: 14px; color: #5b6272; }
@media (max-width: 640px) {
	.company-profile { font-size: 16.5px; }
	.cp-h2 { font-size: 21px; }
}
@media (max-width: 640px) {
	.fact-value { font-size: 16px; overflow-wrap: break-word; word-break: normal; }
	.fact-cell.fact-wide { grid-column: 1 / -1; }
}
/* Complaint Themes: cards in a grid instead of cramped pills */
.theme-tags { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.theme-tag { display: block; font-family: "PT Sans Regular", sans-serif; font-size: 16.5px; line-height: 1.4;
	color: #1f2430; background: #f6f7f9; border: 1px solid #eceef2; border-left: 4px solid #db143d;
	border-radius: 10px; padding: 12px 16px; }
.theme-tags-note { margin: 20px 0 0; padding-top: 14px; border-top: 1px solid #eceef2;
	font-size: 14px; line-height: 1.55; color: #5b6272; }
@media (max-width: 640px) { .theme-tags { grid-template-columns: 1fr; gap: 10px; } }
/* Themes: two narrower cards per row; note and body text span the full block */
.theme-tags { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
.cp-section p.theme-tags-note { font-size: 16px; color: #3b4252; margin: 20px 0 0; padding-top: 14px; border-top: 1px solid #eceef2; line-height: 1.6; max-width: none; }
@media (max-width: 640px) { .theme-tags { grid-template-columns: 1fr; max-width: none; } }
/* More air between the tier label, the heading and the content */
.cp-section .tier-tag { margin-bottom: 12px; }
.cp-section .cp-h2 { margin-bottom: 18px; line-height: 1.25; }
.cp-section { padding-top: 22px; padding-bottom: 24px; }
.company-profile .cp-nav a { font-size: 18px; padding: 11px 20px; }
.cp-nav { gap: 10px; }
/* ==== Review fixes (2026-10-23) ==== */
.fact-note { font-size: 13.5px; color: #5b6272; line-height: 1.3; margin-top: 2px; }
.fact-cell.fact-wide .fact-value, .fact-cell .fact-value { overflow-wrap: anywhere; }
.fact-cell.fact-phone .fact-value { white-space: nowrap; }
.tel-link, .tel-text { white-space: nowrap; }
.contacts-list a:not(.tel-link) { overflow-wrap: anywhere; }
.cp-section table { display: block; max-width: 100%; overflow-x: auto; }
.cp-eyebrow { font-size: 14px; }
.phone-mentions-link, .relation-label { font-size: 14px; color: #5b6272 !important; }
.relation-label { color: #5b6272; }
.pagination .pg-gap { color: #5b6272; }
.tier-tag.tier-allegation { color: #b8102f; }
.tier-tag.tier-external { color: #565d6b; }
/* Sticky jump bar sits under the fixed site header on wide screens */
@media (min-width: 961px) {
	.cp-nav { top: 60px; }
	.cp-section, .faq-item { scroll-margin-top: 140px; }
}
.faq-item { scroll-margin-top: 80px; }
@media (min-width: 961px) { .faq-item { scroll-margin-top: 140px; } }
.cp-nav a.is-active { background: #db143d; border-color: #db143d; color: #fff; }
.company-profile .cp-nav a.is-active { color: #fff; }
@media (max-width: 640px) {
	.cp-nav { position: static; -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); }
}
/* Long summary: clamped only when JS is running and the text is long */
.cp-dek.is-clamped { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden; }
.cp-dek-toggle { display: none; background: none; border: 0; padding: 0; margin: -10px 0 16px; color: #db143d; font: inherit; font-family: "PT Sans Bold", sans-serif; cursor: pointer; text-decoration: underline; }
.cp-dek-toggle.is-shown { display: inline-block; }
@media (max-width: 640px) { .cp-dek.is-clamped { -webkit-line-clamp: 5; } }
@media print {
	.cp-nav, .cp-actions, .cp-dek-toggle { display: none !important; }
	.company-profile { background: #fff; padding: 0; }
	.cp-header, .cp-section { box-shadow: none; border-color: #ccc; break-inside: avoid; }
}
.src-note { color: #3b4252; font-size: 16px; margin: 14px 0 6px; }
.src-group { font-family: "PT Sans Bold", sans-serif; font-size: 16px; margin: 18px 0 4px; color: #12161f; }
.src-host { color: #5b6272; font-size: 13.5px; margin-left: 6px; }
/* Sources: a quiet reference list at the very bottom — not a section card */
.source-box { margin: 18px 4px 0; font-size: 14px; color: #5b6272; }
.source-details > summary { font-family: "PT Sans Regular", sans-serif; font-size: 14px; color: #5b6272; cursor: pointer; display: inline-block; list-style: none; }
.source-details > summary::after { content: " \25BE"; }
.source-details[open] > summary::after { content: " \25B4"; }
.source-count { color: #5b6272; font-size: inherit; }
.source-box .src-group { font-family: "PT Sans Bold", sans-serif; font-size: 14px; color: #5b6272; margin: 14px 0 2px; }
.source-box .source-list li { font-size: 14px; line-height: 1.4; padding: 3px 0; border: 0; }
.source-box a { color: #5b6272 !important; text-decoration: underline; }
.source-box .src-host { font-size: 13px; color: #5b6272; }
/* ==== Audit fixes (2026-10-23): contact status, external profiles, overflow ==== */
.contact-status { display: inline-block; margin-right: 8px; padding: 1px 9px; border-radius: 999px;
	font-family: "PT Sans Narrow Bold", sans-serif; font-size: 12.5px; letter-spacing: .03em; text-transform: uppercase;
	color: #565d6b; background: #eef0f4; vertical-align: 1px; }
.contact-status.is-verified { color: #17653a; background: #eaf6ee; }
.ext-profile { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 18px; }
.ext-head { flex: 1 1 100%; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; }
.ext-head strong { font-family: "PT Sans Bold", sans-serif; font-weight: normal; font-size: 18px; }
.ext-entity { font-size: 14.5px; color: #5b6272; }
.ext-stats { font-size: 17px; color: #1f2430; }
.ext-profile time { margin-left: auto; font-size: 14px; color: #5b6272; }
@media (max-width: 640px) { .ext-profile time { margin-left: 0; flex-basis: 100%; } }
/* Long URLs and strings never push the page sideways */
.company-profile, .company-profile .cp-section, .company-profile .cp-header { min-width: 0; }
.company-profile a, .company-profile li, .company-profile p, .company-profile td, .company-profile h1, .company-profile h2, .company-profile h3 { overflow-wrap: anywhere; }
.company-profile .tel-link, .company-profile .tel-text, .company-profile .fact-phone .fact-value { overflow-wrap: normal; }
.cp-section img, .cp-section iframe, .cp-section pre { max-width: 100%; }
.cp-section pre { overflow-x: auto; }
/* ==== Layout: reading column + sticky side panel (desktop) ==== */
.cp-layout { display: block; }
.cp-aside-title { display: none; }
@media (min-width: 1100px) {
	.cp-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 0 28px; align-items: start; }
	.cp-main { grid-column: 1; grid-row: 1; min-width: 0; }
	.cp-aside { grid-column: 2; grid-row: 1; position: sticky; top: 76px; align-self: start; max-height: calc(100vh - 92px); overflow-y: auto; padding-top: 14px; }
	.cp-main > .cp-section:first-child { margin-top: 0; }
	.cp-aside-title { display: block; font-family: "PT Sans Narrow Bold", sans-serif; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: #5b6272; margin: 0 0 8px 16px; }
	.cp-nav { position: static; top: auto; flex-direction: column; overflow: visible; gap: 0; padding: 0; margin: 0; background: transparent; border-left: 2px solid #e3e6ec; -webkit-mask-image: none; mask-image: none; }
	.company-profile .cp-nav a { display: block; border: 0; border-left: 2px solid transparent; margin-left: -2px; border-radius: 0; background: transparent; padding: 8px 16px; font-family: "PT Sans Regular", sans-serif; font-size: 16px; line-height: 1.3; white-space: normal; color: #2b3140; }
	.company-profile .cp-nav a:hover { color: #db143d; background: transparent; border-color: transparent transparent transparent #f0a0b0; }
	.company-profile .cp-nav a.is-active { background: transparent; color: #b8102f; border-left-color: #db143d; font-family: "PT Sans Bold", sans-serif; }
}
/* ==== Contacts grouped by task ==== */
.contact-group-title { font-family: "PT Sans Bold", sans-serif; font-size: 16px; color: #12161f; margin: 22px 0 4px; padding: 0; }
.cp-h2 + .contact-group-title { margin-top: 4px; }
.contacts-list { margin: 0 0 4px; }
.contact-item { display: flex; flex-wrap: wrap; gap: 4px 20px; justify-content: space-between; align-items: baseline; }
.contact-item .ci-label { flex: 1 1 52%; min-width: 0; color: #2b3140; }
.contact-item .ci-value { flex: 0 1 44%; min-width: 0; text-align: right; font-family: "PT Sans Regular", sans-serif; }
.contact-item .ci-value a { font-family: "PT Sans Regular", sans-serif; }
.contact-item .tel-link { font-family: "PT Sans Bold", sans-serif; font-size: 18px; text-decoration: none; }
.contact-item .phone-mentions-link { display: block; font-size: 14px; }
@media (max-width: 640px) { .contact-item .ci-label, .contact-item .ci-value { flex-basis: 100%; text-align: left; } }
/* ==== Hierarchy: minor sections are flat, archive list is short, tables compact ==== */
.cp-section.cp-minor { background: transparent; border: 0; border-top: 1px solid #dfe2e8; border-radius: 0; box-shadow: none; padding: 22px 4px 4px; margin-top: 26px; }
.cp-section.cp-minor .cp-h2 { font-size: 20px; }
.more-complaints { margin-top: 6px; }
.more-complaints > summary { cursor: pointer; display: inline-block; padding: 8px 0; color: #b8102f; font-family: "PT Sans Bold", sans-serif; list-style: none; }
.more-complaints > summary::-webkit-details-marker { display: none; }
.more-complaints > summary::after { content: " \25BE"; }
.more-complaints[open] > summary::after { content: " \25B4"; }
/* Visible keyboard focus everywhere on profile and catalog pages */
.company-profile a:focus-visible, .company-profile button:focus-visible, .company-profile summary:focus-visible,
.cd-input:focus-visible, .cd-btn:focus-visible, .cd-letters a:focus-visible, .pagination a:focus-visible { outline: 3px solid #1a5fd0; outline-offset: 2px; border-radius: 4px; }
.cd-input:focus { outline: 3px solid #1a5fd0; outline-offset: 1px; }
/* ==== Catalog ==== */
.cd .cd-search { align-items: flex-end; max-width: 760px; }
.cd .cd-field { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; position: relative; }
.cd .cd-label { font-family: "PT Sans Bold", sans-serif; font-size: 15px; color: #2b3140; }
.cd .cd-input { height: 50px; font-size: 17px; border: 1px solid #c9cdd6; border-radius: 10px; padding: 0 16px; }
.cd .cd-btn { height: 50px; padding: 0 26px; font-size: 17px; border-radius: 10px; font-family: "PT Sans Bold", sans-serif; }
.cd .cd-letters { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 0; }
.cd .cd-letters a { min-width: 40px; height: 40px; padding: 0 8px; margin: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; border-radius: 8px; border-color: #d3d7de; background: #fff; }
.cd .cd-total { font-size: 15px; color: #5b6272; margin: 0 0 12px; }
.cd .cd-list li { padding: 12px 0; }
.cd .cd-name { font-size: 18px; }
.cd .cd-type { color: #5b6272; font-size: 14.5px; }
.cd .cd-count { font-size: 14.5px; color: #b8102f; }
@media (max-width: 640px) { .cd .cd-search { flex-direction: column; align-items: stretch; } .cd .cd-btn { width: 100%; } .cd .cd-letters a { min-width: 44px; height: 44px; } }
.cd .cd-input { flex: none; width: 100%; box-sizing: border-box; height: 50px; }
.cd .cd-letters a.current { background: #db143d; color: #fff; border-color: #db143d; }
.cd .cd-letters a:hover:not(.current) { border-color: #db143d; color: #db143d; }
.source-box { padding: 0 6px; }
/* ==== Court & public records: one card per case ==== */
.case-list { display: flex; flex-direction: column; gap: 14px; }
.case-card { border: 1px solid #e3e6ec; border-radius: 12px; padding: 16px 20px 18px; background: #fbfbfc; }
.case-head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 6px 16px; }
.case-name { font-family: "PT Sans Bold", sans-serif; font-size: 18px; line-height: 1.35; margin: 0; flex: 1 1 60%; min-width: 0; }
.case-type { flex: none; font-family: "PT Sans Narrow Bold", sans-serif; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: #2b3140; background: #eef0f4; border: 1px solid #dfe2e8; border-radius: 999px; padding: 3px 12px; white-space: nowrap; }
.case-meta { margin: 8px 0 12px; font-size: 15px; line-height: 1.5; color: #4a5160; }
.case-meta .case-sep { color: #aab0bd; }
.case-meta .case-docket { color: #5b6272; }
.case-meta time { white-space: nowrap; }
.case-outcome { font-size: 17px; line-height: 1.6; color: #1f2430; }
.case-outcome .outcome-status { display: block; margin-bottom: 4px; }
.case-outcome p { margin: 0 0 10px; }
.case-outcome p:last-child { margin-bottom: 0; }
@media (max-width: 640px) { .case-card { padding: 14px; } .case-name { flex-basis: 100%; font-size: 17px; } .case-meta { font-size: 14.5px; } .case-meta .case-sep { display: none; } .case-meta > * { display: block; } }
/* ==== Section icons ==== */
.cp-h2 { display: flex; align-items: center; gap: 12px; }
.cp-ico { flex: none; width: 40px; height: 40px; border-radius: 10px; background: #eef0f4; color: #2b3140; display: inline-flex; align-items: center; justify-content: center; }
.cp-ico svg { display: block; }
.cp-section.cp-minor .cp-ico { width: 34px; height: 34px; border-radius: 9px; }
.cp-section.cp-minor .cp-ico svg { width: 19px; height: 19px; }
@media (max-width: 640px) { .cp-ico { width: 36px; height: 36px; } .cp-ico svg { width: 20px; height: 20px; } }
/* ==== Locations and company relationships as small cards ==== */
.loc-list, .relationships-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.loc-item, .rel-item, .relationships-list li { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border: 1px solid #e3e6ec; border-radius: 12px; background: #fbfbfc; font-size: 17px; line-height: 1.4; }
.loc-item:last-child, .rel-item:last-child { border-bottom: 1px solid #e3e6ec; }
.loc-type, .rel-type { color: #5b6272; font-family: "PT Sans Narrow Bold", sans-serif; font-size: 13.5px; letter-spacing: .04em; text-transform: uppercase; }
.loc-addr, .rel-name { color: #1f2430; overflow-wrap: anywhere; }
.rel-name { font-family: "PT Sans Bold", sans-serif; }
.more-locations { margin-top: 12px; }
.more-locations > summary { cursor: pointer; display: inline-block; padding: 8px 0; color: #b8102f; font-family: "PT Sans Bold", sans-serif; list-style: none; }
.more-locations > summary::-webkit-details-marker { display: none; }
.more-locations > summary::after { content: " \25BE"; }
.more-locations[open] > summary::after { content: " \25B4"; }
.more-locations .loc-list { margin-top: 12px; }
/* ==== Contacts: the contact itself is the thing to see ==== */
.contact-item { padding: 12px 0; }
.contact-item .ci-label { font-size: 16px; color: #3b4252; }
.contact-item .ci-value { font-size: 19px; }
.contact-item .ci-value a { font-family: "PT Sans Regular", sans-serif; font-weight: normal; font-size: 19px; line-height: 1.3; }
.contact-item .tel-link { font-family: "PT Sans Regular", sans-serif; font-weight: normal; font-size: 23px; letter-spacing: .01em; color: #b8102f; }
.contact-item .tel-text { font-family: "PT Sans Regular", sans-serif; font-weight: normal; font-size: 21px; color: #1f2430; }
.contact-item .phone-mentions-link { font-family: "PT Sans Regular", sans-serif; font-size: 14.5px; margin-top: 2px; }
.more-contacts { margin-top: 10px; }
.more-contacts > summary { cursor: pointer; display: inline-block; padding: 8px 0; color: #b8102f; font-family: "PT Sans Bold", sans-serif; font-size: 17px; list-style: none; }
.more-contacts > summary::-webkit-details-marker { display: none; }
.more-contacts > summary::after { content: " \25BE"; }
.more-contacts[open] > summary::after { content: " \25B4"; }
@media (max-width: 640px) { .contact-item .ci-value, .contact-item .ci-value a { font-size: 18px; } .contact-item .tel-link { font-size: 22px; } }
/* ==== Complaint call-to-action strip ==== */
.cp-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin-top: 14px; padding: 18px 22px; border: 1px solid #e3e6ec; border-radius: 14px; background: #fff; }
.cp-cta-text { margin: 0; font-size: 17px; color: #1f2430; flex: 1 1 280px; }
@media (max-width: 640px) { .cp-cta .cp-btn { width: 100%; text-align: center; } }
.contact-item .ci-value a.phone-mentions-link { font-family: "PT Sans Regular", sans-serif; font-size: 14.5px; font-weight: normal; line-height: 1.4; color: #5b6272; }
.contact-item .ci-value, .contact-item .ci-value a, .contact-item .tel-link, .contact-item .tel-text { font-weight: normal; }
/* ==== Mobile: section icon sits top-right, opposite the evidence tag ==== */
@media (max-width: 640px) {
	.cp-section { position: relative; }
	.cp-section > .cp-h2 { display: block; padding-right: 52px; }
	.cp-section > .cp-h2 .cp-ico { position: absolute; top: 17.5px; right: 14px; }
	.cp-section.cp-minor > .cp-h2 .cp-ico { top: 20px; right: 4px; }
	.cp-section > .tier-tag { margin-right: 52px; }
}
/* ==== Sticky section bar on phones and tablets, active item, tap targets ==== */
@media (max-width: 1099px) {
	.cp-aside { display: contents; }
	.cp-nav { position: sticky; top: 0; z-index: 30; margin: 0 -2px 12px; padding: 8px 2px; background: #f6f7f9; box-shadow: 0 1px 0 #e3e6ec; -webkit-mask-image: none; mask-image: none; }
	.company-profile .cp-nav a { padding: 7px 14px; font-size: 16px; min-height: 40px; display: inline-flex; align-items: center; }
	.cp-section, .faq-item { scroll-margin-top: 64px; }
}
@media (min-width: 961px) and (max-width: 1099px) { .cp-nav { top: 60px; } .cp-section, .faq-item { scroll-margin-top: 130px; } }
.company-profile .cp-nav a[aria-current="true"] { background: #db143d; border-color: #db143d; color: #fff; }
@media (min-width: 1100px) { .company-profile .cp-nav a[aria-current="true"] { background: transparent; color: #b8102f; border-left-color: #db143d; font-family: "PT Sans Bold", sans-serif; } }
@media (max-width: 640px) {
	.company-profile .contact-item .ci-value a, .company-profile .case-source, .company-profile .cp-dek-toggle,
	.company-profile .source-details > summary, .company-profile .more-complaints > summary, .company-profile .more-contacts > summary,
	.company-profile .more-locations > summary, .company-profile .ext-head a, .company-profile .own-complaints-list li > a { display: inline-flex; align-items: center; min-height: 44px; }
	.company-profile .own-complaints-list li > a { display: inline-block; padding: 8px 0; min-height: 0; }
	.company-profile .pagination a { min-height: 44px; min-width: 44px; }
	.company-profile .contact-item .ci-value a.phone-mentions-link { min-height: 36px; }
	#totop { opacity: .5; right: 6px; }
}

/* ==== Review fixes: names that must not split mid-word, header alignment, motion ==== */
.fact-cell .fact-value, .loc-addr, .rel-name { overflow-wrap: break-word; word-break: normal; }
@media (max-width: 640px) { .cp-headline { align-items: flex-start; } .cp-avatar { margin-top: 2px; } }
@media (prefers-reduced-motion: reduce) { .company-profile *, .company-profile *::before, .company-profile *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
@media (min-width: 641px) { .fact-cell.fact-span2 { grid-column: span 2; } }

/* ==== Phones: a shorter header so the actions are in the first screens ==== */
@media (max-width: 640px) {
	.cp-dek.is-clamped { -webkit-line-clamp: 4; }
	.fact-strip { gap: 8px; margin-bottom: 14px; }
	.fact-cell { padding: 9px 12px; }
	.fact-value { font-size: 15.5px; }
	.fact-cell:not(:first-child) .fact-note { display: none; }
	.cp-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
	.cp-actions .cp-btn-primary { grid-column: 1 / -1; }
	.cp-actions .cp-btn { padding: 10px 8px; font-size: 15px; text-align: center; }
	.cp-actions .cp-btn:last-child:nth-child(even) { grid-column: auto; }
	.cp-header { padding: 16px; }
}

/* ==== Print: no side panel at all; tablets: a long domain gets its own row, no orphan tile ==== */
@media print {
	.cp-aside, .cp-aside-title, .cp-cta, #totop, .top-adv, .bottom-adv { display: none !important; }
	.cp-layout { display: block; }
	.company-profile a[href]::after { content: none; }
}
@media (min-width: 641px) and (max-width: 999px) { .fact-cell.fact-wide { grid-column: 1 / -1; order: 10; } }

/* ==== Last polish: header titles on directory/phone pages, breathing room above the footer ==== */
.company-profile .cp-header .cp-title { padding: 0 !important; }
.company-profile { margin-bottom: 24px; }

/* ==== Collapsed tail of long sections ==== */
.more-text { margin-top: 10px; }
.more-text > summary { cursor: pointer; display: inline-block; padding: 8px 0; color: #b8102f; font-family: "PT Sans Bold", sans-serif; font-size: 17px; list-style: none; }
.more-text > summary::-webkit-details-marker { display: none; }
.more-text > summary::after { content: " \25BE"; }
.more-text[open] > summary::after { content: " \25B4"; }
.more-text[open] > summary { margin-bottom: 6px; }
.cd .cd-back { display: inline-flex; align-items: center; min-height: 44px; font-size: 16px; }

/* ==== Last mobile polish ==== */
@media (max-width: 640px) {
	.fact-cell:not(:first-child) .fact-note { display: block; font-size: 13px; }
	.fact-cell.fact-wide { grid-column: auto; }
	.fact-cell.fact-span2 { grid-column: 1 / -1; }
	.cp-actions .cp-btn:last-child:nth-child(even) { grid-column: 1 / -1; }
}
