.kk-candidate-list { list-style:none; padding:0; margin:24px 0 40px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.kk-candidate-list li { margin:0; }
.kk-candidate-list a { display:flex; flex-direction:column; gap:12px; padding:28px; height:100%; box-sizing:border-box; background:#f0f2eb; border:1px solid #dce2d7; border-radius:8px; text-decoration:none; color:#233327; }
.kk-candidate-list a:hover { background:#eaf0e5; border-color:#385a36; }
.kk-candidate-list a:focus-visible { outline:3px solid #713875; outline-offset:4px; }
.kk-candidate-name { font:400 1.6rem/1.2 Georgia,serif; }
.kk-candidate-number { font-size:.9rem; }
.kk-candidate-link { font-size:.9rem; font-weight:700; color:#385a36; margin-top:auto; }
.kk-candidate-profile { box-sizing:border-box; max-width:1200px; margin:auto; padding:0 32px 70px; }
.kk-profile-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:50px; align-items:start; }
.kk-portrait { background:#f0f2eb; border-radius:12px; overflow:hidden; aspect-ratio:3/4; display:flex; align-items:center; justify-content:center; text-align:center; color:#536153; }
.kk-candidate-profile .kk-portrait img { width:100%; height:100%; object-fit:cover; display:block; }
.kk-portrait p { padding:24px; }
.kk-profile-copy h2 { margin-top:32px; font-size:2rem; }
.kk-profile-copy h2:first-child { margin-top:0; }
.kk-profile-number { color:#385a36; font-size:1.1rem; }
.kk-profile-number strong { font-size:2rem; }
.kk-profile-links { display:flex; flex-wrap:wrap; gap:12px 24px; padding:0; list-style:none; }
.kk-profile-copy, .kk-profile-links a, .kk-contact-detail a { overflow-wrap:anywhere; }
.kk-back-link { margin-top:40px !important; }
.kk-front-form { max-width:780px; }
.kk-front-form form { margin:24px 0 40px; }
.kk-front-form label { display:block; font-weight:700; margin:22px 0 8px; }
.kk-front-form input:not([type=hidden]):not([type=checkbox]), .kk-front-form select, .kk-front-form textarea { display:block; width:100%; box-sizing:border-box; padding:12px; border:1px solid #798675; border-radius:5px; background:white; color:#233327; font:inherit; }
.kk-front-form textarea { resize:vertical; }
.kk-front-form button { display:inline-block; margin-top:20px; padding:14px 22px; border:0; border-radius:5px; background:#385a36; color:white; font:700 1rem/1.4 Arial,sans-serif; cursor:pointer; }
.kk-front-form button:hover { background:#264425; }
.kk-front-form :is(input,select,textarea,button):focus-visible { outline:3px solid #713875; outline-offset:3px; }
.kk-front-form .kk-checkbox { font-weight:400; }
.kk-form-success { background:#eaf0e5; padding:20px; border-left:4px solid #385a36; }
.kk-initiative { padding:32px 0; border-top:1px solid #dce2d7; overflow-wrap:anywhere; }
.kk-news-pages { display:flex; flex-wrap:wrap; gap:24px; margin:30px 0; }
@media(max-width:900px) { .kk-candidate-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .kk-candidate-list, .kk-profile-grid { grid-template-columns:minmax(0,1fr); } .kk-profile-grid { gap:30px; } .kk-candidate-profile { padding-inline:22px; } .kk-portrait { max-width:360px; width:100%; } }
