/* ============================================================
   WHAT WE DO — service-first journey (replaces old 2-card section)
   ============================================================ */

.what-we-do{
  background:var(--bg-1);
  padding:var(--space-section) 0;
  position:relative;
  overflow:hidden;
}
.what-we-do:before{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(ellipse 800px 400px at 50% 20%, rgba(37,99,235,.05) 0%, transparent 60%);
  pointer-events:none;
}
.what-we-do>.container{position:relative}

.wwd__eyebrow{
  font-family:var(--font-body);
  font-size:var(--text-micro);
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--primary);
  margin-bottom:var(--space-xs);
}

/* Step rail */
.wwd__steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--space-lg);
  margin-top:var(--space-2xl);
  position:relative;
}
/* connector line draws across when revealed */
.wwd__steps:before{
  content:"";
  position:absolute;
  top:26px;left:0;right:0;
  height:2px;
  background:linear-gradient(to right,var(--primary),rgba(37,99,235,.25));
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 1.2s cubic-bezier(.16,1,.3,1) .2s;
}
.wwd__steps.revealed:before{transform:scaleX(1)}

.wwd-step{position:relative;padding-top:var(--space-2xl)}
.wwd-step__icon{
  position:absolute;
  top:0;left:0;
  width:52px;height:52px;
  border-radius:50%;
  background:#fff;
  border:2px solid var(--primary);
  display:flex;align-items:center;justify-content:center;
  color:var(--primary);
  z-index:1;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;
}
.wwd-step:hover .wwd-step__icon{transform:scale(1.12);box-shadow:0 6px 20px var(--primary-glow)}
.wwd-step__icon svg{width:24px;height:24px}

.wwd-step__num{
  position:absolute;
  top:-14px;right:0;
  font-family:var(--font-heading);
  font-size:4rem;
  font-weight:700;
  line-height:1;
  color:var(--primary);
  opacity:.09;
  user-select:none;
}

.wwd-step__title{
  font-family:var(--font-heading);
  font-size:var(--text-subsection);
  font-weight:600;
  color:var(--text-primary);
  line-height:var(--leading-tight);
  margin-bottom:var(--space-xs);
}
.wwd-step__desc{
  font-family:var(--font-body);
  font-size:var(--text-small);
  color:var(--text-secondary);
  line-height:var(--leading-normal);
}

/* Offer links */
.wwd__offers{
  display:flex;
  gap:var(--space-md);
  margin-top:var(--space-2xl);
  flex-wrap:wrap;
}
.wwd-offer{
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  background:#fff;
  border:1px solid var(--border);
  border-radius:999px;
  padding:.8rem 1.4rem;
  font-family:var(--font-body);
  font-size:var(--text-small);
  color:var(--text-secondary);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.wwd-offer strong{color:var(--text-primary);font-weight:700}
.wwd-offer .wwd-offer__icon{width:18px;height:18px;color:var(--primary);flex-shrink:0}
.wwd-offer .wwd-offer__arrow{width:16px;height:16px;color:var(--text-muted);transition:transform .2s ease,color .2s ease}
.wwd-offer:hover{border-color:var(--primary);box-shadow:0 6px 20px rgba(37,99,235,.15);transform:translateY(-2px)}
.wwd-offer:hover .wwd-offer__arrow{transform:translateX(3px);color:var(--primary)}

@media(max-width:900px){
  .wwd__steps{grid-template-columns:1fr 1fr;gap:var(--space-xl) var(--space-lg)}
  .wwd__steps:before{display:none}
}
@media(max-width:520px){
  /* vertical timeline */
  .wwd__steps{grid-template-columns:1fr;gap:var(--space-lg);margin-top:var(--space-xl)}
  .wwd-step{padding-top:0;padding-left:calc(52px + var(--space-md))}
  .wwd-step__num{top:0;right:8px;font-size:3rem}
  .wwd-step:not(:last-child):after{
    content:"";
    position:absolute;
    left:25px;top:56px;bottom:calc(-1 * var(--space-lg));
    width:2px;
    background:rgba(37,99,235,.2);
  }
  .wwd__offers{flex-direction:column;align-items:stretch}
  .wwd-offer{justify-content:space-between}
}

@media(prefers-reduced-motion:reduce){
  .wwd__steps:before{transform:scaleX(1);transition:none}
  .wwd-step:hover .wwd-step__icon{transform:none}
}
