/* Scoped component mechanics. Visual values reuse the current CPA Kit and roles. */
.elementor-widget-cpa-biography-card{height:100%;min-width:0}
.elementor [data-cpa-biography-grid].cpa-ui-biography-grid-ready{grid-auto-rows:1fr;grid-template-rows:none}
.cpa-ui-bio-card{height:100%;min-width:0;position:relative;perspective:1000px;color:var(--cpa-ink);background:var(--cpa-white);font-family:var(--cpa-sans),sans-serif;font-size:var(--cpa-body);line-height:1.6}
.cpa-ui-bio-card [hidden]{display:none!important}
.cpa-ui-bio-front{height:100%;backface-visibility:hidden;transform-origin:center}
.cpa-ui-bio-portrait{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.cpa-ui-bio-copy{display:flex;flex-direction:column;gap:var(--cpa-space-sm);padding:var(--cpa-space-md);padding-bottom:calc(var(--cpa-space-xl) + var(--cpa-space-md))}
.cpa-ui-bio-card .cpa-ui-bio-name,.cpa-ui-bio-placeholder{font-family:Georgia,serif;font-size:1.55rem;font-weight:700;line-height:1.12;color:var(--cpa-navy)}
.cpa-ui-bio-card .cpa-ui-bio-name{letter-spacing:-.025em;margin:0}
.cpa-ui-bio-card .cpa-ui-bio-office{font-size:var(--cpa-small);margin:0}
.cpa-ui-bio-copy p{margin:0}
.cpa-ui-bio-back{padding:var(--cpa-space-md);overflow-wrap:anywhere;scroll-margin-top:8rem;backface-visibility:hidden;transform-origin:center}
.cpa-ui-bio-prose p{margin:var(--cpa-space-sm) 0}
.cpa-ui-bio-back .cpa-ui-bio-office{margin:var(--cpa-space-compact) 0 var(--cpa-space-md)}
.cpa-ui-bio-card button{font:600 var(--cpa-small)/1.5 var(--cpa-sans),sans-serif;color:var(--cpa-teal-ink);background:transparent;border:0;border-radius:0;padding:10px 0;text-decoration:underline;cursor:pointer;text-align:left;min-height:44px}
.cpa-ui-bio-card .cpa-ui-bio-read{position:absolute;right:0;bottom:0;z-index:1;padding:10px 14px 10px 20px;background:var(--cpa-teal);color:var(--cpa-white);border-radius:var(--cpa-radius) 0 var(--cpa-radius) 0;text-decoration:none}
.cpa-ui-bio-read:before{content:"";position:absolute;left:calc(-1 * var(--cpa-space-compact));top:0;width:0;height:0;border-left:var(--cpa-space-compact) solid transparent;border-bottom:44px solid var(--cpa-teal);pointer-events:none}
/* Beat the theme's type-button hover/focus fill without changing Read controls. */
.cpa-ui-bio-card button.cpa-ui-bio-return,
.cpa-ui-bio-card button.cpa-ui-bio-return:hover,
.cpa-ui-bio-card button.cpa-ui-bio-return:focus,
.cpa-ui-bio-card button.cpa-ui-bio-return:active{display:block;background:transparent;color:var(--cpa-teal-ink);border:0;box-shadow:none;text-decoration:underline}
.cpa-ui-bio-back .cpa-ui-bio-return:first-child{margin:0 0 var(--cpa-space-sm)}
.cpa-ui-bio-back .cpa-ui-bio-return:last-child{margin-top:var(--cpa-space-md)}
.cpa-ui-bio-card.cpa-ui-bio-ready{cursor:pointer}
.cpa-ui-bio-ready[data-face=bio] .cpa-ui-bio-front{visibility:hidden;pointer-events:none}
.cpa-ui-bio-ready .cpa-ui-bio-back{position:absolute;inset:0 0 var(--cpa-space-lg);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}
.cpa-ui-bio-cue{position:absolute;bottom:0;left:0;right:0;height:var(--cpa-space-lg);padding:4px var(--cpa-space-compact);background:var(--cpa-white);color:var(--cpa-teal-ink);font-size:var(--cpa-small);line-height:var(--cpa-space-md);text-align:center;pointer-events:none}
.cpa-ui-bio-card button:focus-visible,.cpa-ui-bio-back:focus-visible{outline:3px solid var(--cpa-teal-ink);outline-offset:-3px}
.cpa-ui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.cpa-ui-bio-front,.cpa-ui-bio-back{animation:none!important;transition:none!important}}

/* Optional sourced portrait/recognition controls; existing Board defaults stay unchanged. */
.cpa-ui-bio-card .cpa-ui-bio-name a{color:inherit;text-decoration:underline}
.cpa-ui-bio-card .cpa-ui-bio-reporting a{color:var(--cpa-teal-ink)}
.cpa-ui-bio-card a:focus-visible{outline:3px solid var(--cpa-teal-ink);outline-offset:-3px}
.cpa-ui-bio-placeholder{display:flex;width:100%;aspect-ratio:1;align-items:center;justify-content:center;text-align:center;padding:var(--cpa-space-md);box-sizing:border-box;background:var(--cpa-panel);overflow-wrap:anywhere}
.cpa-ui-bio-card[data-portrait-layout="contained-320"] .cpa-ui-bio-portrait,.cpa-ui-bio-card[data-portrait-layout="contained-320"] .cpa-ui-bio-placeholder{height:320px;aspect-ratio:auto;object-fit:contain;background:var(--cpa-panel)}
.cpa-ui-bio-card[data-label-kind="year"] .cpa-ui-bio-office{color:var(--cpa-rust);font-weight:700}
/* Opt-in source-scaled crop. Wide cards keep panel gutters instead of stretching portraits. */
.cpa-ui-bio-card[data-portrait-layout="focal-320"] .cpa-ui-bio-portrait-frame{position:relative;width:100%;height:320px;overflow:hidden;background:var(--cpa-panel)}
.cpa-ui-bio-card[data-portrait-layout="focal-320"] .cpa-ui-bio-portrait-frame .cpa-ui-bio-portrait{position:absolute;left:50%;top:50%;width:var(--cpa-bio-portrait-width);max-width:none;height:var(--cpa-bio-portrait-height,320px);aspect-ratio:auto;object-fit:contain;transform:translate(calc(0% - var(--cpa-bio-portrait-x,50%)),calc(0% - var(--cpa-bio-portrait-y,50%)))}
.cpa-ui-bio-card[data-portrait-layout="focal-320"] .cpa-ui-bio-placeholder{height:320px;aspect-ratio:auto}
/* Filled portrait mode: responsive 4:5 frame, cover-relative scale and position. */
.cpa-ui-bio-card[data-portrait-layout="filled-cover-portrait"] .cpa-ui-bio-cover-frame{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--cpa-panel)}
.cpa-ui-bio-card[data-portrait-layout="filled-cover-portrait"] .cpa-ui-bio-cover-frame .cpa-ui-bio-portrait{position:absolute;inset:0;width:100%;max-width:none;height:100%;aspect-ratio:auto;object-fit:cover;object-position:var(--cpa-bio-cover-x,50%) var(--cpa-bio-cover-y,50%);transform:scale(var(--cpa-bio-cover-scale,1));transform-origin:var(--cpa-bio-cover-x,50%) var(--cpa-bio-cover-y,50%)}
.cpa-ui-bio-card[data-portrait-layout="filled-cover-portrait"] .cpa-ui-bio-placeholder{height:auto;aspect-ratio:4/5}

/* Opt-in compact front spacing; portrait geometry and biography scroll stay intact. */
.cpa-ui-bio-card[data-portrait-layout="filled-cover-portrait"][data-card-spacing="compact"] .cpa-ui-bio-copy{padding-bottom:calc(44px + var(--cpa-space-compact))}
