/* =====================================================
   features-forge-01 — Forge Marketing BtoB Features
   lib: gsap,scrolltrigger | category: forge | type: features
   prefix: --ff1-
===================================================== */

#features-forge-01 *,
#features-forge-01 *::before,
#features-forge-01 *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── ルート ── */
#features-forge-01 {
  position: relative;
  width: 100%;
  background: var(--ff1-bg, #08080C);
  color: var(--ff1-text, #E8E6F0);
  font-family: var(--ff1-font-jp, 'Noto Sans JP', sans-serif);
  padding: 120px 24px;
  overflow: hidden;
}

/* ── メインコンテナ ── */
#features-forge-01 .ff1-inner {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 72px;
}

/* ================================================================
   セクションヘッダー
================================================================ */
#features-forge-01 .ff1-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
  opacity: 0;
  transform: translateY(20px);
}

/* ── ラベルバッジ ── */
#features-forge-01 .ff1-label-badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 16px;
  border: 1px solid rgba(0, 212, 255, 0.35);
  border-radius: 100px;
  background: rgba(0, 212, 255, 0.08);
  font-family: var(--ff1-font-en, 'Outfit', sans-serif);
  font-size: 12px;
  font-weight: 600;
  color: var(--ff1-cyan, #00D4FF);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* ── H2 タイトル ── */
#features-forge-01 .ff1-title {
  font-family: var(--ff1-font-jp, 'Noto Sans JP', sans-serif);
  font-size: clamp(32px, 4.5vw, 56px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--ff1-text, #E8E6F0);
}

/* ── グラデーションテキスト ── */
#features-forge-01 .ff1-gradient-text {
  background: var(--ff1-grad, linear-gradient(135deg, #00D4FF, #4060FF, #8040FF));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* ── サブタイトル ── */
#features-forge-01 .ff1-subtitle {
  font-family: var(--ff1-font-jp, 'Noto Sans JP', sans-serif);
  font-size: clamp(14px, 1.4vw, 17px);
  font-weight: 300;
  line-height: 1.8;
  color: var(--ff1-text-sub, #A8A4BC);
  max-width: 560px;
}

/* ================================================================
   フィーチャーカードグリッド
================================================================ */
#features-forge-01 .ff1-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* ── カード ── */
#features-forge-01 .ff1-card {
  position: relative;
  background: var(--ff1-surface, #0C0C16);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  opacity: 0;
  transform: translateY(30px);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  cursor: default;
}

#features-forge-01 .ff1-card:hover {
  border-color: rgba(0, 212, 255, 0.4);
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(0, 212, 255, 0.12);
}

/* ── アイコン領域 ── */
#features-forge-01 .ff1-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex-shrink: 0;
}

#features-forge-01 .ff1-icon-wrap--cyan {
  background: rgba(0, 212, 255, 0.12);
  color: var(--ff1-cyan, #00D4FF);
}

#features-forge-01 .ff1-icon-wrap--blue {
  background: rgba(64, 96, 255, 0.12);
  color: var(--ff1-blue, #4060FF);
}

#features-forge-01 .ff1-icon-wrap--violet {
  background: rgba(128, 64, 255, 0.12);
  color: var(--ff1-violet, #8040FF);
}

#features-forge-01 .ff1-icon-wrap--orange {
  background: rgba(255, 104, 48, 0.12);
  color: var(--ff1-orange, #FF6830);
}

/* ── SVGアイコン ── */
#features-forge-01 .ff1-icon {
  width: 24px;
  height: 24px;
  display: block;
}

/* ── カードタイトル ── */
#features-forge-01 .ff1-card-title {
  font-family: var(--ff1-font-jp, 'Noto Sans JP', sans-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--ff1-text, #E8E6F0);
  letter-spacing: 0.01em;
}

/* ── カード説明文 ── */
#features-forge-01 .ff1-card-desc {
  font-family: var(--ff1-font-jp, 'Noto Sans JP', sans-serif);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--ff1-text-sub, #A8A4BC);
}

/* ================================================================
   レスポンシブ
================================================================ */

/* 3カラム → 2カラム: 900px以下 */
@media (max-width: 900px) {
  #features-forge-01 .ff1-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

/* 2カラム → 1カラム: 480px以下 */
@media (max-width: 480px) {
  #features-forge-01 {
    padding: 80px 20px;
  }

  #features-forge-01 .ff1-inner {
    gap: 48px;
  }

  #features-forge-01 .ff1-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  #features-forge-01 .ff1-card {
    padding: 24px;
  }

  #features-forge-01 .ff1-title {
    font-size: clamp(28px, 8vw, 40px);
  }
}
