.intro { padding: 120px 64px; max-width: 1200px; margin: 0 auto; }

.direction-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.direction-card {
  background: oklch(0.98 0.005 250);
  border: 1px solid oklch(0.91 0.01 250);
  border-radius: 12px;
  padding: 36px 32px;
}
.icon-box {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: oklch(0.93 0.03 255);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
.icon-dot { width: 20px; height: 20px; background: oklch(0.45 0.14 255); display: block; }
.icon-dot.circle { border-radius: 50%; }
.icon-dot.rounded { border-radius: 4px; }
.icon-dot.square { border-radius: 0; }
.direction-card h3 { font-size: 19px; font-weight: 700; margin: 0 0 12px; color: oklch(0.22 0.03 260); }
.direction-card p { font-size: 15px; line-height: 1.65; color: oklch(0.45 0.02 255); margin: 0; }

.party { padding: 96px 64px; }
.party.supplier { background: oklch(0.98 0.005 250); border-top: 1px solid oklch(0.92 0.01 250); }
.party.demander { background: oklch(0.99 0.002 250); border-top: 1px solid oklch(0.92 0.01 250); }
.party-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.party-text h2 { font-size: 30px; line-height: 1.4; font-weight: 700; margin: 0 0 20px; color: oklch(0.22 0.03 260); }
.party-text p { font-size: 16px; line-height: 1.7; color: oklch(0.45 0.02 255); margin: 0; max-width: 440px; }

.party-tags { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.party-tag {
  background: white;
  border: 1px solid oklch(0.91 0.01 250);
  border-radius: 12px;
  padding: 24px;
}
.party-tag span {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  color: oklch(0.45 0.14 255);
  background: oklch(0.93 0.03 255);
  padding: 4px 12px;
  border-radius: 100px;
  margin-bottom: 12px;
}
.party-tag p { font-size: 14px; line-height: 1.6; color: oklch(0.45 0.02 255); margin: 0; }

@media (max-width: 860px) {
  .intro { padding: 72px 20px; }
  .direction-grid { grid-template-columns: 1fr; }
  .party { padding: 64px 20px; }
  .party-inner { grid-template-columns: 1fr; gap: 40px; }
  .party-text h2 { font-size: 26px; }
  .party-tags { grid-template-columns: 1fr; }
}
