
/* FTCBiz Phase 4B — Executive Visual System (global) */
:root{
  --ftcbiz-ink:#0b1f35;
  --ftcbiz-ink-2:#163556;
  --ftcbiz-muted:#5a6a7a;
  --ftcbiz-line: rgba(11,31,53,.12);
  --ftcbiz-surface:#ffffff;
  --ftcbiz-surface-2:#f6f8fb;
  --ftcbiz-accent:#15803d;          /* Green */
  --ftcbiz-accent-2:#0ea5e9;        /* Blue highlight */
  --ftcbiz-radius:18px;
  --ftcbiz-shadow:0 10px 30px rgba(11,31,53,.10);
  --ftcbiz-shadow-2:0 18px 60px rgba(11,31,53,.14);
  --ftcbiz-max:1120px;
}

.ftcbiz-p4b body,
body.ftcbiz-p4b{
  color: var(--ftcbiz-ink);
}

.ftcbiz-p4b .site,
.ftcbiz-p4b .site-content,
.ftcbiz-p4b .content-area{
  background: radial-gradient(1200px 600px at 10% -10%, rgba(14,165,233,.10), transparent 55%),
              radial-gradient(1000px 500px at 90% 0%, rgba(21,128,61,.09), transparent 60%),
              #fff;
}

/* Typography polish */
.ftcbiz-p4b h1, .ftcbiz-p4b h2, .ftcbiz-p4b h3{
  letter-spacing: -.02em;
}
.ftcbiz-p4b h1{ line-height: 1.08; }
.ftcbiz-p4b h2{ line-height: 1.15; }
.ftcbiz-p4b p, .ftcbiz-p4b li{
  color: var(--ftcbiz-ink-2);
}
.ftcbiz-p4b .entry-content p{
  max-width: 75ch;
}

/* Links */
.ftcbiz-p4b a{ text-decoration-thickness: .12em; text-underline-offset: .18em; }
.ftcbiz-p4b a:hover{ text-decoration-thickness: .16em; }

/* Executive Buttons */
.ftcbiz-btn{
  display:inline-flex;
  gap:.6rem;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  padding: .9rem 1.15rem;
  font-weight: 700;
  letter-spacing: -.01em;
  border: 1px solid var(--ftcbiz-line);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
  text-decoration:none !important;
  white-space: nowrap;
}
.ftcbiz-btn:active{ transform: translateY(1px); }
.ftcbiz-btn--primary{
  background: linear-gradient(135deg, var(--ftcbiz-accent), #22c55e);
  color:#fff !important;
  border-color: rgba(21,128,61,.25);
  box-shadow: 0 12px 34px rgba(21,128,61,.22);
}
.ftcbiz-btn--primary:hover{ box-shadow: 0 18px 54px rgba(21,128,61,.28); transform: translateY(-1px); }
.ftcbiz-btn--ghost{
  background: rgba(11,31,53,.03);
  color: var(--ftcbiz-ink) !important;
}
.ftcbiz-btn--ghost:hover{ background: rgba(11,31,53,.06); transform: translateY(-1px); }

/* Callout */
.ftcbiz-callout{
  display:flex;
  gap: 1.1rem;
  padding: 1.25rem 1.25rem;
  border: 1px solid var(--ftcbiz-line);
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(246,248,251,.95));
  border-radius: var(--ftcbiz-radius);
  box-shadow: var(--ftcbiz-shadow);
  margin: 1.4rem 0;
}
.ftcbiz-callout__icon{
  flex: 0 0 44px;
  height: 44px;
  border-radius: 14px;
  background: radial-gradient(circle at 30% 30%, rgba(14,165,233,.25), rgba(21,128,61,.18));
  border: 1px solid rgba(11,31,53,.10);
  position: relative;
}
.ftcbiz-callout__icon:before{
  content:"";
  position:absolute; inset: 11px;
  border-radius: 10px;
  background: rgba(11,31,53,.08);
  mask: none;
}
.ftcbiz-callout__icon[data-icon="shield"]:before{ background: rgba(21,128,61,.18); }
.ftcbiz-callout__icon[data-icon="target"]:before{ background: rgba(14,165,233,.18); }
.ftcbiz-callout__icon[data-icon="check"]:before{ background: rgba(21,128,61,.18); }
.ftcbiz-callout__title{
  margin: 0 0 .25rem 0 !important;
  font-size: 1.05rem;
}
.ftcbiz-callout__body p{ margin: .35rem 0 0 0; color: var(--ftcbiz-ink-2); }

.ftcbiz-callout--impact{ border-color: rgba(14,165,233,.25); }
.ftcbiz-callout--risk{ border-color: rgba(239,68,68,.25); }
.ftcbiz-callout--proof{ border-color: rgba(21,128,61,.25); }

/* Stats */
.ftcbiz-stat{
  border: 1px solid var(--ftcbiz-line);
  border-radius: var(--ftcbiz-radius);
  padding: 1.05rem 1.1rem;
  background: rgba(255,255,255,.92);
  box-shadow: var(--ftcbiz-shadow);
}
.ftcbiz-stat__value{
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -.02em;
}
.ftcbiz-stat__label{
  margin-top: .15rem;
  font-weight: 700;
  color: var(--ftcbiz-ink);
}
.ftcbiz-stat__detail{
  margin-top: .2rem;
  color: var(--ftcbiz-muted);
  font-size: .95rem;
}

/* FAQ */
.ftcbiz-faq{ margin: 1.4rem 0; }
.ftcbiz-faq__item{
  border: 1px solid var(--ftcbiz-line);
  border-radius: var(--ftcbiz-radius);
  background: rgba(255,255,255,.92);
  box-shadow: var(--ftcbiz-shadow);
  margin: .75rem 0;
  overflow: hidden;
}
.ftcbiz-faq__q{
  padding: 1rem 1.05rem;
  font-weight: 800;
  cursor:pointer;
  list-style:none;
}
.ftcbiz-faq__q::-webkit-details-marker{ display:none; }
.ftcbiz-faq__a{
  padding: 0 1.05rem 1rem 1.05rem;
  color: var(--ftcbiz-ink-2);
}

/* Timeline */
.ftcbiz-timeline{
  list-style:none;
  padding:0;
  margin: 1.4rem 0;
  border-left: 2px solid rgba(14,165,233,.22);
}
.ftcbiz-timeline__item{
  position: relative;
  margin: 0 0 1.15rem 0;
  padding-left: 1.25rem;
}
.ftcbiz-timeline__item:before{
  content:"";
  position:absolute;
  left: -9px; top: .25rem;
  width: 14px; height: 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(14,165,233,.85), rgba(21,128,61,.75));
  box-shadow: 0 8px 24px rgba(11,31,53,.18);
}
.ftcbiz-timeline__title{
  font-weight: 850;
  letter-spacing: -.01em;
}
.ftcbiz-timeline__detail{
  color: var(--ftcbiz-muted);
  margin-top: .15rem;
}

/* CTA block */
.ftcbiz-cta{
  margin: 2.2rem 0;
  padding: 1.5rem 1.35rem;
  border-radius: calc(var(--ftcbiz-radius) + 6px);
  border: 1px solid rgba(11,31,53,.12);
  background: radial-gradient(900px 300px at 10% 0%, rgba(14,165,233,.16), transparent 60%),
              radial-gradient(900px 300px at 90% 0%, rgba(21,128,61,.14), transparent 60%),
              rgba(255,255,255,.95);
  box-shadow: var(--ftcbiz-shadow-2);
}
.ftcbiz-cta__inner{
  max-width: var(--ftcbiz-max);
  margin: 0 auto;
  display:flex;
  gap: 1.15rem;
  align-items:center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.ftcbiz-cta__title{ margin: 0 0 .3rem 0 !important; }
.ftcbiz-cta__body p{ margin: .35rem 0 0 0; color: var(--ftcbiz-ink-2); }
.ftcbiz-cta__actions{ display:flex; gap:.6rem; flex-wrap: wrap; }

/* Floating CTA */
.ftcbiz-float-cta{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
}
.ftcbiz-float-cta__btn{
  display:flex;
  flex-direction: column;
  gap:.15rem;
  padding: .9rem 1rem;
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(11,31,53,.14);
  box-shadow: var(--ftcbiz-shadow-2);
  text-decoration:none !important;
  min-width: 220px;
  backdrop-filter: blur(10px);
}
.ftcbiz-float-cta__label{
  font-weight: 900;
  color: var(--ftcbiz-ink);
  letter-spacing: -.01em;
}
.ftcbiz-float-cta__note{
  font-size: .92rem;
  color: var(--ftcbiz-muted);
}
.ftcbiz-float-cta__btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 70px rgba(11,31,53,.18);
}

/* Subtle reveal animations (progressive enhancement) */
.ftcbiz-reveal{
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .6s ease, transform .6s ease;
  will-change: opacity, transform;
}
.ftcbiz-reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .ftcbiz-reveal{ opacity: 1 !important; transform:none !important; transition:none !important; }
  .ftcbiz-btn, .ftcbiz-float-cta__btn{ transition:none !important; }
}

/* Mobile adjustments */
@media (max-width: 780px){
  .ftcbiz-float-cta{ left: 14px; right: 14px; }
  .ftcbiz-float-cta__btn{ min-width: auto; align-items: center; text-align:center; }
}
