/* CP Law Lawyers: scoped structure and interaction. Elementor's CP Law controls
   override these defaults; page layout and profile typography live in templates. */
.cp-directory{color:#181818;font:17px/1.75 'DM Sans',Arial,sans-serif}
.cp-directory *, .cp-directory *::before, .cp-directory *::after{box-sizing:border-box}
.cp-directory [hidden]{display:none!important}
.cp-directory a{color:inherit;text-decoration:none}
.cp-toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border-block:1px solid #dfe4e1;padding:24px 0;margin-bottom:36px}
.cp-search{display:block;flex:1;min-width:220px;margin:0}
.cp-search input[type=search]{box-sizing:border-box;width:100%;margin:0;padding:13px 16px;border:1px solid #dfe4e1;border-radius:12px;background:#f5f5f5;color:#181818;box-shadow:none;font:400 14px/1.75 'Plus Jakarta Sans',Arial,sans-serif}
.cp-search input::placeholder{color:#5d6663;opacity:1}
.cp-filters{display:flex;gap:5px;flex-wrap:wrap}
.cp-filters button,.cp-empty button{margin:0;padding:13px 17px;border:1px solid transparent;border-radius:30px;background:transparent;color:#181818;box-shadow:none;font:500 13px/normal 'Plus Jakarta Sans',Arial,sans-serif;text-transform:none;letter-spacing:normal;cursor:pointer}
.cp-filters button[aria-pressed=true],.cp-empty button{background:#06635c;color:#fff}
.cp-filters button:hover{border-color:#06635c}
.cp-directory .cp-result-count{margin:0 0 23px;font-size:13px;color:#5d6663}
.cp-people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}
.cp-person{min-width:0}
.cp-person>a{display:block}
.cp-portrait,.cp-profile-portrait{position:relative;aspect-ratio:1/1.03;border-radius:24px;overflow:hidden;background:#edf2ef}
.cp-portrait img,.cp-profile-portrait img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:50% var(--cp-photo-y,25%);transition:transform .45s}
.cp-person>a:hover .cp-portrait img,.cp-person>a:focus-visible .cp-portrait img{transform:scale(1.035)}
.cp-portrait-placeholder{position:relative;isolation:isolate;display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:linear-gradient(135deg,#e5ece8,#f3f5f2);color:#466f64;font:400 68px/1 'Plus Jakarta Sans',Arial,sans-serif}
.cp-portrait-placeholder::before,.cp-portrait-placeholder::after{content:'';position:absolute;z-index:-1;width:75%;height:75%;border:1px solid #c6d7cf;border-radius:50%}
.cp-portrait-placeholder::before{left:-26%;top:40%}.cp-portrait-placeholder::after{right:-22%;top:-18%}
.cp-person-meta{position:relative;padding:20px 1px 0}
.cp-person-role{margin:0 0 9px;color:#06635c;font:600 10px/1.5 'Plus Jakarta Sans',Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.cp-person-name{padding:0 22px 0 0;margin:0;color:#181818;font:500 22px/1.3 'Plus Jakarta Sans',Arial,sans-serif;letter-spacing:-.035em;overflow-wrap:anywhere}
.cp-person-arrow{position:absolute;right:1px;bottom:0;color:#06635c;font-size:24px;line-height:1.3}
.cp-empty{padding:60px 25px;background:#f5f5f5;border-radius:24px;text-align:center}
.cp-empty h3{margin:0 0 12px;font:500 26px/1.3 'Plus Jakarta Sans',Arial,sans-serif}.cp-empty p{margin-bottom:20px}
.cp-directory :is(a,button,input):focus-visible,.cplaw-profile a:focus-visible{outline:3px solid #b48836;outline-offset:4px}
.cp-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cplaw-profile .e-con,.cplaw-lawyers .e-con{min-width:0}
.cplaw-profile .cp-field-text{margin:0;padding:0}
.cplaw-profile .cp-field-link{display:inline-flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;max-width:100%;overflow-wrap:anywhere}
.cplaw-profile .cp-field-link{box-sizing:border-box}
.cplaw-profile .cp-field-label{min-width:0}
.cplaw-profile .cp-field-link .cp-arrow-icon{font-size:24px}
.cplaw-profile .cp-profile-portrait{aspect-ratio:1/1.09}
.cplaw-profile .cp-facts{margin:0;font:400 13px/1.75 'DM Sans',Arial,sans-serif}
.cplaw-profile .cp-facts dt{margin:22px 0 7px;font:600 10px/1.5 'Plus Jakarta Sans',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#06635c}
.cplaw-profile .cp-facts dt:first-child{margin-top:0}
.cplaw-profile .cp-facts dd{margin:0}.cplaw-profile .cp-facts ul{margin:0;padding:0;list-style:none}.cplaw-profile .cp-facts li+li{margin-top:8px}
.cplaw-profile .cp-cv-section{scroll-margin-top:35px}
.cplaw-profile .cp-cv-list ul{list-style:none;padding:0;margin:0}
.cplaw-profile .cp-cv-list li{position:relative;padding-left:20px;margin-bottom:12px}
.cplaw-profile .cp-cv-list li::before{content:'–';position:absolute;left:0;color:#06635c}
.cplaw-profile .cp-profile-next{display:block;text-decoration:none;overflow-wrap:anywhere}
.cplaw-profile .cp-profile-next small{display:block;font-size:11px;color:#5d6663;margin-bottom:5px;text-transform:uppercase;letter-spacing:.1em}
.cplaw-profile .cp-profile-next strong{font-weight:500}
.cplaw-profile .cp-diagonal .elementor-button-icon{transform:rotate(-45deg)}
@media(max-width:1024px){.cp-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 22px}}
@media(max-width:767px){.cp-toolbar{gap:14px;padding:18px 0}.cp-search{flex-basis:100%}.cp-filters{gap:0}.cp-filters button{padding:11px 12px;font-size:12px}.cp-people-grid{gap:28px 16px}.cp-portrait{border-radius:18px}.cp-person-name{font-size:17px}.cp-person-role{font-size:9px;letter-spacing:.04em;min-height:14px}.cp-person-arrow{font-size:19px}}
@media(prefers-reduced-motion:reduce){.cp-portrait img,.cp-profile-portrait img{transition:none}.cp-person>a:hover .cp-portrait img,.cp-person>a:focus-visible .cp-portrait img{transform:none}}

/* SVG geometry is independent of Apple/Android emoji fonts. */
.cp-directory .cp-arrow-icon,.cplaw-profile .cp-arrow-icon{display:inline-block;width:1em;height:1em;min-width:1em;flex:0 0 auto;vertical-align:middle;fill:none;stroke:currentColor}
.cplaw-profile .cp-profile-next small{display:flex;align-items:center;gap:6px}
.cplaw-profile .cp-profile-next--next small{justify-content:flex-end}

/* Native Text Editor controls set gaps between paragraphs; omit the final gap. */
.cplaw-profile .cp-cv-section .elementor-widget-text-editor p:last-child { margin-block-end:0; }
