/* ─── MODULAR / NEW BUILDS ───────────────────────── */
.mbody { padding: 104px 56px; background: var(--white); }
.mg { display: grid; grid-template-columns: 1fr 1fr; gap: 76px; }

.mt h2 {
  font-size: clamp(26px, 3vw, 40px); font-weight: 900;
  color: var(--dark); letter-spacing: -1px; margin-bottom: 22px; line-height: 1.1;
}
.mt p {
  font-size: 14px; color: var(--charcoal);
  line-height: 1.85; margin-bottom: 15px; font-weight: 400;
}

.fl { list-style: none; margin-top: 32px; }
.fl li {
  padding: 12px 0; border-bottom: 1px solid rgba(0, 0, 0, 0.055);
  display: flex; align-items: flex-start; gap: 13px;
  font-size: 13px; color: var(--dark); font-weight: 600;
}
.fl li::before {
  content: ''; width: 6px; height: 6px; background: var(--beige);
  border-radius: 50%; flex-shrink: 0; margin-top: 6px;
}

.mv { display: flex; flex-direction: column; gap: 11px; }

.vis {
  background: #1a1a1a; border-radius: 2px;
  display: flex; align-items: center; justify-content: center;
  flex-direction: column; gap: 7px; position: relative; overflow: hidden;
}
.vis::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(229, 213, 183, 0.04), rgba(229, 213, 183, 0.02));
}
.vt { height: 330px; }
.vs { height: 172px; }
.vis-ico { font-size: 40px; opacity: .09; }
.vis-txt {
  font-size: 8.5px; color: rgba(255, 255, 255, 0.13);
  letter-spacing: 2px; text-transform: uppercase; font-weight: 700;
}

/* ─── PROCESS BAND ───────────────────────────────── */
.procband { background: var(--dark); padding: 90px 56px; }

.psteps {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0; margin-top: 64px; position: relative;
}
.psteps::before {
  content: ''; position: absolute; top: 24px; left: 8%; right: 8%;
  height: 1px; background: rgba(255, 255, 255, 0.055);
}

.pst { padding: 0 22px; text-align: center; }
.pnum {
  width: 50px; height: 50px; border: 1px solid rgba(223, 208, 183, 0.2);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 900; color: var(--beige);
  margin: 0 auto 24px; background: var(--dark); position: relative; z-index: 1;
}
.pst h4 { font-size: 12.5px; font-weight: 800; color: #F5F5F5; margin-bottom: 9px; }
.pst p { font-size: 12px; color: rgba(255, 255, 255, 0.36); line-height: 1.6; font-weight: 400; }

/* ─── CTA BAND ───────────────────────────────────── */
.ctaband { padding: 84px 56px; text-align: center; background: var(--white); }
.ctaband h3 {
  font-size: clamp(26px, 3vw, 42px); font-weight: 900;
  color: var(--dark); letter-spacing: -1px; margin-bottom: 14px;
}
.ctaband p { font-size: 13.5px; color: var(--charcoal); margin-bottom: 36px; }
