body.page-candidates-list{background:#fffefa;color:var(--text)}
.page-candidates-list .site-header{background:rgba(255,252,246,.86);border-bottom-color:rgba(196,154,56,.22)}
.page-candidates-list .brand-mark{border-radius:50%;padding:2px;background:#fff}
.page-candidates-list .main-nav a.active{background:rgba(11,96,72,.10);color:var(--green)}

.candidates-hero{position:relative;overflow:hidden;padding:88px 0 76px;background:linear-gradient(135deg,#052f25 0%,#0b6048 58%,#083f31 100%);color:#fff}
.candidates-hero::before{content:"";position:absolute;inset:0;background:url('../images/index/hero-panel.png') center/cover no-repeat;opacity:.12;mix-blend-mode:screen}
.candidates-hero::after{content:"";position:absolute;inset:auto -10% -190px;width:70%;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(237,210,139,.22),transparent 68%)}
.candidates-hero-grid{display:grid;grid-template-columns:1fr .8fr;gap:58px;align-items:center;position:relative;z-index:1}
.candidates-hero h1{font-family:'Playfair Display',serif;font-size:clamp(52px,6.4vw,88px);line-height:.94;letter-spacing:-.045em;max-width:780px}
.candidates-hero h1 em{display:block;font-family:'Cormorant Garamond',serif;color:#f1d88f;font-style:normal;font-size:.72em;letter-spacing:0;margin-top:8px}
.candidates-hero p:not(.eyebrow){max-width:720px;color:rgba(255,255,255,.76);font-size:17px;margin-top:20px}
.candidates-hero .eyebrow{color:#f1d88f}
.candidates-hero-visual{position:relative;min-height:500px;border-radius:42px;overflow:hidden;border:1px solid rgba(237,210,139,.3);box-shadow:0 30px 70px rgba(0,0,0,.28)}
.candidates-hero-visual::after{content:"";position:absolute;inset:0;border:12px solid rgba(255,255,255,.05);border-radius:inherit;pointer-events:none}
.candidates-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center top}
.candidate-count{display:flex;align-items:baseline;gap:12px;margin-top:28px}
.candidate-count strong{font-family:'Playfair Display',serif;font-size:58px;color:#f1d88f;line-height:1}
.candidate-count span{font-family:Cinzel,serif;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.7)}

.candidates-directory{background:linear-gradient(180deg,#fffefa,#f8f0e5);position:relative}
.candidates-directory::before{content:"";position:absolute;inset:0;background:url('../images/index/roadmap-bg.png') center/cover no-repeat;opacity:.05;mix-blend-mode:multiply;pointer-events:none}
.candidates-directory .container{position:relative;z-index:1}
.directory-toolbar{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:34px}
.directory-toolbar .section-title{font-family:'Playfair Display',serif;margin-bottom:0}
.candidate-search{display:flex;flex-direction:column;gap:7px;min-width:min(360px,100%)}
.candidate-search span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#8a651d}
.candidate-search input{width:100%;border:1px solid rgba(196,154,56,.26);background:rgba(255,255,255,.9);border-radius:999px;padding:13px 18px;outline:none;box-shadow:0 12px 28px rgba(35,31,32,.05)}
.candidate-search input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(196,154,56,.1)}

.candidate-directory-list{display:grid;gap:20px}
.candidate-list-card{display:grid;grid-template-columns:210px 1fr;gap:0;background:rgba(255,255,255,.95);border:1px solid rgba(196,154,56,.23);border-radius:28px;overflow:hidden;box-shadow:0 16px 38px rgba(35,31,32,.06);transition:.25s;scroll-margin-top:115px}
.candidate-list-card.is-selected{border-color:rgba(11,96,72,.62);box-shadow:0 24px 55px rgba(11,96,72,.15)}
.candidate-list-media{position:relative;min-height:250px;background:linear-gradient(145deg,#0b6048,#052f25);overflow:hidden}
.candidate-list-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.candidate-list-fallback{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 40% 30%,rgba(237,210,139,.22),transparent 24%),linear-gradient(145deg,#0b6048,#052f25)}
.candidate-list-fallback span{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;border:2px solid rgba(237,210,139,.55);font-family:'Playfair Display',serif;font-size:58px;color:#f1d88f;box-shadow:0 0 0 12px rgba(255,255,255,.05)}
.candidate-list-number{position:absolute;left:14px;top:14px;width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#c49a38;color:#fff;font-family:Cinzel,serif;font-size:11px;font-weight:700;box-shadow:0 8px 22px rgba(0,0,0,.2)}
.candidate-list-summary{padding:28px 30px;align-self:center}
.candidate-list-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8a651d;font-weight:700;margin-bottom:6px}
.candidate-flag{font-size:20px}
.candidate-list-summary h3{font-family:'Cormorant Garamond',serif;color:var(--green);font-size:42px;line-height:1;margin-bottom:11px}
.candidate-impact-short{color:#615952;max-width:790px;font-size:14px}
.candidate-list-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.btn-candidate-toggle{background:linear-gradient(135deg,var(--green),#073f31);color:#fff;padding:10px 17px}
.video-chip{display:inline-flex;align-items:center;padding:8px 11px;border-radius:999px;background:rgba(196,154,56,.1);color:#8a651d;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

.candidate-list-details{grid-column:1/-1;display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:26px;padding:26px;border-top:1px solid rgba(196,154,56,.18);background:linear-gradient(180deg,#fffdf8,#fbf4e8)}
.candidate-list-details[hidden]{display:none}
.candidate-video-wrap{aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#111;box-shadow:0 18px 38px rgba(0,0,0,.14)}
.candidate-video-wrap iframe{width:100%;height:100%;border:0;display:block}
.candidate-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.candidate-story-grid>div{padding:18px;border-radius:18px;background:#fff;border:1px solid rgba(196,154,56,.16)}
.candidate-story-grid span{display:block;font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:700;color:#9a7424;margin-bottom:7px}
.candidate-story-grid p{font-size:13px;color:#5d554f;white-space:pre-line}
.candidate-story-impact{grid-column:1/-1}
.candidate-social-note{grid-column:1/-1;font-size:12px;color:#6f665f}

.directory-empty{text-align:center;padding:70px 26px;border-radius:34px;background:#fff;border:1px solid rgba(196,154,56,.22);box-shadow:0 18px 44px rgba(35,31,32,.06)}
.directory-empty-mark{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:linear-gradient(135deg,var(--green),#073f31);color:#f1d88f;font-size:34px}
.directory-empty h3{font-family:'Cormorant Garamond',serif;font-size:38px;color:var(--green)}
.directory-empty p{color:#6b625d;margin:8px auto 20px;max-width:560px}
.candidate-no-result{text-align:center;padding:28px;color:#6b625d}

.candidates-cta{background:linear-gradient(135deg,#052f25,#0b6048);color:#fff}
.candidates-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:36px}
.candidates-cta h2{font-family:'Playfair Display',serif;font-size:clamp(38px,4.4vw,62px);line-height:1;max-width:820px}
.candidates-cta p:not(.eyebrow){color:rgba(255,255,255,.74);margin-top:12px;max-width:760px}
.candidates-cta .eyebrow{color:#f1d88f}

@media(max-width:980px){
  .candidates-hero-grid{grid-template-columns:1fr}.candidates-hero-visual{min-height:480px}
  .candidate-list-card{grid-template-columns:170px 1fr}
  .candidate-list-details{grid-template-columns:1fr}
  .candidates-cta-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:720px){
  .directory-toolbar{align-items:flex-start;flex-direction:column}.candidate-search{min-width:100%}
  .candidate-list-card{grid-template-columns:1fr}.candidate-list-media{min-height:310px;aspect-ratio:16/12}.candidate-list-summary{padding:23px}.candidate-list-summary h3{font-size:36px}
  .candidate-story-grid{grid-template-columns:1fr}.candidate-story-impact{grid-column:auto}
}
@media(max-width:560px){
  .candidates-hero{padding:70px 0 56px}.candidates-hero h1{font-size:48px}.candidates-hero-visual{min-height:390px}
  .candidate-list-media{min-height:260px}.candidate-list-details{padding:18px}.candidate-story-grid>div{padding:15px}
}
