.candidates-section{background:#f7f6f3}
.candidates-intro{margin-bottom:37px}
.candidates-intro>p{max-width:415px}
.candidates-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;align-items:stretch}
.candidate-card{background:#fff;border:1px solid #e4e2de;border-radius:9px;padding:29px;display:flex;flex-direction:column;min-width:0;box-shadow:0 5px 20px #00000003}
.candidate-rule{width:37px;height:3px;background:var(--red);margin-bottom:20px}
.candidate-role{color:#777;font-size:12px;letter-spacing:1.1px;line-height:1.55;text-transform:uppercase;font-weight:700;min-height:30px;margin:0 0 18px}
.candidate-card h3{font-family:DINAlternate,Arial,sans-serif;font-size:29px;letter-spacing:-.9px;line-height:1.07;font-weight:700;margin:0 0 24px}
.candidate-bio{font-size:14px;line-height:1.7;color:#5e5e60;margin-bottom:22px}
.candidate-bio p{line-height:1.7;margin:0 0 13px}
.candidate-bio p:last-child{margin-bottom:0}
.candidate-sources{margin-top:auto;border-top:1px solid #e9e7e3;padding-top:15px}
.candidate-sources summary{list-style:none;cursor:pointer;font-size:12px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#555;min-height:25px}
.candidate-sources summary::-webkit-details-marker{display:none}
.candidate-sources summary>span{font-size:18px;color:var(--red);line-height:1}
.candidate-sources[open] summary>span{transform:rotate(45deg)}
.candidate-sources ul{list-style:none;margin:14px 0 0;padding:0}
.candidate-sources li{margin-bottom:11px;line-height:1.5;font-size:12px}
.candidate-sources li:last-child{margin-bottom:0}
.candidate-sources a{color:#696969;text-underline-offset:3px;overflow-wrap:anywhere}
.candidate-sources a:hover{color:var(--red)}
@media(max-width:1100px){.candidates-grid{gap:17px}.candidate-card{padding:24px}.candidate-card h3{font-size:27px}.candidate-role{font-size:12px;letter-spacing:.7px}}
@media(max-width:800px){.candidates-grid{grid-template-columns:1fr;gap:18px}.candidate-card{padding:28px;display:grid;grid-template-columns:.7fr 1.3fr;column-gap:30px}.candidate-rule{grid-column:1;margin-bottom:16px}.candidate-role{grid-column:1;min-height:0;margin-bottom:17px}.candidate-card h3{grid-column:1;grid-row:3;font-size:28px;margin-bottom:0}.candidate-bio{grid-column:2;grid-row:1 / span 3;margin:0}.candidate-sources{grid-column:1 / -1;margin-top:24px}.candidates-intro{margin-bottom:29px}}
@media(max-width:540px){.candidate-card{display:flex;padding:26px}.candidate-role{min-height:0;font-size:12px;letter-spacing:.7px;line-height:1.6}.candidate-card h3{font-size:30px;margin-bottom:22px}.candidate-bio{font-size:14px;margin:0 0 22px}.candidate-sources{margin-top:auto;padding-top:14px}.candidates-intro>p{font-size:14px}.candidates-grid{gap:17px}.candidate-rule{margin-bottom:17px}}
@media print{.candidates-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.candidate-card{display:flex;padding:18px;break-inside:avoid}.candidate-card h3{font-size:22px}.candidate-bio{font-size:12px}.candidate-sources{display:none}}

.candidate-photo{width:100%;aspect-ratio:16/10;flex-shrink:0;background:linear-gradient(135deg,#f2f1ee,#e8e7e4);border:1px dashed #cfccc6;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#797773;margin-bottom:26px;text-align:center;padding:16px;position:relative}
.candidate-photo:after{content:"";position:absolute;bottom:-1px;left:20px;width:34px;height:3px;background:var(--red)}
.candidate-photo svg{width:58px;height:58px;opacity:.65}
.candidate-photo span{font-size:12px;line-height:1.4;letter-spacing:.3px}
@media(max-width:800px){.candidate-card{display:flex}.candidate-card h3{margin-bottom:24px}.candidate-bio{margin-bottom:22px}.candidate-photo{aspect-ratio:2/1;max-height:240px}.candidate-sources{margin-top:auto}}
@media(max-width:540px){.candidate-photo{aspect-ratio:4/3;max-height:none}.candidate-card h3{margin-bottom:22px}}
@media print{.candidate-photo{display:none}}

.candidate-photo-real{padding:0;border:0;overflow:hidden}.candidate-photo-real img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 25%}
