/* Practitioner CV and certificate gallery. Scoped to the new profile sections. */
.rsa-profile{align-items:start;gap:clamp(24px,4vw,56px)}
.rsa-profile>figure{margin:0;min-width:0}
.rsa-profile .profile-copy{min-width:0}
.rsa-profile .profile-bio{font-size:max(.75rem,clamp(1rem,1.3vw,1.18rem));line-height:1.9}
.cv-stats{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.cv-stat{background:#edf6f3;border:1px solid #cde2dc;border-radius:12px;padding:12px 18px;display:grid;gap:3px;min-width:135px}
.cv-stat strong{color:#087b7e;font-size:max(.75rem,1.65rem);line-height:1.2}
.cv-stat span{font-size:max(.75rem,.82rem);color:#385c62}
.cv-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.cv-jumps a{padding:9px 14px;background:#fff;border:1px solid #b8d2cf;border-radius:30px;font-size:max(.75rem,.85rem);text-decoration:none;color:#075b65}
.cv-jumps a:hover{background:#edf6f3}
.cv-section{scroll-margin-top:90px;margin-top:42px;min-width:0}
.cv-section h2{font-size:max(.75rem,clamp(1.45rem,2.2vw,2rem));line-height:1.5;margin:8px 0 16px}
.cv-timeline{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:cv}
.cv-timeline li{counter-increment:cv;border:1px solid #d6e5df;border-radius:16px;background:#f7faf8;padding:24px;line-height:1.9;color:#294f57;overflow-wrap:anywhere}
.cv-timeline li:before{content:counter(cv,decimal-leading-zero);display:block;font-size:max(.75rem,1.35rem);font-weight:700;color:#087b7e;margin-bottom:14px}
.cv-source{font-size:max(.75rem,.82rem);line-height:1.8;color:#5a7278;max-width:900px;margin:16px 0 0}
.certificate-intro{max-width:780px;line-height:1.9;color:#536c74;margin:0 0 24px}
.cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cert-card{min-width:0;margin:0;border:1px solid #d2e2dd;border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 7px 22px #07344808}
.cert-open{display:block;width:100%;padding:0;border:0;border-radius:0;background:#eaf0ed;cursor:zoom-in;color:#075b65;font:inherit;text-align:start}
.cert-open img{width:100%;height:auto;aspect-ratio:1.45;object-fit:contain;display:block;padding:14px}
.cert-open span{display:flex;justify-content:space-between;padding:10px 16px;background:#edf6f3;font-size:max(.75rem,.82rem);font-weight:650}
.cert-open:focus-visible,.cert-dialog button:focus-visible,.cv-jumps a:focus-visible{outline:3px solid #df704b;outline-offset:-3px}
.cert-card figcaption{padding:17px;font-size:max(.75rem,.88rem);line-height:1.7;overflow-wrap:anywhere;min-height:88px}
.cert-card figcaption small{display:block;color:#6a7e80;font-size:max(.75rem,.75rem);margin-top:8px}
.cert-more{background:#f8fbf9;padding:20px;margin-top:24px;border-color:#d2e2dd}
.cert-more summary{color:#075b65;font-size:max(.75rem,.95rem);padding:3px}
.cert-more[open] summary{margin-bottom:22px}
.cert-dialog{inset:0;width:min(1160px,96vw);max-width:96vw;max-height:94dvh;padding:0;border:0;border-radius:14px;background:#f1f5f4;color:#073448;overflow:auto;box-shadow:0 20px 90px #0006}
.cert-dialog::backdrop{background:#031f29cf;backdrop-filter:blur(5px)}
.cert-dialog-bar{position:sticky;top:0;z-index:1;display:flex;gap:18px;align-items:center;justify-content:space-between;padding:12px 18px;background:#fff;border-bottom:1px solid #cfdfda}
.cert-dialog-bar h2{font-size:max(.75rem,.95rem);line-height:1.6;margin:0;overflow-wrap:anywhere}
.cert-dialog button{min-height:44px;min-width:64px;border:1px solid #b5ccc8;border-radius:8px;padding:8px 14px;background:#fff;color:#075b65;font:inherit;cursor:pointer;flex:none}
.cert-dialog figure{margin:0;padding:16px;display:grid;justify-items:center;gap:12px}
.cert-dialog img{display:block;width:auto;max-width:100%;height:auto;max-height:none}
.cert-dialog figcaption{font-size:max(.75rem,.8rem);line-height:1.8;color:#49686d}
.cv-card-meta{font-size:max(.75rem,.77rem);line-height:1.8;color:#087b7e;margin:12px 0 8px;padding:9px 0;border-top:1px solid #e3ece8}
@media(max-width:900px){.cv-timeline{grid-template-columns:1fr}.cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cert-grid{grid-template-columns:1fr}.cert-open img{aspect-ratio:1.4}.cv-section{margin-top:32px}.cv-timeline li{padding:20px}.cert-dialog-bar{padding:10px;gap:8px}.cert-dialog figure{padding:8px}.cv-stat{min-width:125px;flex:1}.cert-card figcaption{min-height:0}}

#certificates img,#certificate-viewer img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:none}#certificates .cert-open,#certificate-viewer{-webkit-touch-callout:none}@media print{#certificates,.cert-grid,.cert-more,#certificate-viewer{display:none!important}}
