/* Our people (layout C refined) and team profiles (layout D refined), approved 2 Oct 2026. Scoped to main.cpp. */
.cpp {
	--cpp-bg: #FFFFFF; --cpp-soft: #F1F4F9; --cpp-paper: #FBF8F1; --cpp-paper-line: #E6DFCF; --cpp-card: #FFFFFF; --cpp-ink: #0B1A2E;
	--cpp-body: #3A4659; --cpp-prose: #2A3446; --cpp-muted: #566175; --cpp-line: #E1E7F0; --cpp-line2: #C9D3E2;
	--cpp-blue: #1D63FF; --cpp-blue-text: #1D55E0; --cpp-blue-soft: #EEF4FF; --cpp-navy: #0A1628; --cpp-gold: #F6C85F;
	--cpp-onnavy: #C3CCDA; --cpp-green: #1F7A4A; --cpp-num: #C9D6EA; --cpp-seg: #E9EDF4; --cpp-ph: #EEF1F5;
	--cpp-display: 'Inter Tight', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--cpp-text: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--cpp-serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;
	--cpp-mono: 'IBM Plex Mono', ui-monospace, Menlo, Consolas, monospace;
	--cpp-pad: clamp(20px, 5.6vw, 80px);
	--cpp-top: 0px;
	display: block; background: var(--cpp-bg); color: var(--cpp-ink); font-family: var(--cpp-text); font-size: 16px; line-height: 1.55;
}
html[data-ccl-theme="dark"] .cpp {
	--cpp-bg: #0B1220; --cpp-soft: #0F192B; --cpp-paper: #121B2C; --cpp-paper-line: #2A3A58; --cpp-card: #111D35; --cpp-ink: #E8EDF5;
	--cpp-body: #C9D2DF; --cpp-prose: #D3DAE5; --cpp-muted: #9AA6B8; --cpp-line: #22304A; --cpp-line2: #2A3A58;
	--cpp-blue-text: #7DA4FF; --cpp-blue-soft: #16223A; --cpp-navy: #070E1A; --cpp-green: #6FD39C; --cpp-num: #2A3A58; --cpp-seg: #16223A; --cpp-ph: #16223A;
}
.cpp *, .cpp *::before, .cpp *::after { box-sizing: border-box; }
.cpp h1, .cpp h2, .cpp h3, .cpp p, .cpp ul, .cpp ol, .cpp dl, .cpp dd, .cpp figure { margin: 0; }
.cpp ul, .cpp ol { padding: 0; list-style: none; }
.cpp a { color: inherit; text-decoration: none; }
.cpp img { max-width: 100%; }
.cpp button { font: inherit; }
.cpp a:focus-visible, .cpp button:focus-visible, .cpp summary:focus-visible { outline: 3px solid var(--cpp-blue); outline-offset: 3px; border-radius: 6px; }
.cpp [id] { scroll-margin-top: calc(var(--cpp-top) + 90px); }
.cpp [hidden] { display: none !important; }
/* The theme sets overflow-x: hidden on html and body on phones, which stops sticky bars working; clip keeps the same clipping without that side effect. */
html:has(main.cpp), html:has(main.cpp) body { overflow-x: clip !important; }
.cpp-ic { flex: none; display: block; }
.cpp-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.cpp-wrap { max-width: 1280px; margin: 0 auto; padding-inline: var(--cpp-pad); box-sizing: content-box !important; }
.cpp-eyebrow { font-size: 13px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cpp-blue-text); }
.cpp-mono { font-family: var(--cpp-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cpp-muted); }
.cpp h2 { font-family: var(--cpp-display); font-size: clamp(28px, 2.8vw, 38px); font-weight: 900; line-height: 1.1; letter-spacing: -0.01em; color: var(--cpp-ink); }
.cpp-show-sm { display: none; }
.cpp .ccl-nwnf-mark { color: inherit; text-decoration: none; }
.cpp-initials { display: flex; align-items: center; justify-content: center; background: #2B3F63; color: #FFFFFF; font-family: var(--cpp-display); font-weight: 800; }

/* Buttons and links */
.cpp .cpp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 0 22px; border-radius: 12px; border: 2px solid transparent; font-size: 16px; font-weight: 800; line-height: 1.2; white-space: nowrap; cursor: pointer; transition: background-color .15s, border-color .15s; }
.cpp a.cpp-btn[href^="tel:"] { display: inline-flex !important; min-height: 56px !important; }
.cpp .cpp-btn--full { display: flex; width: 100%; }
.cpp a.cpp-btn--full[href^="tel:"] { display: flex !important; }
.cpp .cpp-btn--sm, .cpp a.cpp-btn--sm[href^="tel:"] { min-height: 50px !important; padding: 0 14px; font-size: 15.5px; }
.cpp .cpp-btn--primary { background: var(--cpp-blue); color: #FFFFFF; }
.cpp .cpp-btn--primary:hover { background: #1550D6; color: #FFFFFF; }
.cpp .cpp-btn--line { background: var(--cpp-card); border-color: var(--cpp-line2); color: var(--cpp-ink); }
.cpp .cpp-btn--line:hover { border-color: var(--cpp-blue); color: var(--cpp-ink); }
.cpp .cpp-btn--gold { background: var(--cpp-gold); color: #0A1628; }
.cpp .cpp-btn--gold:hover { background: #F2BB3A; color: #0A1628; }
.cpp .cpp-btn--ghost { background: transparent; border-color: rgba(255,255,255,0.35); color: #FFFFFF; }
.cpp .cpp-btn--ghost:hover { border-color: #FFFFFF; background: rgba(255,255,255,0.06); color: #FFFFFF; }
.cpp-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.cpp .cpp-link, .cpp a.cpp-link[href^="tel:"] { display: inline-flex !important; align-items: center !important; gap: 8px; min-height: 44px !important; font-size: 15px; font-weight: 800; color: var(--cpp-blue-text); white-space: nowrap; }
.cpp .cpp-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.cpp-ticks { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.cpp-ticks li { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--cpp-body); }
.cpp-ticks .cpp-ic { color: var(--cpp-green); }
.cpp-note { font-size: 13.5px; color: var(--cpp-muted); }
.cpp-back { display: none; }
.cpp-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: var(--cpp-muted); }
.cpp-crumb a { display: inline-flex; align-items: center; min-height: 32px; text-decoration: underline; text-underline-offset: 3px; }
.cpp-crumb a:hover { color: var(--cpp-blue-text); }
.cpp-crumb [aria-current] { color: var(--cpp-ink); font-weight: 600; }

/* ========== Our people ========== */
.cpp-hero--navy { background: var(--cpp-navy); color: #FFFFFF; padding: 28px 0 56px; }
.cpp-hero--navy .cpp-crumb { color: #AEBBD0; }
.cpp-hero--navy .cpp-crumb [aria-current] { color: #FFFFFF; }
.cpp-hero--navy .cpp-crumb a:hover { color: #FFFFFF; }
.cpp-hero__row { display: grid; grid-template-columns: minmax(0, 1fr) 540px; gap: 56px; align-items: center; margin-top: 24px; }
.cpp-hero__text { display: flex; flex-direction: column; gap: 20px; }
.cpp-hero--navy .cpp-eyebrow { color: var(--cpp-gold); }
.cpp-hero h1 { font-family: var(--cpp-display); font-size: clamp(38px, 4.2vw, 60px); font-weight: 900; line-height: 1.02; letter-spacing: -0.025em; color: #FFFFFF; }
.cpp-lead { font-size: clamp(17px, 1.4vw, 19.5px); line-height: 1.6; color: var(--cpp-onnavy); }
.cpp-hero--navy .cpp-ticks li { color: var(--cpp-onnavy); }
.cpp-hero--navy .cpp-ticks .cpp-ic { color: var(--cpp-gold); }

/* Team map */
.cpp-map { display: flex; flex-direction: column; gap: 14px; width: 100%; max-width: 540px; justify-self: end; }
.cpp-map__sq { position: relative; width: calc(100% - 48px); margin: 24px; aspect-ratio: 1 / 1; }
.cpp-map__ring { position: absolute; left: calc(50% - var(--r)); top: calc(50% - var(--r)); width: calc(var(--r) * 2); height: calc(var(--r) * 2); border-radius: 50%; border: 1.5px dashed rgba(255,255,255,0.2); }
.cpp-map__ring--lawyers { background: rgba(255,255,255,0.035); }
.cpp-map__face { position: absolute; z-index: 1; display: block; width: 46px; height: 46px; border-radius: 50%; transform: translate(-50%, -50%); }
.cpp-map__face--s1 { width: 56px; height: 56px; }
.cpp-map__face--s3 { width: 44px; height: 44px; }
.cpp-map__img { display: flex; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: center 20%; border: 3px solid #C3CCDA; background: #2B3F63; font-size: 13px; }
.cpp-map__face--lawyers .cpp-map__img { border-color: var(--cpp-gold); }
.cpp-map__face--paralegals .cpp-map__img { border-color: #7FA6FF; }
.cpp-map__face:hover, .cpp-map__face:focus-visible { z-index: 4; }
.cpp-map__face:hover .cpp-map__img { box-shadow: 0 0 0 4px rgba(246,200,95,0.35); }
.cpp-map__tag { position: absolute; left: calc(100% + 10px); top: 50%; z-index: 5; display: flex; flex-direction: column; gap: 1px; padding: 8px 12px; border-radius: 10px; background: #FFFFFF; color: #0B1A2E; box-shadow: 0 10px 24px rgba(0,0,0,0.3); white-space: nowrap; font-size: 12.5px; line-height: 1.35; color: #566175; opacity: 0; pointer-events: none; transform: translateY(-50%); transition: opacity .15s; }
.cpp-map__tag b { font-size: 14px; color: #0B1A2E; }
.cpp-map__face.is-right .cpp-map__tag { left: auto; right: calc(100% + 10px); }
.cpp-map__face:hover .cpp-map__tag { opacity: 1; }
.cpp-map__you { position: absolute; left: 50%; top: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100px; height: 100px; border-radius: 50%; background: var(--cpp-gold); color: #0A1628; font-size: 18px; font-weight: 900; line-height: 1.1; transform: translate(-50%, -50%); box-shadow: 0 0 0 10px rgba(246,200,95,0.14); }
.cpp-map__you span { font-family: var(--cpp-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.cpp-map__legend { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.14); font-size: 13.5px; line-height: 1.4; color: var(--cpp-onnavy); }
.cpp-map__legend > span { display: grid; grid-template-columns: 16px minmax(0, 1fr); column-gap: 10px; }
.cpp-map__legend b { color: #FFFFFF; font-size: 14.5px; display: block; }
.cpp-map__key { grid-row: span 2; width: 16px; height: 16px; margin-top: 3px; border-radius: 50%; border: 3px solid #C3CCDA; }
.cpp-map__key--lawyers { border-color: var(--cpp-gold); }
.cpp-map__key--paralegals { border-color: #7FA6FF; }

/* About section menu (same as the About page) */
.cpp-subnav { background: var(--cpp-bg); border-bottom: 1px solid var(--cpp-line); }
.cpp-subnav ul { display: flex; gap: 34px; }
.cpp-subnav li, .cpp-rail li, .cpp-chips > * { flex: none; min-width: max-content; }
.cpp-subnav a { display: inline-flex; align-items: center; min-height: 58px; border-bottom: 3px solid transparent; font-size: 15.5px; font-weight: 600; color: var(--cpp-muted); white-space: nowrap; }
.cpp-subnav a:hover { color: var(--cpp-ink); }
.cpp-subnav a[aria-current] { border-bottom-color: var(--cpp-blue); font-weight: 800; color: var(--cpp-ink); }

/* Find bar */
.cpp-find { position: sticky; top: var(--cpp-top); z-index: 30; background: var(--cpp-bg); border-bottom: 1px solid var(--cpp-line); box-shadow: 0 10px 22px rgba(10,22,40,0.06); }
.cpp-find .cpp-wrap { display: flex; align-items: center; gap: 16px; padding-top: 14px; padding-bottom: 14px; }
.cpp-find__box { flex: none; width: 340px; display: flex; align-items: center; gap: 12px; height: 50px; padding: 0 16px; border-radius: 12px; border: 1px solid var(--cpp-line2); background: var(--cpp-card); color: var(--cpp-blue-text); cursor: text; }
.cpp-find__box:focus-within { border-color: var(--cpp-blue); box-shadow: 0 0 0 3px rgba(29,99,255,0.2); }
.cpp-find__box input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; font: inherit; font-size: 16px; color: var(--cpp-ink); }
.cpp-find__box input::placeholder { color: #7A8699; opacity: 1; }
.cpp-chips { display: flex; gap: 8px; }
.cpp-chips button { flex: none; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--cpp-line2); background: var(--cpp-card); font-size: 15px; font-weight: 700; color: var(--cpp-ink); white-space: nowrap; cursor: pointer; }
.cpp-chips button:hover { border-color: var(--cpp-blue); }
.cpp-chips button[aria-pressed="true"] { background: var(--cpp-ink); border-color: var(--cpp-ink); color: var(--cpp-bg); }

/* Directory */
.cpp-dir { padding: 56px 0 96px; }
.cpp-dir__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
.cpp-dir__intro { display: flex; flex-direction: column; gap: 12px; }
.cpp-dir__sub { font-size: 17px; line-height: 1.6; color: var(--cpp-muted); }
.cpp-dir__tools { display: flex; align-items: center; gap: 16px; }
.cpp-seg-wrap { display: flex; align-items: center; gap: 10px; }
.cpp-seg { display: flex; gap: 2px; padding: 2px; border-radius: 10px; background: var(--cpp-seg); }
.cpp-seg button { min-height: 44px; min-width: 44px; padding: 0 16px; white-space: nowrap; border: 0; border-radius: 8px; background: transparent; font-size: 14px; font-weight: 700; color: var(--cpp-muted); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.cpp-seg--icons button { padding: 0; }
.cpp-seg button[aria-pressed="true"] { background: var(--cpp-card); color: var(--cpp-ink); box-shadow: 0 1px 3px rgba(10,22,40,0.12); }
.cpp-status { margin-top: 10px; font-size: 14.5px; color: var(--cpp-muted); }
.cpp-dir__grid { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 44px; align-items: start; margin-top: 22px; }
.cpp-dir__list { display: flex; flex-direction: column; gap: 44px; min-width: 0; }
.cpp-group { display: flex; flex-direction: column; gap: 18px; }
.cpp-group__head { display: flex; align-items: baseline; gap: 12px; padding-bottom: 12px; border-bottom: 2px solid var(--cpp-ink); font-family: var(--cpp-text); font-size: 13px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cpp-ink); }
.cpp-group__head .cpp-mono { color: var(--cpp-blue-text); letter-spacing: 0.06em; }
.cpp-group__one { margin-left: auto; font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--cpp-muted); }
.cpp-empty { padding: 28px; border-radius: 16px; background: var(--cpp-soft); font-size: 16px; color: var(--cpp-body); }

.cpp-tiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px 14px; }
.cpp-tiles--row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.cpp-tile { position: relative; display: flex; flex-direction: column; gap: 9px; height: 100%; color: var(--cpp-ink); }
.cpp-tile__ph { display: block; overflow: hidden; border-radius: 14px; background: var(--cpp-ph); aspect-ratio: 1 / 1; }
.cpp-tile--tall .cpp-tile__ph { aspect-ratio: 4 / 5; }
.cpp-tile__img { display: flex; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; font-size: 28px; transition: transform .25s; }
.cpp-tile:hover .cpp-tile__img { transform: scale(1.03); }
.cpp-tile__txt { display: flex; flex-direction: column; gap: 2px; padding: 0 2px; }
.cpp-tile__name { font-size: 15px; font-weight: 800; line-height: 1.25; }
.cpp-tile__title { font-size: 13px; line-height: 1.35; color: var(--cpp-muted); }
.cpp-tile__lead { display: none; }
.cpp-tile__qv { display: none; }
.cpp-tile__badge { position: absolute; right: 8px; top: 8px; display: none; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 7px; background: var(--cpp-blue); color: #FFFFFF; font-family: var(--cpp-mono); font-size: 10px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.cpp-tile:hover .cpp-tile__name { color: var(--cpp-blue-text); }
.cpp-tile.is-current .cpp-tile__ph { box-shadow: 0 0 0 3px var(--cpp-bg), 0 0 0 6px var(--cpp-blue); }
.cpp-tile.is-current .cpp-tile__name { color: var(--cpp-blue-text); }
.cpp-tile.is-current .cpp-tile__badge { display: inline-flex; }

/* Rows: the practice team, and everyone in list view */
.cpp-tile--row, .cpp-dir__list.is-list .cpp-tile { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px; border: 1px solid var(--cpp-line); border-radius: 14px; background: var(--cpp-card); }
.cpp-tile--row .cpp-tile__ph, .cpp-dir__list.is-list .cpp-tile__ph { width: 64px; height: 64px; aspect-ratio: 1 / 1; border-radius: 12px; }
.cpp-tile--row .cpp-tile__img, .cpp-dir__list.is-list .cpp-tile__img { font-size: 18px; }
.cpp-tile--row.is-current, .cpp-dir__list.is-list .cpp-tile.is-current { border-color: var(--cpp-blue); box-shadow: 0 0 0 1px var(--cpp-blue); }
.cpp-tile--row.is-current .cpp-tile__ph, .cpp-dir__list.is-list .cpp-tile.is-current .cpp-tile__ph { box-shadow: none; }
.cpp-tile--row .cpp-tile__badge, .cpp-dir__list.is-list .cpp-tile__badge { display: none !important; }
.cpp-dir__list.is-list .cpp-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cpp-dir__list.is-list .cpp-tile__qv { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 800; color: var(--cpp-blue-text); }

/* Quick view panel */
.cpp-side { position: sticky; top: calc(var(--cpp-top) + 98px); display: flex; flex-direction: column; gap: 14px; }
.cpp-panel__scrim, .cpp-panel__handle, .cpp-panel__close { display: none !important; }
.cpp-panel__card { overflow: hidden; border-radius: 20px; border: 1px solid var(--cpp-line); background: var(--cpp-card); box-shadow: 0 24px 50px rgba(10,22,40,0.1); }
.cpp-panel__bar { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px 10px 20px; border-bottom: 1px solid var(--cpp-line); }
.cpp-panel__bar .cpp-mono { color: var(--cpp-blue-text); font-size: 11.5px; letter-spacing: 0.14em; }
.cpp-panel__btns { display: flex; gap: 6px; }
.cpp-icbtn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; border: 1px solid var(--cpp-line2); background: var(--cpp-card); color: var(--cpp-ink); cursor: pointer; }
.cpp-icbtn:hover { border-color: var(--cpp-blue); }
.cpp-panel__ph { position: relative; height: 290px; background: var(--cpp-ph); }
.cpp-panel__img { display: flex; width: 100%; height: 100%; object-fit: cover; object-position: center 18%; font-size: 56px; }
.cpp-panel__tag { position: absolute; left: 16px; bottom: 16px; padding: 6px 10px; border-radius: 8px; background: rgba(10,22,40,0.85); color: var(--cpp-gold); font-size: 11px; }
.cpp-panel__head { display: flex; flex-direction: column; gap: 6px; padding: 22px 24px 0; }
.cpp-panel__name { font-family: var(--cpp-serif); font-size: 34px; font-weight: 600; line-height: 1.05; letter-spacing: -0.01em; color: var(--cpp-ink); }
.cpp-panel__title { color: var(--cpp-blue-text); font-size: 12.5px; letter-spacing: 0.14em; }
.cpp-panel__body { display: flex; flex-direction: column; gap: 12px; padding: 12px 24px 22px; }
.cpp-panel__short { font-size: 15.5px; line-height: 1.6; color: var(--cpp-body); }
.cpp-facts > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-top: 1px solid var(--cpp-line); }
.cpp-facts dt { padding-top: 2px; font-family: var(--cpp-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cpp-muted); }
.cpp-facts dd { font-size: 14.5px; line-height: 1.45; font-weight: 600; color: var(--cpp-ink); }
.cpp-panel__two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cpp-panel__note { font-size: 14.5px; line-height: 1.5; color: var(--cpp-muted); }
.cpp-help { display: flex; flex-direction: column; gap: 6px; padding: 20px 22px; border-radius: 16px; background: var(--cpp-soft); }
.cpp-help__t { font-size: 16px; font-weight: 800; color: var(--cpp-ink); }
.cpp-help p:not(.cpp-help__t) { font-size: 14.5px; line-height: 1.55; color: var(--cpp-muted); }

/* How a claim is staffed */
.cpp-staff { background: var(--cpp-soft); padding: 88px 0; }
.cpp-sechead { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
.cpp-sechead > div { display: flex; flex-direction: column; gap: 12px; max-width: 820px; }
.cpp-sechead__sub { font-size: 18px; line-height: 1.6; color: var(--cpp-muted); }
.cpp-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 50px; margin-top: 32px; }
.cpp-flow__card { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 24px; border-radius: 18px; border: 1px solid var(--cpp-line); background: var(--cpp-card); }
.cpp-flow__card:not(:last-child)::after { content: ""; position: absolute; right: -45px; top: 50%; width: 40px; height: 40px; margin-top: -20px; border-radius: 50%; border: 1px solid var(--cpp-line); background: var(--cpp-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231D63FF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 18px no-repeat; }
.cpp-flow__card.is-accent { background: var(--cpp-navy); border-color: transparent; }
html[data-ccl-theme="dark"] .cpp-flow__card.is-accent { background: #16264A; }
.cpp-flow__card .cpp-mono { color: var(--cpp-blue-text); font-size: 11.5px; letter-spacing: 0.12em; }
.cpp-flow__card.is-accent .cpp-mono { color: var(--cpp-gold); }
.cpp-flow__card h3 { font-size: 20px; font-weight: 800; line-height: 1.25; color: var(--cpp-ink); }
.cpp-flow__card.is-accent h3 { color: #FFFFFF; }
.cpp-flow__card p { font-size: 15px; line-height: 1.55; color: var(--cpp-muted); }
.cpp-flow__card.is-accent p { color: var(--cpp-onnavy); }
.cpp-flow__you { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: var(--cpp-gold); color: #0A1628; }
.cpp-faces { display: flex; }
.cpp-faces__img { display: flex; width: 46px; height: 46px; margin-left: -14px; border-radius: 50%; border: 3px solid var(--cpp-card); object-fit: cover; object-position: center 20%; font-size: 13px; }
.cpp-faces__img:first-child { margin-left: 0; }
.cpp-flow__card.is-accent .cpp-faces__img { border-color: var(--cpp-navy); }
.cpp-staff .cpp-note { margin-top: 18px; }

/* FAQ */
.cpp-faq { padding: 88px 0; }
.cpp-faq__grid { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 64px; align-items: start; }
.cpp-faq__head { display: flex; flex-direction: column; gap: 14px; }
.cpp-faq__head p:last-child { font-size: 17px; line-height: 1.6; color: var(--cpp-muted); }
.cpp-faq__list { border-top: 1px solid var(--cpp-line); }
.cpp-faq__list details { border-bottom: 1px solid var(--cpp-line); }
.cpp-faq__list summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 68px; padding: 18px 0; cursor: pointer; font-size: 18px; font-weight: 700; color: var(--cpp-ink); }
.cpp-faq__list summary::-webkit-details-marker { display: none; }
.cpp-faq__list summary .cpp-ic { color: var(--cpp-blue-text); transition: transform .2s; }
.cpp-faq__list details[open] summary .cpp-ic { transform: rotate(180deg); }
.cpp-faq__list details p { padding: 0 56px 22px 0; font-size: 16.5px; line-height: 1.6; color: var(--cpp-muted); }

/* Contact and careers */
.cpp-contact { padding: 0 0 72px; }
.cpp-contact__box { display: flex; flex-direction: column; gap: 30px; padding: 52px 56px; border-radius: 22px; background: var(--cpp-navy); }
html[data-ccl-theme="dark"] .cpp-contact__box, html[data-ccl-theme="dark"] .cpp-cta__box { background: #111D35; border: 1px solid #2A3A58; }
.cpp-contact__row { display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.cpp-contact__text { display: flex; flex-direction: column; gap: 12px; max-width: 660px; }
.cpp .cpp-contact__text h2 { color: #FFFFFF; }
.cpp-contact__text p { font-size: 18px; line-height: 1.55; color: var(--cpp-onnavy); }
.cpp .cpp-contact__text .cpp-contact__note { font-size: 13.5px; color: #8E9AAE; }
.cpp-contact .cpp-actions { flex: none; flex-wrap: nowrap; }
.cpp-offices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,0.14); }
.cpp-offices li { display: flex; gap: 12px; padding: 18px 18px 0 0; color: var(--cpp-gold); }
.cpp-offices li > span { display: flex; flex-direction: column; gap: 2px; }
.cpp-offices b { font-size: 16px; color: #FFFFFF; }
.cpp-offices li span span { font-size: 14px; line-height: 1.45; color: var(--cpp-onnavy); }
.cpp-careers { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 56px; padding: 22px 0; border-top: 1px solid var(--cpp-line); }
.cpp-careers p { display: flex; align-items: center; gap: 14px; font-size: 16px; color: var(--cpp-ink); }
.cpp-careers p .cpp-ic { color: var(--cpp-blue-text); }
.cpp-careers p span span { color: var(--cpp-muted); }

/* ========== Profile ========== */
.cpp-phero { background: var(--cpp-paper); padding: 28px 0 80px; }
.cpp-phero__row { display: grid; grid-template-columns: minmax(0, 1fr) 560px; gap: 80px; align-items: center; margin-top: 36px; }
.cpp-phero__text { display: flex; flex-direction: column; gap: 18px; }
.cpp-ptag { display: inline-flex; align-self: flex-start; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 8px; border: 1px solid var(--cpp-paper-line); background: var(--cpp-card); color: var(--cpp-blue-text); }
.cpp-ptag span { font-family: var(--cpp-mono); font-size: 11.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cpp-ink); }
.cpp-phero h1 { font-family: var(--cpp-serif); font-size: clamp(46px, 5.6vw, 80px); font-weight: 600; line-height: 1.04; letter-spacing: -0.01em; color: var(--cpp-ink); }
.cpp-ptitle { font-family: var(--cpp-mono); font-size: 15px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cpp-blue-text); }
.cpp-pintro { font-family: var(--cpp-serif); font-size: clamp(20px, 1.8vw, 25px); line-height: 1.45; color: var(--cpp-prose); }
.cpp-phero .cpp-actions { margin-top: 6px; }
.cpp-pnote { font-size: 14.5px; line-height: 1.5; color: var(--cpp-muted); }
.cpp-pphoto { position: relative; }
.cpp-pphoto__img { display: flex; width: 100%; height: auto; aspect-ratio: 560 / 600; border-radius: 28px; object-fit: cover; object-position: center 18%; background: var(--cpp-ph); font-size: 96px; }
.cpp-pphoto--sm { max-width: 480px; justify-self: end; width: 100%; }
.cpp-pcap { position: absolute; left: -36px; bottom: 36px; display: flex; flex-direction: column; gap: 4px; max-width: calc(100% - 20px); padding: 18px 22px; border-radius: 16px; background: #FFFFFF; box-shadow: 0 20px 44px rgba(10,22,40,0.18); }
.cpp-pcap .cpp-mono { color: #1D55E0; font-size: 11px; letter-spacing: 0.12em; }
.cpp-pcap__line { font-size: 15.5px; line-height: 1.45; font-weight: 700; color: #0B1A2E; }

.cpp-band { background: var(--cpp-navy); padding: 36px 0; }
html[data-ccl-theme="dark"] .cpp-band { background: #111D35; border-block: 1px solid #2A3A58; }
.cpp-band__dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.cpp-band__dl--4 { grid-template-columns: 1.1fr 1.3fr 0.6fr 1fr; }
.cpp-band__dl--3 { grid-template-columns: 1.3fr 0.7fr 1fr; }
.cpp-band__dl--2 { grid-template-columns: 1.4fr 1fr; }
.cpp-band__dl > div { display: flex; flex-direction: column; gap: 8px; }
.cpp-band__dl dt { font-family: var(--cpp-mono); font-size: 11.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cpp-gold); }
.cpp-band__dl dd { font-size: 16px; line-height: 1.5; font-weight: 600; color: #FFFFFF; }

.cpp-long { padding: 88px 0; }
.cpp-long__grid { display: grid; grid-template-columns: 200px minmax(0, 1fr) 300px; gap: 56px; align-items: start; }
.cpp-rail { position: sticky; top: calc(var(--cpp-top) + 24px); display: flex; flex-direction: column; gap: 10px; }
.cpp-rail ul { display: flex; flex-direction: column; gap: 2px; }
.cpp-rail a { display: flex; align-items: center; min-height: 44px; padding-left: 14px; border-left: 3px solid var(--cpp-line); font-size: 15px; line-height: 1.3; font-weight: 600; color: var(--cpp-muted); }
.cpp-rail a:hover { color: var(--cpp-ink); }
.cpp-rail a[aria-current] { border-left-color: var(--cpp-blue); font-weight: 800; color: var(--cpp-ink); }
.cpp-bio { display: flex; flex-direction: column; gap: 48px; max-width: 700px; min-width: 0; }
.cpp-bio__sec { display: flex; flex-direction: column; gap: 18px; }
.cpp .cpp-bio__h { display: flex; align-items: center; gap: 12px; font-family: var(--cpp-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.12em; line-height: 1.4; text-transform: uppercase; color: var(--cpp-blue-text); }
.cpp-bio__h::after { content: ""; flex: 1; height: 1px; background: var(--cpp-line); }
.cpp-bio__p, .cpp-bio__content p { font-family: var(--cpp-serif); font-size: 20px; line-height: 1.75; color: var(--cpp-prose); }
.cpp-bio__content { display: flex; flex-direction: column; gap: 18px; }
.cpp-bio__p--drop::first-letter { float: left; margin: 8px 12px 0 0; font-size: 78px; font-weight: 700; line-height: 0.78; color: var(--cpp-ink); }
.cpp-pull { padding: 6px 0 6px 28px; border-left: 4px solid var(--cpp-gold); font-family: var(--cpp-serif); font-size: clamp(23px, 2.2vw, 30px); font-style: italic; font-weight: 600; line-height: 1.32; color: var(--cpp-ink); }
.cpp-num { border-bottom: 1px solid var(--cpp-line); }
.cpp-num li { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 16px; padding: 16px 0; border-top: 1px solid var(--cpp-line); }
.cpp-num__n { font-family: var(--cpp-mono); font-size: 12.5px; font-weight: 600; letter-spacing: 0.06em; color: var(--cpp-blue-text); padding-top: 4px; }
.cpp-num--serif .cpp-num__n { font-family: var(--cpp-serif); font-size: 30px; font-weight: 600; line-height: 1; letter-spacing: 0; color: var(--cpp-num); padding-top: 0; }
.cpp-num li > span:last-child { display: flex; flex-direction: column; gap: 4px; }
.cpp-num b { font-family: var(--cpp-serif); font-size: 22px; font-weight: 600; line-height: 1.3; color: var(--cpp-ink); }
.cpp-num li > span:last-child > span { font-size: 15.5px; line-height: 1.55; color: var(--cpp-muted); }
.cpp-ledger { border-bottom: 1px solid var(--cpp-line); }
.cpp-ledger > div { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 22px; padding: 16px 0; border-top: 1px solid var(--cpp-line); }
.cpp-ledger dt { padding-top: 3px; font-family: var(--cpp-mono); font-size: 11.5px; font-weight: 600; letter-spacing: 0.08em; line-height: 1.5; text-transform: uppercase; color: var(--cpp-blue-text); }
.cpp-ledger dd { display: flex; flex-direction: column; gap: 3px; font-size: 16.5px; line-height: 1.5; color: var(--cpp-ink); }
.cpp-ledger--works dd b { font-family: var(--cpp-serif); font-size: 21px; font-weight: 600; line-height: 1.3; }
.cpp-ledger--works dd span { font-size: 15px; line-height: 1.55; color: var(--cpp-muted); }
.cpp-touch { position: sticky; top: calc(var(--cpp-top) + 24px); display: flex; flex-direction: column; gap: 14px; padding: 26px; border-radius: 18px; background: var(--cpp-paper); }
.cpp-touch .cpp-mono { color: var(--cpp-blue-text); font-size: 11.5px; letter-spacing: 0.12em; }
.cpp .cpp-touch h2 { font-family: var(--cpp-serif); font-size: 23px; font-weight: 600; line-height: 1.3; letter-spacing: 0; }
.cpp-ticks--sm { flex-direction: column; gap: 8px; }
.cpp-ticks--sm li { font-size: 14px; }
.cpp-touch__note { font-size: 14.5px; line-height: 1.5; color: var(--cpp-muted); }
.cpp-touch__fine { font-size: 13px; color: var(--cpp-muted); }

.cpp-pclaims { background: var(--cpp-soft); padding: 88px 0; }
.cpp-pclaims__grid { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 72px; align-items: start; }
.cpp-pclaims__head { display: flex; flex-direction: column; gap: 14px; }
.cpp .cpp-pclaims__head h2, .cpp .cpp-pexplain h2 { font-family: var(--cpp-serif); font-size: clamp(32px, 3vw, 44px); font-weight: 600; line-height: 1.1; letter-spacing: -0.01em; }
.cpp-pclaims__head p:last-child { font-size: 17px; line-height: 1.6; color: var(--cpp-muted); }
.cpp-pclaims__list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; border-top: 1px solid var(--cpp-ink); }
.cpp-pclaims__list a { display: grid; grid-template-columns: 52px minmax(0, 1fr) 24px; gap: 18px; align-items: center; min-height: 84px; padding: 10px 0; border-bottom: 1px solid var(--cpp-line); color: var(--cpp-ink); }
.cpp-pclaims__list a > .cpp-ic { color: var(--cpp-blue-text); }
.cpp-pclaims__list a:hover b { color: var(--cpp-blue-text); }
.cpp-pclaims__ic { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: var(--cpp-card); color: var(--cpp-blue-text); }
.cpp-pclaims__list a > span:nth-child(2) { display: flex; flex-direction: column; gap: 2px; }
.cpp-pclaims__list b { font-family: var(--cpp-serif); font-size: 23px; font-weight: 600; line-height: 1.25; }
.cpp-pclaims__list a > span:nth-child(2) > span { font-size: 15px; line-height: 1.45; color: var(--cpp-muted); }

.cpp-pexplain { padding: 88px 0 0; }
.cpp-pexplain .cpp-wrap { display: flex; flex-direction: column; gap: 14px; }
.cpp-pexplain__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 22px; }
.cpp-pexplain__cols li { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 1px solid var(--cpp-line); }
.cpp-pexplain__n { font-family: var(--cpp-serif); font-size: 46px; font-weight: 600; line-height: 1; color: var(--cpp-num); }
.cpp .cpp-pexplain__cols h3 { font-family: var(--cpp-serif); font-size: 25px; font-weight: 600; line-height: 1.25; color: var(--cpp-ink); }
.cpp-pexplain__cols p { font-size: 16px; line-height: 1.6; color: var(--cpp-muted); }

.cpp-more { padding: 88px 0; }
.cpp-rule { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 12px; border-bottom: 2px solid var(--cpp-ink); }
.cpp .cpp-rule h2 { font-family: var(--cpp-text); font-size: 13px; font-weight: 800; line-height: 1.4; letter-spacing: 0.1em; text-transform: uppercase; }
.cpp-more__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.cpp-more__grid a { display: flex; flex-direction: column; gap: 12px; color: var(--cpp-ink); }
.cpp-more__ph { display: block; overflow: hidden; border-radius: 20px; aspect-ratio: 4 / 4.4; background: var(--cpp-ph); }
.cpp-more__img { display: flex; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; font-size: 48px; transition: transform .25s; }
.cpp-more__grid a:hover .cpp-more__img { transform: scale(1.03); }
.cpp-more__grid .cpp-mono { color: var(--cpp-blue-text); font-size: 11px; letter-spacing: 0.12em; }
.cpp-more__name { font-family: var(--cpp-serif); font-size: 26px; font-weight: 600; line-height: 1.15; }
.cpp-more__grid a:hover .cpp-more__name { color: var(--cpp-blue-text); }

.cpp-cta { padding: 0 0 96px; }
.cpp-cta__box { display: flex; align-items: center; justify-content: space-between; gap: 48px; padding: 52px 56px; border-radius: 22px; background: var(--cpp-navy); }
.cpp-cta__text { display: flex; flex-direction: column; gap: 12px; max-width: 640px; }
.cpp .cpp-cta__text h2 { color: #FFFFFF; }
.cpp-cta__text p { font-size: 18px; line-height: 1.55; color: var(--cpp-onnavy); }
.cpp .cpp-cta__text .cpp-cta__note { font-size: 13.5px; color: #8E9AAE; }
.cpp-cta .cpp-actions { flex: none; flex-wrap: nowrap; }

/* ========== Laptop and tablet ========== */
@media (max-width: 1180px) {
	.cpp-hero__row { grid-template-columns: minmax(0, 1fr) 450px; gap: 40px; }
	.cpp-map__face--s1 { width: 50px; height: 50px; }
	.cpp-dir__grid { grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; }
	.cpp-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.cpp-tiles--row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cpp-panel__ph { height: 250px; }
	.cpp-panel__name { font-size: 30px; }
	.cpp-flow { gap: 40px; }
	.cpp-flow__card:not(:last-child)::after { right: -38px; width: 36px; height: 36px; margin-top: -18px; }
	.cpp-faq__grid, .cpp-pclaims__grid { grid-template-columns: 320px minmax(0, 1fr); gap: 48px; }
	.cpp-contact__row, .cpp-cta__box { flex-direction: column; align-items: flex-start; }
	.cpp-phero__row { grid-template-columns: minmax(0, 1fr) 460px; gap: 56px; }
	.cpp-long__grid { grid-template-columns: 180px minmax(0, 1fr) 280px; gap: 40px; }
	.cpp-ledger > div { grid-template-columns: 170px minmax(0, 1fr); }
}
@media (max-width: 1023px) {
	.cpp-hero__row { grid-template-columns: minmax(0, 1fr); }
	.cpp-map { justify-self: center; max-width: 480px; }
	.cpp-subnav ul { gap: 26px; overflow-x: auto; scrollbar-width: none; }
	.cpp-subnav ul::-webkit-scrollbar { display: none; }
	.cpp-find .cpp-wrap { flex-wrap: wrap; }
	.cpp-chips { overflow-x: auto; scrollbar-width: none; }
	.cpp-dir__grid { grid-template-columns: minmax(0, 1fr); }
	.cpp-dir__head { flex-direction: column; align-items: flex-start; gap: 16px; }
	.cpp-sechead { flex-direction: column; align-items: flex-start; gap: 6px; }
	.cpp-tile.is-current .cpp-tile__ph { box-shadow: none; }
	.cpp-tile.is-current .cpp-tile__name { color: inherit; }
	.cpp-tile.is-current .cpp-tile__badge { display: none; }
	.cpp-tiles--tall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cpp-side { position: static; }
	.cpp-help { display: none; }
	/* Quick view becomes a bottom sheet */
	.cpp-panel { display: none; position: fixed; inset: 0; z-index: 100000; }
	.cpp-panel.is-open { display: block; }
	.cpp-panel .cpp-panel__scrim { display: block !important; position: absolute; inset: 0; background: rgba(10,22,40,0.6); }
	.cpp-panel__card { position: absolute; left: 0; right: 0; bottom: 0; max-width: 640px; margin: 0 auto; max-height: 90vh; max-height: 90dvh; overflow-y: auto; overscroll-behavior: contain; display: grid; grid-template-columns: 120px minmax(0, 1fr); grid-template-areas: "handle handle" "bar bar" "ph head" "body body"; column-gap: 16px; padding: 10px 20px calc(24px + env(safe-area-inset-bottom)); border: 0; border-radius: 22px 22px 0 0; box-shadow: 0 -20px 40px rgba(0,0,0,0.3); }
	.cpp-panel .cpp-panel__handle { display: block !important; grid-area: handle; justify-self: center; width: 44px; height: 5px; border-radius: 3px; background: var(--cpp-line2); }
	.cpp-panel__bar { grid-area: bar; padding: 8px 0 12px; border-bottom: 0; }
	.cpp-panel .cpp-panel__close { display: inline-flex !important; }
	.cpp-panel__ph { grid-area: ph; height: 144px; border-radius: 14px; overflow: hidden; }
	.cpp-panel__tag { display: none; }
	.cpp-panel__head { grid-area: head; align-self: center; padding: 0; }
	.cpp-panel__name { font-size: 28px; }
	.cpp-panel__body { grid-area: body; padding: 16px 0 0; }
	html.cpp-lock, html.cpp-lock body { overflow: hidden; }
	.cpp-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.cpp-flow__card::after { display: none; }
	.cpp-faq__grid, .cpp-pclaims__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.cpp-offices { grid-template-columns: minmax(0, 1fr); }
	.cpp-phero__row { grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; }
	.cpp-pcap { left: -20px; }
	.cpp-band__dl, .cpp-band__dl--4, .cpp-band__dl--3 { grid-template-columns: 1fr 1fr; gap: 24px 32px; }
	.cpp-long__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.cpp-rail { position: sticky; top: var(--cpp-top); z-index: 20; margin: -88px calc(var(--cpp-pad) * -1) 0; padding: 12px var(--cpp-pad); background: var(--cpp-bg); border-bottom: 1px solid var(--cpp-line); }
	.cpp-rail .cpp-mono { display: none; }
	.cpp-rail ul { flex-direction: row; gap: 8px; overflow-x: auto; scrollbar-width: none; }
	.cpp-rail ul::-webkit-scrollbar { display: none; }
	.cpp-rail a { flex: none; padding: 0 14px; border: 1px solid var(--cpp-line); border-radius: 999px; background: var(--cpp-card); font-size: 14px; font-weight: 700; color: var(--cpp-ink); white-space: nowrap; }
	.cpp-rail a[aria-current] { background: var(--cpp-ink); border-color: var(--cpp-ink); color: var(--cpp-bg); }
	.cpp-bio { max-width: none; }
	.cpp-touch { position: static; }
	.cpp-pexplain__cols { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.cpp-pexplain__cols li { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 14px; row-gap: 4px; padding: 18px 0; }
	.cpp-pexplain__n { grid-row: span 2; font-size: 36px; }
	.cpp-more__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ========== Phone ========== */
@media (max-width: 760px) {
	.cpp-show-sm { display: inline; }
	.cpp-hide-sm { display: none; }
	.cpp h2 { font-size: 28px; }
	.cpp-back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14.5px; font-weight: 700; color: var(--cpp-muted); }
	.cpp-hero--navy .cpp-back { color: #AEBBD0; }
	.cpp-crumb { display: none; }
	.cpp-hero--navy { padding: 12px 0 36px; }
	.cpp-hero__row { margin-top: 10px; gap: 18px; }
	.cpp-hero__text { gap: 18px; }
	.cpp-hero h1 { font-size: 36px; line-height: 1.05; }
	.cpp-lead { font-size: 16.5px; }
	.cpp-actions { flex-direction: column; }
	.cpp .cpp-btn, .cpp a.cpp-btn[href^="tel:"] { display: flex !important; width: 100%; min-height: 54px !important; }
	.cpp .cpp-btn--sm, .cpp a.cpp-btn--sm[href^="tel:"] { min-height: 50px !important; }
	.cpp-ticks { flex-direction: column; gap: 8px; }
	.cpp-ticks li { font-size: 14.5px; }
	.cpp-map { max-width: 360px; gap: 8px; }
	.cpp-map__sq { width: calc(100% - 20px); margin: 10px; }
	.cpp-map__face { width: 32px; height: 32px; }
	.cpp-map__face--s1 { width: 40px; height: 40px; }
	.cpp-map__face--s3 { width: 30px; height: 30px; }
	.cpp-map__img { border-width: 2.5px; font-size: 10px; }
	.cpp-map__tag { display: none; }
	.cpp-map__you { width: 72px; height: 72px; font-size: 14px; box-shadow: 0 0 0 7px rgba(246,200,95,0.14); }
	.cpp-map__you span { font-size: 9.5px; }
	.cpp-map__legend { grid-template-columns: minmax(0, 1fr); gap: 8px; padding-top: 12px; font-size: 14px; }
	.cpp-map__legend > span { display: flex; align-items: center; gap: 8px; }
	.cpp-map__legend b { display: inline; font-size: 14px; }
	.cpp-map__key { width: 14px; height: 14px; margin: 0; flex: none; }
	.cpp-subnav { padding: 14px 0; }
	.cpp-subnav .cpp-wrap { padding-right: 0; }
	.cpp-subnav ul { gap: 8px; padding-right: 20px; -webkit-overflow-scrolling: touch; }
	.cpp-subnav a { min-height: 44px; padding: 0 14px; border: 1px solid var(--cpp-line); border-radius: 999px; background: var(--cpp-card); font-size: 14.5px; font-weight: 700; color: var(--cpp-ink); }
	.cpp-subnav a[aria-current] { background: var(--cpp-navy); border-color: var(--cpp-navy); color: #FFFFFF; }
	html[data-ccl-theme="dark"] .cpp-subnav a[aria-current] { background: var(--cpp-blue); border-color: var(--cpp-blue); }
	.cpp-find .cpp-wrap { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 10px; padding-right: 0; }
	.cpp-find .cpp-wrap > * { min-width: 0; }
	.cpp-find__box { width: auto; margin-right: 20px; }
	.cpp-chips { padding-right: 20px; }
	.cpp-dir { padding: 32px 0 44px; }
	.cpp-dir__head { flex-direction: column; align-items: flex-start; gap: 16px; }
	.cpp-dir__intro { gap: 8px; }
	.cpp-dir__sub { font-size: 15.5px; }
	.cpp-dir__tools { width: 100%; justify-content: space-between; }
	.cpp-dir__grid { margin-top: 14px; }
	.cpp-dir__list { gap: 32px; }
	.cpp-group { gap: 14px; }
	.cpp-group__head { font-size: 12.5px; gap: 10px; padding-bottom: 10px; }
	.cpp-group__one { font-size: 13px; }
	.cpp-tiles--tall { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
	.cpp-tile--lead { grid-column: auto; }
	.cpp-tiles__item:has(.cpp-tile--lead) { grid-column: 1 / -1; }
	.cpp-tile--lead { display: grid; grid-template-columns: 132px minmax(0, 1fr); align-items: center; gap: 14px; padding: 12px; border-radius: 16px; background: var(--cpp-navy); color: #FFFFFF; }
	html[data-ccl-theme="dark"] .cpp-tile--lead { background: #16264A; }
	.cpp-tile--lead .cpp-tile__ph { aspect-ratio: auto; height: 150px; border-radius: 12px; }
	.cpp-tile--lead .cpp-tile__lead { display: block; font-family: var(--cpp-mono); font-size: 10.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cpp-gold); }
	.cpp-tile--lead .cpp-tile__name { font-size: 18px; color: #FFFFFF; }
	.cpp-tile--lead .cpp-tile__title { font-size: 13.5px; color: var(--cpp-onnavy); }
	.cpp-tile--lead .cpp-tile__qv { display: inline-flex; grid-column: 2; align-items: center; gap: 6px; margin-top: -6px; font-size: 14px; font-weight: 800; color: var(--cpp-gold); }
	.cpp-tile--lead.is-current .cpp-tile__ph { box-shadow: none; }
	.cpp-tile--lead.is-current .cpp-tile__name, .cpp-tile--lead:hover .cpp-tile__name { color: #FFFFFF; }
	.cpp-tile__badge { display: none !important; }
	/* Paralegals and the practice team as rows */
	.cpp-tiles--sq, .cpp-tiles--row, .cpp-dir__list.is-list .cpp-tiles { grid-template-columns: minmax(0, 1fr); gap: 0; border-bottom: 1px solid var(--cpp-line); }
	.cpp-tiles--sq .cpp-tile, .cpp-tiles--row .cpp-tile, .cpp-dir__list.is-list .cpp-tile:not(.cpp-tile--lead) { display: grid; grid-template-columns: 56px minmax(0, 1fr) 20px; align-items: center; gap: 14px; min-height: 76px; padding: 10px 0; border: 0; border-top: 1px solid var(--cpp-line); border-radius: 0; background: transparent; box-shadow: none !important; }
	.cpp-tiles--sq .cpp-tile__ph, .cpp-tiles--row .cpp-tile__ph, .cpp-dir__list.is-list .cpp-tile:not(.cpp-tile--lead) .cpp-tile__ph { width: 56px; height: 56px; border-radius: 12px; box-shadow: none !important; }
	.cpp-tiles--sq .cpp-tile__name, .cpp-tiles--row .cpp-tile__name, .cpp-dir__list.is-list .cpp-tile__name { font-size: 16px; }
	.cpp-tiles--sq .cpp-tile__title, .cpp-tiles--row .cpp-tile__title, .cpp-dir__list.is-list .cpp-tile__title { font-size: 13.5px; }
	.cpp-tiles--sq .cpp-tile__qv, .cpp-tiles--row .cpp-tile__qv, .cpp-dir__list.is-list .cpp-tile:not(.cpp-tile--lead) .cpp-tile__qv { display: flex; color: var(--cpp-blue-text); }
	.cpp-tiles--sq .cpp-tile__qv > span, .cpp-tiles--row .cpp-tile__qv > span, .cpp-dir__list.is-list .cpp-tile:not(.cpp-tile--lead) .cpp-tile__qv > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.cpp-dir__list.is-list .cpp-tiles__item:has(.cpp-tile--lead) { grid-column: auto; padding: 10px 0; }
	.cpp-panel__card { grid-template-columns: 120px minmax(0, 1fr); }
	.cpp-staff { padding: 44px 0; }
	.cpp-sechead { flex-direction: column; align-items: flex-start; gap: 6px; }
	.cpp-sechead > div { gap: 10px; }
	.cpp-sechead__sub { font-size: 15.5px; }
	.cpp-flow { grid-template-columns: minmax(0, 1fr); gap: 52px; margin-top: 18px; }
	.cpp-flow__card { padding: 20px; gap: 10px; }
	.cpp-flow__card:not(:last-child)::after { display: block; content: ""; left: 50%; right: auto; top: auto; bottom: -45px; width: 36px; height: 36px; margin: 0 0 0 -18px; transform: rotate(90deg); }
	.cpp-flow__card h3 { font-size: 18px; }
	.cpp-flow__card p { font-size: 14.5px; }
	.cpp-faces__img { width: 40px; height: 40px; margin-left: -12px; }
	.cpp-faq { padding: 44px 0; }
	.cpp-faq__grid { gap: 16px; }
	.cpp-faq__head > p:last-child { display: none; }
	.cpp-faq__list summary { min-height: 60px; padding: 14px 0; font-size: 16.5px; gap: 16px; }
	.cpp-faq__list details p { padding: 0 0 18px; font-size: 15.5px; }
	.cpp-contact { padding: 0 0 40px; }
	.cpp-contact__box, .cpp-cta__box { gap: 14px; padding: 28px 22px; border-radius: 20px; }
	.cpp-contact__row { gap: 14px; }
	.cpp .cpp-contact__text h2, .cpp .cpp-cta__text h2 { font-size: 26px; }
	.cpp-contact__text p, .cpp-cta__text p { font-size: 15.5px; }
	.cpp-contact .cpp-actions, .cpp-cta .cpp-actions { flex-wrap: wrap; width: 100%; }
	.cpp-offices li { padding: 12px 0 0; }
	.cpp-careers { flex-direction: column; align-items: flex-start; gap: 4px; margin-top: 32px; padding: 18px 0 0; }
	.cpp-careers p { align-items: flex-start; font-size: 15px; }
	/* Profile */
	.cpp-phero { padding: 12px 0 36px; }
	.cpp-phero__row { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 4px; }
	.cpp-phero__text { display: contents; }
	.cpp-ptag { order: 1; padding: 6px 10px; }
	.cpp-ptag span { font-size: 10.5px; }
	.cpp-phero h1 { order: 2; font-size: 46px; }
	.cpp-ptitle { order: 3; font-size: 13px; }
	.cpp-pphoto, .cpp-pphoto--sm { order: 4; max-width: none; margin-top: 4px; }
	.cpp-pphoto__img { aspect-ratio: 350 / 380; border-radius: 22px; }
	.cpp-pcap { position: relative; left: auto; bottom: auto; max-width: none; margin: -46px 14px 0; padding: 14px 16px; border-radius: 14px; }
	.cpp-pcap .cpp-mono { font-size: 10.5px; }
	.cpp-pcap__line { font-size: 14.5px; }
	.cpp-pintro { order: 5; margin-top: 6px; font-size: 20px; line-height: 1.5; }
	.cpp-phero .cpp-actions { order: 6; margin-top: 0; }
	.cpp-pnote { order: 7; }
	.cpp-band { padding: 26px 0; }
	.cpp-band__dl, .cpp-band__dl--4, .cpp-band__dl--3, .cpp-band__dl--2 { grid-template-columns: 1fr 1fr; gap: 20px 18px; }
	.cpp-band__dl dt { font-size: 10.5px; }
	.cpp-band__dl dd { font-size: 15px; line-height: 1.45; }
	.cpp-band__dl > div:only-child, .cpp-band__dl--3 > div:first-child { grid-column: 1 / -1; }
	.cpp-long { padding: 36px 0 40px; }
	.cpp-long__grid { gap: 36px; }
	.cpp-rail { margin: -36px -20px 0; padding: 12px 0 12px 20px; }
	.cpp-rail ul { padding-right: 20px; }
	.cpp-bio { gap: 36px; }
	.cpp-bio__sec { gap: 14px; }
	.cpp .cpp-bio__h { font-size: 11px; }
	.cpp-bio__p, .cpp-bio__content p { font-size: 18px; line-height: 1.72; }
	.cpp-bio__p--drop::first-letter { margin: 6px 10px 0 0; font-size: 62px; }
	.cpp-pull { padding: 4px 0 4px 18px; font-size: 23px; line-height: 1.35; }
	.cpp-num li { grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding: 14px 0; }
	.cpp-num b { font-size: 19px; }
	.cpp-num li > span:last-child > span { font-size: 14.5px; }
	.cpp-ledger > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
	.cpp-touch { padding: 24px 20px; }
	.cpp .cpp-touch h2 { font-size: 22px; }
	.cpp-pclaims { padding: 40px 0; }
	.cpp-pclaims__grid { gap: 14px; }
	.cpp .cpp-pclaims__head h2, .cpp .cpp-pexplain h2 { font-size: 32px; }
	.cpp-pclaims__head p:last-child { font-size: 15px; }
	.cpp-pclaims__list { grid-template-columns: minmax(0, 1fr); }
	.cpp-pclaims__list a { grid-template-columns: 46px minmax(0, 1fr) 20px; gap: 14px; min-height: 76px; padding: 8px 0; }
	.cpp-pclaims__ic { width: 46px; height: 46px; }
	.cpp-pclaims__list b { font-size: 20px; }
	.cpp-pclaims__list a > span:nth-child(2) > span { font-size: 13.5px; }
	.cpp-pexplain { padding: 40px 0 8px; }
	.cpp .cpp-pexplain h2 { font-size: 30px; }
	.cpp .cpp-pexplain__cols h3 { font-size: 20px; }
	.cpp-pexplain__cols p { font-size: 14.5px; }
	.cpp-more { padding: 40px 0; }
	.cpp .cpp-rule h2 { font-size: 12.5px; }
	.cpp-rule .cpp-link { display: none !important; }
	.cpp-more__grid { gap: 18px 12px; margin-top: 16px; }
	.cpp-more__ph { aspect-ratio: 165 / 196; border-radius: 16px; }
	.cpp-more__grid .cpp-mono { font-size: 10px; }
	.cpp-more__name { font-size: 19px; }
	.cpp-cta { padding: 0 0 40px; }
}
@media (prefers-reduced-motion: reduce) {
	.cpp-tile__img, .cpp-more__img, .cpp-map__tag, .cpp-faq__list summary .cpp-ic { transition: none; }
}

@media (min-width:1024px){.cpp-rail li{min-width:0;}}
