/* =========================================================
   APF / OSIRIS FSE — SECTIONS
========================================================= */

.apf-section{
  padding: 80px 0;
}

.apf-section--muted{
  background: linear-gradient(180deg, rgba(255,255,255,.35) 0%, rgba(232,224,210,.32) 100%);
}

.apf-section__header,
.apf-section-heading,
.apf-truststats__head{
  max-width: 860px;
  margin: 0 auto 38px;
  text-align: center;
}

.apf-section__title,
.apf-truststats__title,
.apf-cta__title{
  margin-bottom: 14px;
}

.apf-section__lead,
.apf-truststats__lead,
.apf-cta__text{
  margin: 0;
  color: var(--apf-text-soft);
  font-size: 1.03rem;
}

/* Trust stats */
.apf-truststats{
  padding: 0 0 72px;
}

.apf-truststats__grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 22px;
}

.apf-statcard{
  background: var(--apf-surface);
  border: 1px solid var(--apf-line);
  border-radius: var(--apf-radius-md);
  padding: 26px 22px;
  box-shadow: var(--apf-shadow-soft);
  text-align: center;
}

.apf-statcard__value{
  margin: 0 0 10px;
  font-size: 2rem;
  line-height: 1;
  font-weight: 800;
  color: var(--apf-olive);
}

.apf-statcard__label{
  margin: 0 0 10px;
  font-size: 1.05rem;
  color: var(--apf-text);
}

.apf-statcard__text{
  margin: 0;
  color: var(--apf-text-soft);
  font-size: .98rem;
}

/* Cards */
.apf-cards{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 24px;
  margin-bottom: 30px;
}

.apf-card{
  background: var(--apf-surface);
  border-radius: var(--apf-radius-md);
  padding: 28px;
  box-shadow: var(--apf-shadow-soft);
  border: 1px solid var(--apf-line);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.apf-card:hover{
  transform: translateY(-3px);
  box-shadow: var(--apf-shadow-hover);
  border-color: rgba(135,140,52,.18);
}

.apf-card__top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.apf-card__title{
  margin: 0;
  line-height: 1.2;
}

.apf-card__tag{
  margin: 0;
  padding: 6px 10px;
  border-radius: var(--apf-radius-pill);
  background: rgba(135,140,52,.10);
  color: var(--apf-olive);
  font-size: .85rem;
  font-weight: 700;
  white-space: nowrap;
}

.apf-card__text{
  margin: 0 0 14px;
  color: var(--apf-text-soft);
}

.apf-list{
  margin: 0 0 18px;
  padding-left: 18px;
}

.apf-list li{
  color: var(--apf-text);
}

/* Panel */
.apf-panel{
  background: linear-gradient(135deg, #ffffff 0%, #f7f3ea 100%);
  border-radius: var(--apf-radius-md);
  border: 1px solid rgba(135,140,52,.14);
  padding: 28px;
  box-shadow: var(--apf-shadow-soft);
}

.apf-panel__title{
  margin: 0 0 12px;
}

.apf-panel__text{
  margin: 0;
  color: var(--apf-text-soft);
}

/* Proof */
.apf-proof-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
}

.apf-proof-card{
  background: var(--apf-surface);
  border-radius: var(--apf-radius-md);
  padding: 26px;
  box-shadow: var(--apf-shadow-soft);
  border: 1px solid var(--apf-line);
}

.apf-proof-card__title{
  margin: 0 0 12px;
}

.apf-proof-card__text{
  margin: 0;
  color: var(--apf-text-soft);
}

/* KPI */
.apf-kpis{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
}

.apf-kpi{
  background: var(--apf-surface);
  border-radius: var(--apf-radius-md);
  padding: 26px;
  box-shadow: var(--apf-shadow-soft);
  border: 1px solid var(--apf-line);
  text-align: center;
}

.apf-kpi__value{
  margin: 0 0 8px;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--apf-olive);
}

.apf-kpi__label{
  margin: 0;
  color: var(--apf-text-soft);
}

/* CTA */
.apf-cta{
  padding: 72px 0 0;
}

.apf-cta__box{
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
  background: linear-gradient(135deg, #ffffff 0%, #f8f4eb 100%);
  border-radius: 22px;
  padding: 40px 28px;
  border: 1px solid rgba(135,140,52,.16);
  box-shadow: var(--apf-shadow-soft);
}

.apf-cta__actions{
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 24px;
}

.apf-cta .apf-btn--ghost{
  color: var(--apf-olive);
  border-color: rgba(135,140,52,.40);
}

.apf-cta .apf-btn--ghost:hover{
  background: rgba(135,140,52,.06);
  border-color: var(--apf-olive);
  color: var(--apf-olive-dark);
}

@media (max-width: 1080px){
  .apf-truststats__grid{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .apf-proof-grid,
  .apf-kpis{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 900px){
  .apf-cards{
    grid-template-columns: 1fr;
  }

  .apf-card__top{
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 781px){
  .apf-section{
    padding: 58px 0;
  }

  .apf-truststats{
    padding-bottom: 58px;
  }

  .apf-cta{
    padding-top: 58px;
  }

  .apf-truststats__grid,
  .apf-proof-grid,
  .apf-kpis{
    grid-template-columns: 1fr;
  }

  .apf-section__header,
  .apf-section-heading,
  .apf-truststats__head{
    margin-bottom: 28px;
  }

  .apf-panel,
  .apf-card,
  .apf-proof-card,
  .apf-kpi,
  .apf-statcard,
  .apf-cta__box{
    padding: 22px;
  }

  .apf-cta__actions{
    flex-direction: column;
    align-items: stretch;
  }

  .apf-cta__actions > *{
    width: 100%;
  }
}