/* Shared delivery process on the homepage and services page. */
.xf-delivery {
  padding: 80px 0;
  color: #252628;
  background: #f6f1eb;
  scroll-margin-top: 88px;
}
.xf-delivery-container { width: min(1280px, calc(100% - 88px)); margin-inline: auto; }
.xf-delivery-heading { text-align: center; margin-bottom: 44px; }
.xf-delivery-eyebrow { margin: 0 0 12px; color: #a25e36; font-size: 13px; font-weight: 600; letter-spacing: .1em; }
.xf-delivery .xf-delivery-heading h2 { margin: 0; font-size: clamp(28px, 3vw, 40px); line-height: 1.35; }
.xf-delivery-subtitle { margin: 16px 0 0; color: #696762; font-size: 16px; line-height: 1.8; }
.xf-delivery-steps {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 28px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.xf-delivery-step {
  position: relative;
  grid-column: span 2;
  min-width: 0;
  padding: 30px 22px 26px;
  text-align: center;
  background: #fffdfa;
  border: 1px solid #e5d9ce;
  border-radius: 14px;
  box-shadow: 0 4px 12px #5f412b06;
}
.xf-delivery-step:nth-child(6) { grid-column: 4 / span 2; }
.xf-delivery-step:nth-child(7) { grid-column: 6 / span 2; }
.xf-delivery-number { position: absolute; top: 13px; right: 16px; color: #9b8776; font-size: 12px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.xf-delivery-icon { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 20px; color: #fff; background: linear-gradient(135deg, #b76c3f, #eaa375); border-radius: 50%; }
.xf-delivery-icon svg { display: block; width: 27px; height: 27px; }
.xf-delivery .xf-delivery-step h3 { margin: 0 0 10px; font-size: 18px; line-height: 1.5; }
.xf-delivery-step p { margin: 0; color: #706b65; font-size: 14px; line-height: 1.85; }
.xf-delivery-arrow { position: absolute; top: 51px; right: -24px; width: 18px; height: 18px; color: #b7774d; }
.xf-delivery-step:nth-child(5) .xf-delivery-arrow { display: none; }
.xf-delivery-guarantees { display: flex; justify-content: center; flex-wrap: wrap; gap: 24px; margin: 36px 0 0; padding: 26px; list-style: none; background: #fffdfa; border: 1px solid #e5d9ce; border-radius: 14px; }
.xf-delivery-guarantees li { display: flex; align-items: center; gap: 12px; padding: 12px 22px; border-radius: 999px; background: #f6eee5; color: #594a3f; font-size: 14px; font-weight: 600; line-height: 1.5; }
.xf-delivery-guarantee-icon { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; background: #b87549; color: #fff; }
.xf-delivery-guarantee-icon svg { display: block; width: 19px; height: 19px; }
@media (max-width: 1100px) {
  .xf-delivery-steps { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 24px; }
  .xf-delivery-step:nth-child(5) { grid-column: 2 / span 2; }
  .xf-delivery-step:nth-child(4) .xf-delivery-arrow { display: none; }
  .xf-delivery-step:nth-child(5) .xf-delivery-arrow { display: block; }
  .xf-delivery-arrow { right: -22px; }
  .xf-delivery-guarantees { gap: 12px; padding: 22px 16px; }
  .xf-delivery-guarantees li { padding: 10px 16px; }
}
@media (max-width: 820px) {
  .xf-delivery { padding: 60px 0; }
  .xf-delivery-container { width: calc(100% - 48px); }
  .xf-delivery-steps { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .xf-delivery-step:nth-child(5), .xf-delivery-step:nth-child(6) { grid-column: span 2; }
  .xf-delivery-step:nth-child(7) { grid-column: 3 / span 2; }
  .xf-delivery-step:nth-child(4) .xf-delivery-arrow { display: block; }
  .xf-delivery-step:nth-child(3n) .xf-delivery-arrow { display: none; }
}
@media (max-width: 600px) {
  .xf-delivery { padding: 48px 0; }
  .xf-delivery-container { width: calc(100% - 40px); }
  .xf-delivery-heading { margin-bottom: 28px; text-align: left; }
  .xf-delivery-eyebrow { margin-bottom: 10px; font-size: 12px; }
  .xf-delivery-subtitle { margin-top: 12px; font-size: 14px; }
  .xf-delivery-steps { display: flex; flex-direction: column; gap: 24px; }
  .xf-delivery-step { display: flex; align-items: flex-start; gap: 16px; padding: 20px; text-align: left; border-radius: 12px; }
  .xf-delivery-number { top: 20px; right: 18px; }
  .xf-delivery-icon { flex: 0 0 44px; width: 44px; height: 44px; margin: 0; }
  .xf-delivery-icon svg { width: 23px; height: 23px; }
  .xf-delivery-step-copy { flex: 1; min-width: 0; }
  .xf-delivery .xf-delivery-step h3 { margin: 0 28px 6px 0; font-size: 17px; }
  .xf-delivery-step p { font-size: 14px; line-height: 1.75; }
  .xf-delivery .xf-delivery-step .xf-delivery-arrow { display: block; top: auto; bottom: -22px; left: 33px; right: auto; transform: rotate(90deg); }
  .xf-delivery-guarantees { align-items: stretch; gap: 10px; margin-top: 28px; padding: 16px; border-radius: 12px; }
  .xf-delivery-guarantees li { width: 100%; padding: 10px 16px; border-radius: 8px; }
}
