/* Quatro colunas em todos os tamanhos; última linha alinhada à esquerda. */
.pb-section { scroll-margin-top: 100px; background: radial-gradient(ellipse at 50% 0,#e8f6fd,transparent 65%),#f8fbfe; }
.pb-section [hidden] { display: none!important; }
.pb-head { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 38px; }
.pb-head h2 { font-size: clamp(25px,3vw,38px); line-height: 1.2; color: #143b54; margin: 12px 0; letter-spacing: -.035em; font-weight: 800; }
.pb-head p { color: #657f91; font-size: 13px; line-height: 1.8; margin: 0; }
.pb-symbol { display: grid; place-items: center; width: 65px; height: 65px; border-radius: 20px; background: #e2f2fd; color: #0789c1; border: 1px solid #c9e7f9; font-size: 27px; flex-shrink: 0; }
.pb-period { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding: 15px 20px; border: 1px solid #dceaf3; border-radius: 14px; background: #fff; margin-bottom: 35px; }
.pb-period span { color: #2d617f; font-size: 12px; font-weight: 700; line-height: 1.7; }
.pb-period #pbStatus { color: #6c8393; font-weight: 500; font-size: 11px; }
.pb-period #pbStatus.pb-error { color: #946426; }
.pb-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 35px 24px; list-style: none; padding: 0; margin: 0 auto; width: 100%; max-width: 1000px; }
.pb-person { min-width: 0; text-align: center; padding: 8px 0 12px; }
.pb-portrait { position: relative; width: min(155px,85%); aspect-ratio: 1; margin: 0 auto 16px; border: 4px solid #078cca; border-radius: 50%; background: linear-gradient(135deg,#edfaff,#cce6f5); box-shadow: 0 0 0 5px #fff,0 0 0 7px #d4ecfa,0 12px 24px rgba(7,83,126,.12); overflow: hidden; }
.pb-portrait img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 50%; }
.pb-initials { display: grid; place-items: center; position: absolute; inset: 0; color: #18749f; font-size: clamp(20px,3vw,42px); font-weight: 800; }
.pb-person h3 { font-size: 16px; line-height: 1.5; font-weight: 750; color: #126694; margin: 0 0 7px; overflow-wrap: anywhere; }
.pb-date { display: inline-block; font-size: 13px; font-weight: 600; color: #6d8596; line-height: 1.6; }
.pb-empty { padding: 45px 20px; border: 1px dashed #c4deec; border-radius: 20px; text-align: center; background: rgba(255,255,255,.7); }
.pb-empty i { font-size: 34px; color: #1394c9; margin-bottom: 16px; }.pb-empty strong { display: block; font-size: 16px; color: #285971; }.pb-empty p { font-size: 12px; color: #738b9a; line-height: 1.8; margin: 10px 0 0; }
@media(max-width:760px) { .pb-head { gap: 15px; margin-bottom: 25px; }.pb-head p { font-size: 12px; }.pb-symbol { width: 48px; height: 48px; font-size: 21px; border-radius: 15px; }.pb-grid { gap: 26px 12px; }.pb-person h3 { font-size: 13px; }.pb-portrait { width: min(110px,85%); border-width: 3px; margin-bottom: 14px; }.pb-period { padding: 13px 15px; margin-bottom: 25px; } }
@media(max-width:480px) { .pb-grid { gap: 23px 9px; }.pb-portrait { width: 86%; border-width: 2px; box-shadow: 0 0 0 3px #fff,0 0 0 4px #d4ecfa,0 7px 15px rgba(7,83,126,.12); margin-bottom: 12px; }.pb-person h3 { font-size: 10px; line-height: 1.45; margin-bottom: 5px; }.pb-date { font-size: 10px; }.pb-initials { font-size: 18px; }.pb-head { align-items: flex-start; }.pb-symbol { display: none; }.pb-period span { font-size: 11px; } }
