/* --- Base Variables --- */
:root {
  --bg-soft: #fbfbfd;
  --text-main: #1d1d1f;
  --accent-blue: #0066cc;
  --card-bg: #ffffff;
}

.about-main-v3 {
  padding: 80px 0;
  background-color: var(--bg-soft);
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

/* --- Intro Grid --- */
.about-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 60px;
  align-items: flex-end;
}

.v3-badge {
  font-size: 12px;
  font-weight: 600;
  color: var(--accent-blue);
  letter-spacing: 1px;
  display: block;
  margin-bottom: 12px;
}

.v3-title {
  font-size: 48px;
  line-height: 1.1;
  color: var(--text-main);
  letter-spacing: -1px;
}

.v3-title span { color: #86868b; font-weight: 300; }

.v3-lead {
  font-size: 20px;
  line-height: 1.5;
  color: #424245;
}

/* --- Bento Grid --- */
.bento-grid-about {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto;
  gap: 24px;
}

.bento-card {
  background: var(--card-bg);
  padding: 40px;
  border-radius: 24px;
  border: 1px solid rgba(0,0,0,0.05);
  transition: transform 0.3s ease;
}

.bento-card:hover { transform: scale(1.02); }

.bento-card.long { grid-row: span 2; background: var(--text-main); color: #fff; }
.bento-card.long h3 { color: var(--accent-blue); margin-bottom: 20px; font-size: 24px; }
.bento-card.long p { opacity: 0.8; line-height: 1.8; margin-bottom: 20px; }

.bento-card.wide { grid-column: span 2; }

.b-icon { font-size: 32px; margin-bottom: 20px; }

.wide-flex { display: flex; justify-content: space-between; align-items: center; gap: 40px; }

.w-stat { font-size: 12px; color: var(--accent-blue); font-weight: 600; text-align: center; }
.w-stat span { display: block; font-size: 32px; color: var(--text-main); margin-bottom: 4px; }

/* --- Responsive --- */
@media (max-width: 900px) {
  .about-intro-grid { grid-template-columns: 1fr; }
  .bento-grid-about { grid-template-columns: 1fr; }
  .bento-card.long, .bento-card.wide { grid-column: auto; grid-row: auto; }
  .wide-flex { flex-direction: column; align-items: flex-start; }
}