/* Intro — Manifesto Welcome card */
.card--intro{
  --card-warm:#FDF8F4;--card-blush:#F2C4CE;--card-sage:#B5C5B0;--card-rose:#D4727E;--card-deep:#3A2E2E;
  background:var(--card-warm);overflow:hidden;position:relative;
  font-family:'Hanken Grotesk',sans-serif;color:var(--card-deep);
  border:1px solid rgba(181,197,176,.2);
}
/* Top accent line */
.card--intro::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;z-index:2;
  background:linear-gradient(90deg,var(--card-blush),var(--card-sage),var(--card-blush));
}

/* Image */
.card--intro .card__img-wrap{
  position:relative;overflow:hidden;aspect-ratio:16/10;z-index:1;
}
.card--intro .card__img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.95) brightness(1.02);
  transition:transform 1s cubic-bezier(.16,1,.3,1),filter .7s ease;
}
.card--intro:is(:hover,.pulse) .card__img{
  transform:scale(1.05);filter:saturate(1.08) brightness(1.04);
}
.card--intro .card__img-wrap::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(58,46,46,.3) 100%);
  pointer-events:none;
}

/* Badge */
.card--intro .card__badge{
  position:absolute;bottom:12px;right:12px;z-index:2;
  font-family:'Hanken Grotesk',sans-serif;font-weight:500;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;
  background:var(--card-sage);
  padding:4px 12px;border-radius:2px;
}

/* Body */
.card--intro .card__body{
  position:relative;z-index:1;
  padding:1.2rem 1.4rem 1.6rem;
}
.card--intro .card__body::before{
  content:'';position:absolute;top:0;left:1.4rem;
  width:28px;height:2px;
  background:linear-gradient(90deg,var(--card-blush),var(--card-sage));
  transition:width .5s cubic-bezier(.16,1,.3,1);
}
.card--intro:is(:hover,.pulse) .card__body::before{width:56px}

.card--intro .card__year{
  font-family:'Hanken Grotesk',sans-serif;font-weight:500;
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--card-sage);display:block;margin-bottom:5px;
}
.card--intro .card__title{
  font-family:'Fraunces',serif;
  font-size:clamp(16px,1.4vw,21px);line-height:1.25;margin-bottom:8px;
  color:var(--card-deep);font-weight:600;
  transition:color .3s ease;
}
.card--intro:is(:hover,.pulse) .card__title{color:var(--card-rose)}
.card--intro .card__desc,
.card--intro .card__excerpt{
  font-size:clamp(12px,.9vw,13px);line-height:1.65;
  color:rgba(58,46,46,.5);font-weight:300;
}
.card--intro .card__meta{
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(58,46,46,.3);margin-top:10px;
}
