/* =========================================
   BUTTONS
   ========================================= */
.pp-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 600;
  font-family: var(--pp-font-body);
  border-radius: var(--pp-radius);
  border: 1.5px solid transparent;
  transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none !important;
  line-height: 1.3;
}
.pp-btn--primary {
  background: var(--pp-navy);
  color: #ffffff !important;
}
.pp-btn--primary:hover,
.pp-btn--primary:focus {
  background: var(--pp-navy-dark);
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: var(--pp-shadow-md);
}
.pp-btn--gold {
  background: var(--pp-gold);
  color: var(--pp-navy) !important;
}
.pp-btn--gold:hover,
.pp-btn--gold:focus {
  background: var(--pp-gold-dark);
  color: #ffffff !important;
}
.pp-btn--outline {
  background: transparent;
  color: var(--pp-navy) !important;
  border-color: var(--pp-navy);
}
.pp-btn--outline:hover,
.pp-btn--outline:focus {
  background: var(--pp-navy);
  color: #ffffff !important;
}
.pp-btn--ghost {
  background: transparent;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.4);
}
.pp-btn--ghost:hover,
.pp-btn--ghost:focus {
  border-color: var(--pp-gold);
  color: var(--pp-gold) !important;
}
.pp-btn--lg { padding: 16px 30px; font-size: 16px; }
.pp-btn--sm { padding: 10px 18px; font-size: 14px; }

/* =========================================
   CARDS
   ========================================= */
.pp-card {
  background: var(--pp-white);
  border: 1px solid var(--pp-line);
  border-radius: var(--pp-radius-lg);
  padding: 32px;
  box-shadow: var(--pp-shadow-sm);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.pp-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--pp-shadow-md);
}
.pp-card--gold-top {
  border-top: 3px solid var(--pp-gold);
}

/* Trust card (hero) */
.pp-hero-card {
  background: var(--pp-white);
  border: 1px solid var(--pp-line);
  border-top: 3px solid var(--pp-gold);
  border-radius: var(--pp-radius-lg);
  padding: 40px 36px;
  box-shadow: var(--pp-shadow-lg);
}

/* =========================================
   STATS
   ========================================= */
.pp-stat-num {
  font-family: var(--pp-font-head);
  font-size: 38px;
  font-weight: 700;
  color: var(--pp-navy);
  line-height: 1;
}
.pp-section--navy .pp-stat-num { color: var(--pp-gold); }
.pp-stat-label {
  font-size: 13px;
  color: var(--pp-text-muted);
  margin-top: 6px;
  line-height: 1.4;
}
.pp-section--navy .pp-stat-label { color: var(--pp-slate-light); }

/* =========================================
   BADGE
   ========================================= */
.pp-badge {
  display: inline-block;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: var(--pp-radius);
  background: var(--pp-gold-light);
  color: var(--pp-gold-dark);
}

/* =========================================
   LOGO
   ========================================= */
.pp-logo {
  display: flex;
  align-items: baseline;
  gap: 4px;
  font-family: var(--pp-font-head);
  font-size: 22px;
  font-weight: 700;
  color: var(--pp-navy);
  letter-spacing: -0.02em;
  text-decoration: none;
}
.pp-logo-dot {
  width: 7px;
  height: 7px;
  background: var(--pp-gold);
  border-radius: 50%;
  display: inline-block;
  margin-right: 8px;
  align-self: center;
  margin-bottom: 3px;
  flex-shrink: 0;
}
.pp-logo-suffix { color: var(--pp-gold-dark); font-weight: 600; }

/* =========================================
   FAQ ACCORDION
   ========================================= */
.pp-faq-item {
  border-bottom: 1px solid var(--pp-line);
}
.pp-faq-question {
  width: 100%;
  text-align: left;
  padding: 20px 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--pp-navy);
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-family: var(--pp-font-body);
}
.pp-faq-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--pp-gold);
  transition: transform 0.2s ease;
}
.pp-faq-item.is-open .pp-faq-icon { transform: rotate(45deg); }
.pp-faq-answer {
  display: none;
  padding-bottom: 20px;
  color: var(--pp-text-muted);
  line-height: 1.65;
}
.pp-faq-item.is-open .pp-faq-answer { display: block; }
