/* Native-size product demonstration, not a miniature desktop screenshot. */
.public-shell .cp-owner-home { background:#fff; }
.public-shell .cp-owner-home .cp-container { width:min(1200px,calc(100% - 80px)); }
.public-shell .cp-owner-home .cp-hero { padding:112px 0 64px; background:#fff; overflow:hidden; }
.public-shell .cp-owner-home .cp-hero::after { display:none; }
.public-shell .cp-owner-opening { display:block; }
.public-shell .cp-owner-home .cp-hero-copy { max-width:1000px; margin:auto; text-align:center; }
.public-shell .cp-owner-kicker { margin:0 0 24px; color:#505b54; font:500 15px/1.5 Inter,sans-serif; }
.public-shell .cp-owner-home .cp-hero-copy .cp-display { max-width:1000px; margin:0 auto; font:400 clamp(48px,6vw,84px)/1.04 Fraunces,Georgia,serif; font-optical-sizing:auto; letter-spacing:-.025em; text-wrap:balance; }
.public-shell .cp-owner-home .cp-hero-copy .cp-lede { max-width:660px; margin:26px auto 0; color:#505b54; font:400 20px/1.55 Inter,sans-serif; }
.public-shell .cp-owner-report-entry { display:flex; gap:8px; width:min(720px,100%); margin:32px auto 0; padding:7px; border:1px solid #bdc8bf; border-radius:999px; background:#fff; box-shadow:0 8px 30px #153a2412,0 0 0 5px #e5f3e780; }
.public-shell .cp-owner-home .cp-owner-report-prompt { flex:1; min-width:0; min-height:56px; width:260px; padding:14px 22px; border:0; border-radius:999px; background:#fff; font:400 16px/1.4 Inter,sans-serif; color:#1b1f1d; }
.public-shell .cp-owner-report-prompt:focus-visible { outline:3px solid #1f7a4f; outline-offset:3px; }
.public-shell .cp-owner-report-entry .cp-button { flex-shrink:0; min-height:56px; padding-inline:24px; border-radius:999px; font-size:16px; }
.public-shell .cp-owner-entry-note { margin:16px 0 0; color:#505b54; font:400 14px/1.5 Inter,sans-serif; }
.public-shell .cp-desktop-tour { position:relative; min-width:0; margin:40px auto 0; padding:0; }
.public-shell .cp-desktop-backdrop { display:block; position:absolute; top:72px; bottom:-44px; left:-24px; right:-24px; border-radius:32px; background:radial-gradient(ellipse at 50% 0,#edf8df 0,#b2dfaf 42%,#388c5e 100%); }
.public-shell .cp-desktop-backdrop > span,.public-shell .cp-desktop-chin,.public-shell .cp-desktop-stand { display:none; }
.public-shell .cp-desktop-device { position:relative; z-index:1; width:min(1120px,100%); margin:auto; filter:none; }
.public-shell .cp-desktop-display { overflow:hidden; border:8px solid #25352a; border-radius:22px; background:#fff; box-shadow:0 30px 75px -20px #0f3f2e55; }
.public-shell .cp-desktop-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:44px; padding:10px 24px; background:#f6f5f1; border-bottom:1px solid #dfe5df; color:#505b54; font-size:14px; }
.public-shell .cp-desktop-lights { display:flex; gap:6px; }
.public-shell .cp-desktop-lights i { width:9px; height:9px; background:#c4cfc6; border-radius:50%; }
.public-shell .cp-desktop-app { display:grid; grid-template-columns:220px minmax(0,1fr); height:520px; color:#1b1f1d; text-align:left; }
.public-shell .cp-desktop-sidebar { display:flex; flex-direction:column; gap:26px; min-width:0; padding:28px 18px; border-right:1px solid #dfe5df; background:#f6f8f5; }
.public-shell .cp-desktop-logo { display:flex; align-items:center; gap:9px; font:600 23px/1.2 Fraunces,serif; }
.public-shell .cp-desktop-logo img { width:28px; height:28px; }
.public-shell .cp-desktop-practice { display:flex; align-items:center; gap:10px; padding-bottom:20px; border-bottom:1px solid #dfe5df; }
.public-shell .cp-desktop-practice > span { display:grid; place-items:center; flex:0 0 38px; height:38px; border-radius:10px; background:#e9f3ec; font-size:14px; font-weight:600; }
.public-shell .cp-desktop-practice strong,.public-shell .cp-desktop-practice small { display:block; font-size:14px; line-height:1.5; }
.public-shell .cp-desktop-practice small { color:#505b54; }
.public-shell .cp-desktop-tabs { display:grid; gap:8px; }
.public-shell .cp-desktop-tabs button { display:flex; align-items:center; gap:12px; min-height:44px; padding:10px; border:0; border-radius:8px; background:transparent; color:#505b54; text-align:left; font:500 15px/1.4 Inter,sans-serif; cursor:pointer; }
.public-shell .cp-desktop-tabs button > span { width:20px; font-size:20px; }
.public-shell .cp-desktop-tabs button[aria-selected="true"] { background:#e2eee5; color:#0f3f2e; }
.public-shell .cp-desktop-tabs button:focus-visible,.public-shell .cp-tour-control button:focus-visible { outline:3px solid #1f7a4f; outline-offset:3px; }
.public-shell .cp-desktop-sidebar-note { margin-top:auto; color:#505b54; font:400 16px/1.5 Fraunces,serif; }
.public-shell .cp-desktop-workspace { min-width:0; min-height:0; overflow-y:auto; scrollbar-width:thin; padding:32px 40px; background:#fff; }
.public-shell .cp-desktop-page[hidden] { display:none !important; }
.public-shell .cp-desktop-page { animation:cp-screen-enter .35s ease-out; }
@keyframes cp-screen-enter { from { opacity:.5; transform:translateY(6px); } to { opacity:1; transform:none; } }
.public-shell .cp-desktop-page-top { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:20px; color:#505b54; font-size:14px; }
.public-shell .cp-desktop-tour-label { color:#1f7a4f; font-size:14px; }
.public-shell .cp-desktop-page h2 { margin:0; font:400 clamp(30px,3vw,42px)/1.1 Fraunces,serif; letter-spacing:-.02em; }
.public-shell .cp-desktop-page > p { margin:12px 0 24px; color:#505b54; font-size:16px; line-height:1.6; }
.public-shell .cp-desktop-page > small { display:block; margin-top:16px; color:#505b54; font-size:14px; line-height:1.6; }
.public-shell .cp-desktop-evidence { display:grid; }
.public-shell .cp-desktop-evidence article { display:flex; align-items:center; gap:14px; padding:16px 0; border-top:1px solid #dfe5df; }
.public-shell .cp-desktop-source-icon { display:grid; place-items:center; flex:0 0 40px; height:40px; border-radius:10px; background:#e9f3ec; color:#1f7a4f; font-size:22px; }
.public-shell .cp-desktop-evidence strong { display:block; font-size:16px; font-weight:600; }
.public-shell .cp-desktop-evidence div > span { display:block; margin-top:4px; color:#505b54; font-size:14px; }
.public-shell .cp-desktop-pill { margin-left:auto; padding:6px 10px; border-radius:6px; background:#e9f3ec; color:#0f3f2e; font-size:14px; white-space:nowrap; }
.public-shell .cp-desktop-pill--amber { background:#f6f5f1; color:#505b54; }
.public-shell .cp-desktop-next { padding:20px; margin-top:18px; border-radius:10px; background:#e9f3ec; }
.public-shell .cp-desktop-next > span:first-child,.public-shell .cp-desktop-next-link { color:#1f7a4f; font-size:14px; }
.public-shell .cp-desktop-next strong { display:block; margin-top:8px; font-size:18px; font-weight:600; }
.public-shell .cp-desktop-next p { margin:8px 0 14px; color:#505b54; font-size:15px; line-height:1.5; }
.public-shell .cp-tour-control { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:20px; width:min(1120px,100%); margin:22px auto 0; color:#fff; font-size:14px; line-height:1.6; }
.public-shell .cp-tour-control button { min-height:44px; padding:10px 14px; border:1px solid #c8d4cb; border-radius:10px; background:#fff; color:#1b1f1d; font-size:14px; white-space:nowrap; cursor:pointer; }
.public-shell .cp-desktop-map { position:relative; overflow:hidden; height:235px; margin-top:12px; border-radius:10px; background:#e9f3ec; }
.public-shell .cp-desktop-map svg { width:100%; height:100%; }
.public-shell .cp-desktop-map-pin { position:absolute; padding:10px 12px; border-radius:6px; background:#fff; color:#1b1f1d; box-shadow:0 3px 8px #0f3f2e20; font-size:14px; }
.public-shell .cp-desktop-map-pin--own { top:45%; left:38%; background:#0f3f2e; color:#fff; }
.public-shell .cp-desktop-map-pin--a { top:15%; left:10%; }
.public-shell .cp-desktop-map-pin--b { top:72%; right:4%; }
.public-shell .cp-desktop-map-area { position:absolute; bottom:10px; left:12px; color:#505b54; font-size:14px; }
.public-shell .cp-desktop-comparison { display:flex; flex-wrap:wrap; gap:16px; padding-top:20px; color:#505b54; font-size:14px; }
.public-shell .cp-desktop-review { padding:20px; border:1px solid #dfe5df; border-radius:10px; }
.public-shell .cp-desktop-review-person { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.public-shell .cp-desktop-review-person img { width:48px; height:48px; border-radius:50%; object-fit:cover; }
.public-shell .cp-desktop-review-person strong { display:block; font-size:16px; }
.public-shell .cp-desktop-review-person div > span { display:block; margin-top:4px; color:#505b54; font-size:14px; }
.public-shell .cp-desktop-review-stars { margin-left:auto; color:#ae7900; font-size:18px; }
.public-shell .cp-desktop-review p { margin:16px 0 0; font-size:16px; line-height:1.6; }
.public-shell .cp-desktop-reply { margin-top:16px; padding:20px; border-left:3px solid #5b4bc4; background:#f6f5f1; }
.public-shell .cp-desktop-reply > span { color:#5b4bc4; font-size:14px; }
.public-shell .cp-desktop-reply p { margin:12px 0; font-size:16px; line-height:1.6; }
.public-shell .cp-desktop-reply > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; color:#505b54; font-size:14px; }
.public-shell .cp-desktop-chat-question { max-width:90%; margin-left:auto; padding:18px; border-radius:10px 10px 0 10px; background:#e9f3ec; font-size:16px; line-height:1.6; }
.public-shell .cp-desktop-chat-answer { display:flex; align-items:center; gap:14px; margin:20px 0; font-size:16px; line-height:1.6; }
.public-shell .cp-desktop-chat-answer > span { color:#5b4bc4; font-size:28px; }
.public-shell .cp-desktop-chat-answer p { margin:0; }
.public-shell .cp-desktop-draft { padding:20px; border:1px solid #dfe5df; border-radius:10px; }
.public-shell .cp-desktop-draft > span,.public-shell .cp-desktop-draft > div { color:#505b54; font-size:14px; }
.public-shell .cp-desktop-draft h3 { margin:12px 0; font:400 32px/1.1 Fraunces,serif; }
.public-shell .cp-desktop-draft p { margin:0; font-size:16px; line-height:1.6; }
.public-shell .cp-desktop-draft > div { display:flex; flex-wrap:wrap; gap:16px; margin-top:20px; }
.public-shell .cp-desktop-project { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding:20px 0; border-top:1px solid #dfe5df; }
.public-shell .cp-desktop-project-icon { font-size:24px; color:#1f7a4f; }
.public-shell .cp-desktop-project strong { display:block; font-size:16px; }
.public-shell .cp-desktop-project p { margin:6px 0 0; color:#505b54; font-size:14px; }
.public-shell .cp-desktop-message { margin-top:12px; padding:20px; border-radius:10px; background:#e9f3ec; }
.public-shell .cp-desktop-message > span,.public-shell .cp-desktop-message strong { font-size:14px; color:#505b54; }
.public-shell .cp-desktop-message p { margin:10px 0; font-size:16px; line-height:1.6; }
.public-shell .cp-practice-people { padding:100px 0; background:#f6f5f1; }
.public-shell .cp-people-heading { display:flex; align-items:end; justify-content:space-between; gap:48px; margin-bottom:40px; }
.public-shell .cp-people-heading h2 { margin:0; font:400 clamp(34px,4vw,56px)/1.08 Fraunces,serif; letter-spacing:-.02em; }
.public-shell .cp-people-heading > p { max-width:32ch; margin:0; color:#505b54; font-size:18px; line-height:1.65; }
.public-shell .cp-people-track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.public-shell .cp-owner-home a.cp-person-card { position:relative; display:block !important; min-width:0; overflow:hidden; border:0; border-radius:10px; background:#1b1f1d; color:#fff; text-decoration:none; }
.public-shell .cp-person-photo { height:340px; background-image:url('/static/images/editorial/independent-practices-20261002-v1.jpg'); background-size:400% auto; background-repeat:no-repeat; transition:transform .3s ease; }
.public-shell .cp-person-photo--one { background-position:0 18%; }
.public-shell .cp-person-photo--two { background-position:33.333% 18%; }
.public-shell .cp-person-photo--three { background-position:66.667% 18%; }
.public-shell .cp-person-photo--four { background-position:100% 18%; }
.public-shell .cp-person-card > div:last-child { position:absolute; inset:auto 0 0; display:flex; align-items:end; justify-content:space-between; gap:14px; min-height:100px; padding:36px 20px 20px; background:linear-gradient(transparent,#17201bd9); font-size:15px; line-height:1.5; font-weight:500; }
.public-shell .cp-person-arrow { font-size:24px; }
.public-shell .cp-person-card:hover .cp-person-photo { transform:scale(1.035); }
.public-shell .cp-person-card:focus-visible { outline:3px solid #1f7a4f; outline-offset:4px; }
.public-shell .cp-people-after { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-top:28px; font-size:16px; }
.public-shell .cp-people-after p { margin:0; }
.public-shell .cp-specialty-boundary { display:block; margin-top:16px; color:#505b54; font-size:14px; line-height:1.6; }
@media(max-width:1024px) {
 .public-shell .cp-owner-home .cp-container { width:calc(100% - 64px); }
 .public-shell .cp-desktop-app { grid-template-columns:190px minmax(0,1fr); }
 .public-shell .cp-desktop-workspace { padding:28px; }
 .public-shell .cp-desktop-pill { white-space:normal; }
 .public-shell .cp-people-heading { display:block; }
 .public-shell .cp-people-heading > p { max-width:56ch; margin-top:24px; }
 .public-shell .cp-people-track { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
 .public-shell .cp-person-photo { height:400px; }
}
@media(max-width:700px) {
 .public-shell .cp-owner-home .cp-container { width:calc(100% - 40px); }
 .public-shell .cp-owner-home .cp-hero { padding:120px 0 72px; }
 .public-shell .cp-owner-home .cp-hero-copy .cp-display { font-size:clamp(40px,9vw,60px); }
 .public-shell .cp-owner-kicker { font-size:14px; }
 .public-shell .cp-owner-home .cp-hero-copy .cp-lede { font-size:18px; }
 .public-shell .cp-owner-home .cp-hero-copy .cp-lede br { display:none; }
 .public-shell .cp-owner-report-entry { flex-direction:column; max-width:440px; border-radius:20px; }
 .public-shell .cp-owner-home .cp-owner-report-prompt { width:100%; flex:auto; }
 .public-shell .cp-owner-report-entry .cp-button { justify-content:center; }
 .public-shell .cp-desktop-tour { margin-top:36px; }
 .public-shell .cp-desktop-backdrop { left:-12px; right:-12px; border-radius:24px; bottom:-28px; }
 .public-shell .cp-desktop-display { border-width:5px; border-radius:16px; }
 .public-shell .cp-desktop-toolbar { padding-inline:16px; }
 .public-shell .cp-desktop-lights,.public-shell .cp-desktop-lock { display:none; }
 .public-shell .cp-desktop-app { display:flex; flex-direction:column; height:580px; }
 .public-shell .cp-desktop-sidebar { display:block; padding:0; border:0; border-bottom:1px solid #dfe5df; }
 .public-shell .cp-desktop-logo,.public-shell .cp-desktop-practice,.public-shell .cp-desktop-sidebar-note { display:none; }
 .public-shell .cp-desktop-tabs { display:flex; gap:0; overflow-x:auto; scroll-snap-type:x mandatory; }
 .public-shell .cp-desktop-tabs button { flex:0 0 auto; padding:14px 16px; border-radius:0; font-size:14px; scroll-snap-align:start; white-space:nowrap; }
 .public-shell .cp-desktop-tabs button > span { display:none; }
 .public-shell .cp-desktop-workspace { padding:24px 20px; }
 .public-shell .cp-desktop-page-top { margin-bottom:16px; }
 .public-shell .cp-desktop-page-top > span:first-child { display:none; }
 .public-shell .cp-desktop-page h2 { font-size:32px; }
 .public-shell .cp-desktop-evidence .cp-desktop-pill { display:none; }
 .public-shell .cp-desktop-review-stars { margin-left:60px; }
 .public-shell .cp-desktop-project .cp-desktop-pill { margin-left:36px; }
 .public-shell .cp-tour-control { align-items:start; }
 .public-shell .cp-tour-control > span { max-width:60%; }
 .public-shell .cp-practice-people { padding:72px 0; }
 .public-shell .cp-people-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; padding:4px 4px 16px; margin-inline:-4px; }
 .public-shell .cp-person-card { flex:0 0 80%; scroll-snap-align:start; }
 .public-shell .cp-person-photo { height:380px; }
}
@media(prefers-reduced-motion:reduce) {
 .public-shell .cp-desktop-page { animation:none; }
 .public-shell .cp-person-photo { transition:none; }
}
