/* Vores SFO 4.05.01 – compact staff carousel and accessible modal */
.front405-staff{padding:clamp(32px,4vw,62px) 0}
.front405-header{max-width:760px;margin-bottom:18px}
.front405-header h2{margin:8px 0 12px;color:#0b4534;font-size:clamp(28px,3vw,44px);line-height:1.15}
.front405-header p{color:#547165;line-height:1.55;font-size:16px}
.front405-carousel-wrap{position:relative;display:flex;align-items:center;gap:12px;min-width:0}
.front405-carousel{display:flex;flex:1 1 auto;gap:14px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 4px 18px;scrollbar-width:thin;scrollbar-color:#a6b7ae transparent}
.front405-mini-card{flex:0 0 clamp(145px,18vw,185px);min-width:0;scroll-snap-align:start;text-align:center;padding:12px 9px 15px;border:1px solid #dce5df;background:rgba(255,255,255,.85);border-radius:20px;box-shadow:0 6px 20px rgba(12,56,41,.045);display:flex;flex-direction:column;align-items:center}
.front405-profile-trigger{border:0;background:transparent;color:#0b4534;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;width:100%;font:inherit}
.front405-avatar{width:clamp(95px,10vw,122px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#e7eeeb;border:4px solid #e5e9ec;box-shadow:0 0 0 2px #aeb7c0,0 5px 15px rgba(0,0,0,.1);margin:4px auto 13px;color:#547165}
.front405-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.front405-avatar-fallback{font-size:52px}
.front405-person-name{font:700 17px/1.25 Georgia,serif;overflow-wrap:anywhere}
.front405-teaser{font-size:12.5px;line-height:1.45;color:#52675c;margin:9px 0 4px;min-height:3.1em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.front405-read-more{border:0;background:transparent;color:#0b6042;font-weight:700;font-size:13px;padding:6px 8px;margin-top:auto;cursor:pointer}
.front405-read-more:hover,.front405-profile-trigger:hover .front405-person-name{text-decoration:underline}
.front405-scroll-arrow{flex:0 0 35px;width:35px;height:35px;border-radius:50%;background:#fff;border:1px solid #b9c8be;color:#0b4534;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.06)}
.front405-scroll-arrow:hover{background:#e5f1e9}
.front405-hint{font-size:13px;color:#66796e;margin:6px 0 0;text-align:center}
.front405-dialog{border:0;border-radius:24px;padding:0;background:#fff;color:#133f31;width:min(690px,calc(100vw - 30px));max-height:min(88vh,860px);box-shadow:0 22px 80px rgba(0,0,0,.26)}
.front405-dialog::backdrop{background:rgba(8,25,19,.72)}
.front405-dialog-panel{padding:clamp(18px,4vw,36px);position:relative}
.front405-close{position:absolute;right:14px;top:8px;border:0;background:#edf3ee;color:#0b4534;border-radius:50%;width:39px;height:39px;font-size:28px;line-height:1;cursor:pointer}
.front405-dialog-content{display:flex;gap:25px;align-items:flex-start;padding-top:18px;max-height:65vh;overflow-y:auto}
.front405-modal-photo{flex:0 0 38%;max-width:230px;aspect-ratio:1;overflow:hidden;border-radius:50%;border:5px solid #e2e6e9;box-shadow:0 0 0 2px #aeb7c0;background:#e7eeeb;display:grid;place-items:center;font-size:72px}
.front405-modal-photo img{width:100%;height:100%;object-fit:cover}
.front405-modal-copy{flex:1;min-width:0;overflow-wrap:anywhere}
.front405-modal-copy h3{font:700 clamp(23px,3vw,32px)/1.2 Georgia,serif;color:#0b4534;margin:0 0 10px}
.front405-modal-role{color:#217052;font-weight:700;margin:0 0 16px}
.front405-modal-story{color:#465b50;line-height:1.7;white-space:normal}
.front405-dialog-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #e0e7e0;margin-top:20px;padding-top:18px}
.front405-dialog-controls button{border:1px solid #b8cec0;background:#f0f5f0;padding:9px 12px;border-radius:25px;color:#0b4534;font-weight:700;cursor:pointer}
.front405-counter{color:#60766a;font-size:13px;white-space:nowrap}
.front405-staff button:focus-visible{outline:3px solid #c18421;outline-offset:4px}
@media(max-width:650px){.front405-carousel-wrap{gap:4px}.front405-scroll-arrow{flex-basis:29px;width:29px;height:29px;font-size:25px}.front405-mini-card{flex-basis:145px}.front405-dialog-content{display:block;text-align:center}.front405-modal-photo{width:160px;margin:3px auto 24px}.front405-dialog-controls button{font-size:12px;padding:8px}}
@media(prefers-reduced-motion:reduce){.front405-carousel{scroll-behavior:auto}}
