/* FTCBiz Phase 4 Visual Layer */
:root{
  --ftc-navy:#0b1f3b;
  --ftc-green:#117a3a;
  --ftc-ink:#101828;
  --ftc-slate:#475467;
  --ftc-border:#e6eaf0;
  --ftc-bg:#ffffff;
  --ftc-soft:#f9fafb;
}

.ftc-section{ padding: 56px 0; }
.ftc-container{ max-width: 1080px; margin: 0 auto; padding: 0 18px; }
.ftc-kicker{
  display:inline-block; font-weight:700; letter-spacing:.08em; font-size:12px;
  color: var(--ftc-slate); background: var(--ftc-soft); border:1px solid var(--ftc-border);
  padding: 8px 12px; border-radius: 999px; margin-bottom: 12px;
}
.ftc-h2{ font-size: 34px; line-height: 1.15; margin: 10px 0 10px; color: var(--ftc-ink); }
.ftc-h3{ font-size: 18px; margin: 0 0 8px; color: var(--ftc-ink); }
.ftc-lead{ font-size: 18px; line-height: 1.6; color: var(--ftc-slate); margin: 0 0 20px; max-width: 78ch; }
.ftc-body{ font-size: 15.5px; line-height: 1.65; color: var(--ftc-slate); margin: 0; }
.ftc-grid-3{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 16px; }
.ftc-grid-2{ display:grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 16px; }
@media (max-width: 920px){
  .ftc-grid-3{ grid-template-columns: 1fr; }
  .ftc-grid-2{ grid-template-columns: 1fr; }
  .ftc-h2{ font-size: 28px; }
}

.ftc-card{
  border:1px solid var(--ftc-border);
  background: var(--ftc-bg);
  border-radius: 18px;
  padding: 18px 18px;
  box-shadow: 0 10px 28px rgba(16,24,40,.06);
}

.ftc-diagram-card{
  border:1px solid var(--ftc-border);
  background: var(--ftc-bg);
  border-radius: 22px;
  padding: 14px;
  box-shadow: 0 14px 34px rgba(16,24,40,.08);
  margin: 14px 0 10px;
}

.ftc-media-card{
  border:1px solid var(--ftc-border);
  border-radius: 22px;
  overflow:hidden;
  background: var(--ftc-bg);
  box-shadow: 0 14px 34px rgba(16,24,40,.08);
}
.ftc-media-placeholder{
  background: linear-gradient(135deg, rgba(11,31,59,.06), rgba(17,122,58,.08));
  padding: 22px;
  min-height: 180px;
  position: relative;
}
.ftc-badge{
  position:absolute; top: 16px; left: 16px;
  font-size: 11px; font-weight: 800; letter-spacing:.08em;
  background: rgba(16,24,40,.9); color: #fff;
  padding: 7px 10px; border-radius: 999px;
}
.ftc-media-title{ margin-top: 36px; font-weight: 800; font-size: 18px; color: var(--ftc-ink); }
.ftc-media-sub{ margin-top: 6px; color: var(--ftc-slate); font-size: 13px; }
.ftc-media-copy{ padding: 18px; }
.ftc-list{ margin: 10px 0 0 18px; color: var(--ftc-slate); }
.ftc-list li{ margin: 6px 0; }

.ftc-callout{
  margin-top: 18px;
  border:1px solid var(--ftc-border);
  border-radius: 22px;
  padding: 18px;
  background: #fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  box-shadow: 0 14px 34px rgba(16,24,40,.08);
}
@media (max-width: 720px){
  .ftc-callout{ flex-direction: column; align-items: flex-start; }
}

.ftc-btn{
  display:inline-block;
  padding: 12px 16px;
  border-radius: 12px;
  font-weight: 800;
  text-decoration:none;
  border: 1px solid var(--ftc-border);
}
.ftc-btn-primary{
  background: var(--ftc-green);
  color:#fff !important;
  border-color: rgba(0,0,0,0);
}
.ftc-btn-primary:hover{ filter: brightness(.95); }

.ftc-note{
  margin-top: 12px;
  background: var(--ftc-soft);
  border: 1px dashed #cfd6e4;
  border-radius: 16px;
  padding: 14px 16px;
  color: var(--ftc-slate);
  font-size: 14px;
}

.ftc-scorecard .ftc-diagram-card{ padding: 16px; }
