.campaigns-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,var(--bg-0) 0%,var(--bg-2) 100%);
}
.campaigns-shell{
  padding:72px 0 84px;
}
.campaigns-intro{
  max-width:760px;
  margin-bottom:2.2rem;
}
.campaigns-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.campaign-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:1rem;
  min-height:100%;
  padding:1.6rem;
  border-radius:var(--r-lg);
  border:1px solid var(--border);
  background:
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01)),
    var(--bg-2);
  box-shadow:var(--shadow);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.campaign-card:hover{
  transform:translateY(-4px);
  border-color:var(--border-red);
  box-shadow:0 18px 44px rgba(0,0,0,.38);
}
.campaign-card.featured{
  border-color:var(--border-red);
  box-shadow:0 0 0 1px rgba(230,48,39,.12),0 16px 40px rgba(230,48,39,.12);
}
.campaign-card.featured::before{
  content:'';
  position:absolute;
  inset:0 0 auto 0;
  height:2px;
  border-radius:var(--r-lg) var(--r-lg) 0 0;
  background:linear-gradient(90deg,transparent,var(--red),transparent);
}
.campaign-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.campaign-icon{
  width:52px;
  height:52px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border-red);
  background:rgba(230,48,39,.09);
  color:var(--red);
  font-size:1rem;
}
.campaign-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  background:rgba(230,48,39,.1);
  border:1px solid var(--border-red);
  color:#ffb7b2;
}
.campaign-title{
  font-family:var(--font-display);
  font-size:1.28rem;
  font-weight:700;
  line-height:1.08;
  color:var(--text-1);
}
.campaign-copy{
  color:var(--text-3);
  font-size:.82rem;
  line-height:1.72;
}
.campaign-highlight{
  display:flex;
  align-items:flex-end;
  gap:.45rem;
  margin-top:.2rem;
}
.campaign-highlight strong{
  font-family:var(--font-display);
  font-size:2rem;
  line-height:1;
  color:var(--red);
}
.campaign-highlight span{
  color:var(--text-2);
  font-size:.8rem;
  padding-bottom:.2rem;
}
.campaign-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.campaign-meta-item{
  padding:.8rem .9rem;
  border-radius:var(--r-sm);
  border:1px solid var(--border);
  background:rgba(255,255,255,.025);
}
.campaign-meta-label{
  color:var(--text-4);
  font-size:.6rem;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
}
.campaign-meta-value{
  margin-top:.25rem;
  color:var(--text-1);
  font-size:.84rem;
  font-weight:700;
}
.campaign-list{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  margin-top:auto;
}
.campaign-list li{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:var(--text-2);
  font-size:.78rem;
  line-height:1.6;
}
.campaign-list i{
  color:var(--green);
  font-size:.68rem;
  margin-top:.25rem;
  flex-shrink:0;
}
.campaign-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:.2rem;
}
.campaign-actions .btn{
  justify-content:center;
}
.campaign-note{
  margin-top:2rem;
  padding:1rem 1.15rem;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  background:rgba(255,255,255,.025);
  color:var(--text-3);
  font-size:.78rem;
}

@media (max-width: 1100px){
  .campaigns-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width: 720px){
  .campaigns-shell{padding:56px 0 68px;}
  .campaigns-grid{grid-template-columns:1fr;}
  .campaign-title{font-size:1.16rem;}
  .campaign-highlight strong{font-size:1.8rem;}
}
