/* why-us.css - Why Us section "Casual AI Labs が選ばれる、3つの理由" */

.why-us {
  position: relative;
  padding: var(--sp-9) 0;
  background: var(--cal-bg);
  overflow: hidden;
}

.why-us__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.why-us__bg-circle {
  position: absolute;
  border-radius: 50%;
  background: var(--cal-teal-tint);
}
.why-us__bg-circle--a { width: 280px; height: 280px; top: 12%; right: -120px; opacity: 0.4; }
.why-us__bg-circle--b { width: 220px; height: 220px; bottom: -90px; left: -90px; opacity: 0.45; }

.why-us__inner {
  position: relative;
  z-index: 1;
  max-width: var(--container-wide);
  margin: 0 auto;
  padding: 0 var(--sp-5);
}

.why-us__header {
  text-align: center;
  margin-bottom: var(--sp-8);
}
.why-us__label { display: inline-block; margin-bottom: var(--sp-3); }
.why-us__heading {
  margin-bottom: 0;
  text-wrap: balance;
}

/* --- Cards ---------------------------------------------------- */
.why-us__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-5);
  max-width: 1080px;
  margin: 0 auto;
  list-style: none;
  padding: 0;
}

.why-us__card {
  position: relative;
  padding: var(--sp-6);
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}
.why-us__card:hover {
  border-color: var(--cal-teal);
}

/* English eyebrow — Consolas mono ribbon */
.why-us__card-eyebrow {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  font-weight: var(--fw-medium);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--cal-teal);
  margin: 0;
}

/* Number + Japanese title block */
.why-us__card-headline {
  display: flex;
  align-items: baseline;
  gap: var(--sp-3);
  margin: 0;
}

.why-us__card-num {
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  font-weight: var(--fw-bold);
  /* faint tint as decoration */
  color: var(--cal-teal-tint);
  line-height: 0.9;
  margin: 0;
  letter-spacing: var(--tracking-tight);
}

.why-us__card-icon {
  /* sits below the headline block */
  margin-top: calc(-1 * var(--sp-2));
  width: 64px;
  height: 64px;
}
.why-us__card-icon i,
.why-us__card-icon svg {
  width: 28px;
  height: 28px;
}

.why-us__card-title {
  margin: 0;
}
.why-us__card-desc {
  margin: 0;
  color: var(--fg-2);
  line-height: var(--lh-relaxed);
}

/* --- Tablet --- 1 col ----------------------------------------- */
@media (max-width: 1024px) {
  .why-us__cards {
    grid-template-columns: 1fr;
    max-width: 600px;
  }
}

/* --- Mobile --------------------------------------------------- */
@media (max-width: 768px) {
  .why-us {
    padding: var(--sp-7) 0;
  }
  .why-us__card {
    padding: var(--sp-5);
    gap: var(--sp-3);
  }
  .why-us__card-num {
    font-size: var(--fs-h2);
  }
  .why-us__card-headline {
    gap: var(--sp-2);
  }
}
