@media (min-width:992px){section{padding-top:.5rem;padding-bottom:.5rem}}
section{position:relative;padding-top:.5rem;padding-bottom:.5rem}
.search-help{font-size:.875rem;opacity:.9}
.search-input:focus{outline:3px solid rgb(13 110 253 / .35);outline-offset:2px}
.socialicon:focus-visible,.whatsapp-social-icon:focus-visible,.facebook-social-icon:focus-visible,.social-icon:focus-visible,.copyLink:focus-visible,.africavotes:focus-visible,.btn:focus-visible{outline:3px solid rgb(212 175 55 / .45);outline-offset:3px;border-radius:10px}
.projects-stage{background:radial-gradient(900px 520px at 7% -10%,rgba(212,175,55,.16),transparent 60%),radial-gradient(900px 520px at 96% 0%,rgba(37,99,235,.16),transparent 58%),#07132b!important;color:#e9eefb;padding-top:2.4rem;padding-bottom:3.5rem}
.projects-stage .afrv-overlay-white{display:none}
.project-bento{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.35rem;position:relative;z-index:1}
@media (min-width:768px){.project-bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.45rem}}
@media (min-width:1200px){.project-bento{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.55rem}.project-tile{grid-column:auto}}
.project-campaign-card{position:relative;display:flex;flex-direction:column;min-height:0;border:1px solid rgba(212,175,55,.18);border-radius:1.1rem;overflow:hidden;background:#121f3f;box-shadow:0 18px 45px rgba(0,0,0,.24);transform:translateY(0);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.project-campaign-card:hover{transform:translateY(-3px);border-color:rgba(212,175,55,.46);box-shadow:0 24px 58px rgba(0,0,0,.32)}
.project-card-media-wrap{position:relative;aspect-ratio:16/8.3;padding:0;border:0;background:#0b1730;overflow:hidden}
.project-tile-media{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box;border:2px solid #00d27a;border-radius:inherit;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.project-time-status{display:inline-flex!important;align-items:center;gap:.36rem;width:max-content;padding:.3rem .58rem;border:1px solid transparent;border-radius:999px;font-weight:900!important;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums}
.project-time-status i{margin:0!important;color:currentColor!important}
.project-time-status--steady{color:#b9f6ca!important;background:rgba(34,197,94,.12);border-color:rgba(74,222,128,.3)}
.project-time-status--soon{color:#ffe58a!important;background:rgba(212,175,55,.14);border-color:rgba(244,207,69,.38)}
.project-time-status--urgent{color:#ffc2c9!important;background:rgba(239,68,68,.14);border-color:rgba(248,113,113,.42)}
.project-campaign-card:hover .project-tile-media{transform:scale(1.035);filter:saturate(1.08)}
.project-card-media-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,12,28,.05),rgba(5,12,28,.18))}
.project-card-topline{position:absolute;z-index:2;top:.78rem;left:.78rem;right:.78rem;display:flex;align-items:center;justify-content:space-between;gap:.65rem}
.project-pill{display:inline-flex;align-items:center;gap:.42rem;min-height:2rem;padding:.42rem .72rem;border-radius:.42rem;font-size:.72rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.project-pill--type{background:linear-gradient(135deg,#f5d15d,#d5aa26);color:#07132b}
.project-pill--live{background:#f06445;color:#fff}
.project-pill--live .fa-circle{font-size:.48rem;filter:drop-shadow(0 0 6px rgba(255,255,255,.65))}
.project-card-body{display:flex;flex-direction:column;gap:.9rem;padding:1.05rem 1.08rem 1.18rem;background:linear-gradient(180deg,#121f3f 0%,#101b37 100%)}
.project-card-meta{display:flex;flex-wrap:wrap;gap:.8rem;color:#9aa7c4;font-size:.84rem;font-weight:750}
.project-card-meta i{color:#6f7d9d;margin-right:.22rem}
.project-name{margin:0;color:#f7f9ff;font-weight:900;font-size:1.03rem;line-height:1.25;letter-spacing:-.01em;text-shadow:none}
.project-card-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.62rem}
.project-stat{display:flex;align-items:center;gap:.62rem;min-width:0;padding:.62rem .68rem;border:1px solid rgba(255,255,255,.08);border-radius:.7rem;background:rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.project-stat-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:.52rem;color:#f4cf45;background:rgba(212,175,55,.13)}
.project-stat--people .project-stat-icon{color:#9fd7ff;background:rgba(59,130,246,.14)}
.project-stat-copy{display:flex;flex-direction:column;gap:.12rem;min-width:0}
.project-card-stats strong{color:#f7f9ff;font-size:1.16rem;line-height:1;font-weight:950;font-variant-numeric:tabular-nums}
.project-card-stats small{color:#9aa7c4;font-size:.64rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}
.project-card-actions{display:grid;grid-template-columns:minmax(0,1fr) 3rem;gap:.72rem;align-items:center;margin-top:.15rem}
.project-vote-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.85rem;border-radius:.55rem!important;border:0!important;background:linear-gradient(135deg,#f9d85d,#d9af28)!important;color:#08142b!important;font-weight:950;box-shadow:0 12px 26px rgba(212,175,55,.2);text-transform:none}
.project-vote-btn:hover{background:linear-gradient(135deg,#ffe176,#d9af28)!important;color:#07132b!important}
.project-share-btn{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:2.85rem;border:1px solid rgba(255,255,255,.09);border-radius:.55rem;background:rgba(255,255,255,.06);color:#98a6c7;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:background .2s ease,color .2s ease,border-color .2s ease}
.project-share-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(212,175,55,.42);color:#f4cf45}
.project-caption,.project-tile-shade,.project-tile-top,.project-tile-body,.project-copy{display:contents}
.projects-stage nav{position:relative;z-index:1;margin-top:1.4rem}
.projects-stage .pagination{justify-content:center;gap:.35rem;flex-wrap:wrap}
.projects-stage .page-link{background:#111d3b;border-color:rgba(212,175,55,.18);color:#e8eefc;border-radius:.55rem!important}
.projects-stage .page-item.active .page-link{background:#d9af28;border-color:#d9af28;color:#07132b}
@media (max-width:767px){.projects-stage{padding-top:1.6rem}.project-bento{gap:1rem}.project-campaign-card{border-radius:.95rem}.project-card-body{padding:.9rem}.project-card-media-wrap{aspect-ratio:16/9}.project-pill{font-size:.64rem;min-height:1.75rem;padding:.35rem .55rem}.project-card-meta{font-size:.76rem;gap:.62rem}.project-name{font-size:.95rem}.project-card-stats{gap:1rem}.project-card-stats strong{font-size:1.08rem}.project-card-actions{grid-template-columns:minmax(0,1fr) 2.75rem}.project-vote-btn,.project-share-btn{min-height:2.65rem}.project-share-btn{width:2.75rem}}
.project-pill--upcoming{background:#2dd4bf;color:#06241f}
.project-pill--finished{background:#22c55e;color:#052e16}
.project-pill--finished .fa-check-circle,.project-pill--upcoming .fa-clock{font-size:.78rem}

/* Directory shell refresh: matches the live/tickets/forms public card language. */
.projects-directory-hero{position:relative;overflow:hidden;padding:2.4rem 0 3.7rem}.projects-directory-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 22%),radial-gradient(circle at 50% 0%,rgba(255,255,255,.06),transparent 32%);pointer-events:none}.project-directory-hero{position:relative;z-index:1;max-width:1050px;margin:0 auto 1.6rem;padding:1.2rem 0 0}.project-directory-eyebrow{display:inline-flex;align-items:center;justify-content:center;margin-bottom:.75rem;color:#d9af28;font-size:.78rem;font-weight:950;letter-spacing:.34em;text-transform:uppercase}.project-directory-hero h1{margin:0;color:#f8fbff;font-size:clamp(2rem,4vw,4.2rem);line-height:1.02;font-weight:950;letter-spacing:-.045em}.project-directory-hero p{max-width:760px;margin:.9rem auto 1.25rem;color:#9aa7c4;font-size:1.02rem;line-height:1.7;font-weight:650}.project-directory-tabs{display:flex;align-items:center;justify-content:center;gap:.65rem;flex-wrap:wrap;margin:0 auto 1.15rem}.project-directory-tab{display:inline-flex;align-items:center;gap:.45rem;min-height:2.45rem;padding:.48rem .85rem;border-radius:.6rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);color:#dce6fb;text-decoration:none;font-weight:900;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.project-directory-tab:hover{transform:translateY(-1px);border-color:rgba(212,175,55,.36);color:#fff;background:rgba(255,255,255,.09)}.project-directory-tab--active{background:linear-gradient(135deg,#f8d75d,#d9af28);border-color:#e7c44a;color:#08142b;box-shadow:0 12px 28px rgba(212,175,55,.22)}.project-directory-search{max-width:900px;margin:0 auto}.project-search-shell{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem;padding:.5rem;border:1px solid rgba(255,255,255,.1);border-radius:.78rem;background:rgba(255,255,255,.065);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.project-search-icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:.6rem;background:rgba(255,255,255,.08);color:#f4cf45}.project-search-shell input{width:100%;min-height:2.75rem;border:0!important;outline:0!important;background:transparent;color:#fff;font-weight:750}.project-search-shell input::placeholder{color:#6f7d9d}.project-search-shell button,.project-search-shell a,.project-organizer-cta{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.75rem;padding:.55rem .95rem;border-radius:.6rem;border:0;text-decoration:none;background:linear-gradient(135deg,#f8d75d,#d9af28);color:#08142b;font-weight:950;white-space:nowrap}.project-search-shell a{background:rgba(255,255,255,.08);color:#dce6fb;border:1px solid rgba(255,255,255,.1)}.project-search-help{margin-top:.65rem;color:#7f8dab;font-size:.86rem;font-weight:650}.project-directory-actions{display:flex;align-items:center;justify-content:center;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.project-directory-content{position:relative;z-index:1}.project-directory-empty{position:relative;z-index:1;max-width:38rem;margin:0 auto;padding:2.5rem 1rem;text-align:center;border:1px solid rgba(212,175,55,.18);border-radius:1.1rem;background:rgba(255,255,255,.055)}.project-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;margin-bottom:.9rem;border-radius:1rem;background:rgba(212,175,55,.12);color:#f4cf45;font-size:1.4rem}.project-directory-empty h2{margin:0 0 .5rem;color:#f7f9ff;font-weight:950}.project-directory-empty p{margin:0 auto 1rem;color:#9aa7c4;line-height:1.65}.project-directory-pagination-wrap{position:relative;z-index:1;margin-top:1.4rem}.project-directory-pagination-wrap .pagination{justify-content:center;gap:.35rem;flex-wrap:wrap}.project-directory-pagination-wrap .page-link{background:#111d3b;border-color:rgba(212,175,55,.18);color:#e8eefc;border-radius:.55rem!important}.project-directory-pagination-wrap .page-item.active .page-link{background:#d9af28;border-color:#d9af28;color:#07132b}.projects-directory-hero .project-name{font-size:1.05rem;font-weight:950;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.projects-directory-hero .project-card-stats strong{font-size:1.18rem}.project-feature{border-color:rgba(212,175,55,.5);box-shadow:0 24px 65px rgba(212,175,55,.1),0 18px 45px rgba(0,0,0,.26)}@media (max-width:767px){.projects-directory-hero{padding-top:1.6rem}.project-directory-hero{margin-bottom:1.15rem}.project-directory-tabs{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:none}.project-directory-tabs::-webkit-scrollbar{display:none}.project-directory-tab{flex:0 0 auto}.project-search-shell{grid-template-columns:auto minmax(0,1fr);gap:.45rem}.project-search-shell button,.project-search-shell a{grid-column:span 2;width:100%}.projects-directory-hero .project-card-stats strong{font-size:1.04rem}}@media (prefers-reduced-motion:reduce){.project-campaign-card,.project-tile-media,.project-directory-tab{transition:none!important}.project-campaign-card:hover,.project-directory-tab:hover{transform:none!important}}

/* Typography tune: keep the AfricaVotes punch, reduce card/grid heaviness. */
.projects-directory-hero .project-directory-eyebrow,
.projects-stage .project-directory-eyebrow {
  font-weight: 800;
  letter-spacing: .28em;
}

.projects-directory-hero .project-directory-hero h1,
.projects-stage .project-directory-hero h1 {
  font-weight: 850;
  letter-spacing: -.035em;
}

.projects-directory-hero .project-directory-hero p,
.projects-stage .project-directory-hero p,
.projects-directory-hero .project-search-help,
.projects-stage .project-search-help {
  font-weight: 500;
}

.projects-directory-hero .project-directory-tab,
.projects-stage .project-directory-tab,
.projects-directory-hero .project-search-shell input,
.projects-stage .project-search-shell input {
  font-weight: 650;
}

.projects-directory-hero .project-search-shell button,
.projects-directory-hero .project-search-shell a,
.projects-directory-hero .project-organizer-cta,
.projects-stage .project-search-shell button,
.projects-stage .project-search-shell a,
.projects-stage .project-organizer-cta {
  font-weight: 750;
}

.projects-directory-hero .project-pill,
.projects-stage .project-pill {
  font-weight: 750;
  letter-spacing: .025em;
}

.projects-directory-hero .project-card-meta,
.projects-stage .project-card-meta {
  font-weight: 500;
}

.projects-directory-hero .project-name,
.projects-stage .project-name {
  font-weight: 750;
  letter-spacing: -.005em;
}

.projects-directory-hero .project-card-stats strong,
.projects-stage .project-card-stats strong {
  font-weight: 800;
}

.projects-directory-hero .project-card-stats small,
.projects-stage .project-card-stats small {
  font-weight: 650;
  letter-spacing: .045em;
}

.projects-directory-hero .project-vote-btn,
.projects-stage .project-vote-btn {
  font-weight: 800;
}

.projects-directory-hero .project-directory-empty h2,
.projects-stage .project-directory-empty h2 {
  font-weight: 800;
}

/* Typography tune x2: lighter scan weight for dense project directories. */
.projects-directory-hero .project-directory-eyebrow,
.projects-stage .project-directory-eyebrow {
  font-weight: 700;
  letter-spacing: .24em;
}

.projects-directory-hero .project-directory-hero h1,
.projects-stage .project-directory-hero h1 {
  font-weight: 780;
  letter-spacing: -.028em;
}

.projects-directory-hero .project-directory-hero p,
.projects-stage .project-directory-hero p,
.projects-directory-hero .project-search-help,
.projects-stage .project-search-help {
  font-weight: 400;
}

.projects-directory-hero .project-directory-tab,
.projects-stage .project-directory-tab,
.projects-directory-hero .project-search-shell input,
.projects-stage .project-search-shell input {
  font-weight: 550;
}

.projects-directory-hero .project-search-shell button,
.projects-directory-hero .project-search-shell a,
.projects-directory-hero .project-organizer-cta,
.projects-stage .project-search-shell button,
.projects-stage .project-search-shell a,
.projects-stage .project-organizer-cta {
  font-weight: 650;
}

.projects-directory-hero .project-pill,
.projects-stage .project-pill {
  font-weight: 650;
  letter-spacing: .018em;
}

.projects-directory-hero .project-card-meta,
.projects-stage .project-card-meta {
  font-weight: 400;
}

.projects-directory-hero .project-name,
.projects-stage .project-name {
  font-weight: 650;
  letter-spacing: 0;
}

.projects-directory-hero .project-card-stats strong,
.projects-stage .project-card-stats strong {
  font-weight: 700;
}

.projects-directory-hero .project-card-stats small,
.projects-stage .project-card-stats small {
  font-weight: 550;
  letter-spacing: .035em;
}

.projects-directory-hero .project-vote-btn,
.projects-stage .project-vote-btn {
  font-weight: 700;
}

.projects-directory-hero .project-card-stats strong{font-size:1.06rem}
@media (max-width:767px){.projects-directory-hero .project-card-stats strong{font-size:.98rem}}

.project-share-popover[hidden]{display:none!important}
.project-share-popover{position:fixed;z-index:1080;width:min(21rem,calc(100vw - 1.5rem));padding:.85rem;border:1px solid rgba(212,175,55,.32);border-radius:.9rem;background:#111d3b;color:#f7f9ff;box-shadow:0 22px 55px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.05)}
.project-share-popover-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;margin-bottom:.75rem}
.project-share-popover-kicker{display:block;margin-bottom:.16rem;color:#f4cf45;font-size:.64rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.project-share-popover-title{display:block;max-width:15rem;overflow:hidden;color:#f7f9ff;font-size:.82rem;font-weight:850;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.project-share-popover-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 2.75rem;width:2.75rem;height:2.75rem;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:.55rem;background:rgba(255,255,255,.06);color:#cbd6eb;cursor:pointer}
.project-share-popover-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}
.project-share-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-width:0;min-height:4.15rem;padding:.48rem .22rem;border:1px solid rgba(255,255,255,.09);border-radius:.65rem;background:rgba(255,255,255,.055);color:#dce6fb;text-decoration:none;font-size:.66rem;font-weight:800;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
.project-share-option i,.project-share-option-x{font-size:1.05rem;line-height:1}
.project-share-option:hover,.project-share-option:focus-visible{transform:translateY(-1px);border-color:rgba(212,175,55,.45);background:rgba(255,255,255,.1);color:#fff;text-decoration:none;outline:2px solid rgba(244,207,69,.35);outline-offset:2px}
.project-share-option--whatsapp i{color:#45df78}.project-share-option--facebook i{color:#85adff}.project-share-option--copy i{color:#f4cf45}
.project-share-popover-status{min-height:1rem;margin:.55rem 0 0;color:#aebbd4;font-size:.68rem;font-weight:700;text-align:center}
@media(max-width:420px){.project-share-popover{padding:.72rem}.project-share-popover-options{gap:.38rem}.project-share-option{min-height:3.85rem;font-size:.61rem}}
@media(prefers-reduced-motion:reduce){.project-share-option{transition:none!important}}
