/* proserv-engagement-grid
   New section, library candidate. Three-up card grid for partner professional-services engagement options.
   Each card: kicker (group + index), title, body. Rows of three on desktop. */
.proserv-engagement-grid{
  box-sizing:border-box;
  width:100%;
  padding-block:var(--section-padding-y);
  background:var(--wash);
  color:var(--black);
  font-family:var(--body);
  scroll-margin-top:var(--hdr-h);
}
.proserv-engagement-grid *{box-sizing:border-box}
.proserv-engagement-grid__in{width:var(--shell);margin:0 auto}
.proserv-engagement-grid__head{
  width:var(--title-description-width);
  max-width:100%;
  margin-bottom:56px;
}
.proserv-engagement-grid__eyebrow{
  display:inline-block;
  margin-bottom:18px;
  font-size:var(--fs-small);
  font-weight:700;
  line-height:var(--lh-tight);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--deep);
}
.proserv-engagement-grid__idx{
  margin-right:9px;
  font-family:var(--display);
  font-weight:500;
  letter-spacing:.04em;
  color:#8a6a08;
}
.proserv-engagement-grid__title{
  margin:0;
  font-family:var(--display);
  font-size:var(--fs-standard-section);
  font-weight:var(--display-weight);
  line-height:var(--lh-tight);
  letter-spacing:0;
  color:var(--black);
  text-wrap:pretty;
}
.proserv-engagement-grid__lede{
  margin:24px 0 0;
  font-size:var(--fs-standard-lede);
  line-height:var(--lh-copy);
  color:var(--grey-dark);
  text-wrap:pretty;
}
.proserv-engagement-grid__groups{display:grid;gap:40px}
.proserv-engagement-grid__group-label{
  display:flex;
  align-items:center;
  gap:16px;
  margin:0 0 16px;
  font-size:var(--fs-content-kicker);
  font-weight:700;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--deep);
}
.proserv-engagement-grid__group-label::after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(13,86,48,.28);
}
.proserv-engagement-grid__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:0;
  padding:0;
  list-style:none;
}
.proserv-engagement-grid__card{
  display:flex;
  flex-direction:column;
  gap:0;
  min-height:100%;
  padding:30px 30px 36px;
  background:var(--paper);
  border-top:3px solid var(--deep);
}
.proserv-engagement-grid__card--lead{border-top-color:var(--gold)}
.proserv-engagement-grid__num{
  font-family:var(--display);
  font-size:var(--fs-content-kicker);
  font-weight:500;
  line-height:1;
  letter-spacing:.14em;
  color:#8a6a08;
}
.proserv-engagement-grid__card-title{
  display:flex;
  align-items:flex-end;
  min-height:calc(var(--fs-card) * 2.4);
  margin:18px 0 0;
  padding-bottom:20px;
  border-bottom:1px solid var(--rule);
  font-family:var(--display);
  font-size:var(--fs-card);
  font-weight:400;
  line-height:var(--lh-tight);
  color:var(--deep);
  text-wrap:pretty;
}
.proserv-engagement-grid__card-body{
  margin:20px 0 0;
  font-size:var(--fs-body);
  line-height:1.55;
  color:var(--grey-dark);
  text-wrap:pretty;
}
.proserv-engagement-grid__foot{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:20px 32px;
  margin-top:48px;
  padding-top:28px;
  border-top:1px solid rgba(13,86,48,.28);
}
.proserv-engagement-grid__foot-note{
  margin:0;
  max-width:56ch;
  font-size:var(--fs-body);
  line-height:1.5;
  color:var(--grey-dark);
}
.proserv-engagement-grid__button{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:48px;
  padding:17px 30px;
  background:var(--deep);
  color:var(--paper);
  font-size:13px;
  font-weight:700;
  line-height:1;
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:background .18s;
}
.proserv-engagement-grid__button:hover{background:var(--black);color:var(--paper)}
.proserv-engagement-grid a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media (max-width:1000px){
  .proserv-engagement-grid__head{width:100%}
  .proserv-engagement-grid__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .proserv-engagement-grid__grid{grid-template-columns:1fr}
  .proserv-engagement-grid__card{padding:26px 22px 28px}
  .proserv-engagement-grid__card-title{min-height:0}
}
@media (prefers-reduced-motion:reduce){.proserv-engagement-grid__button{transition:none}}
