/* ===== Footer Landing Pages (distinct layout) ===== */

.fp-hero {
  background: radial-gradient(120% 150% at 10% 0%, rgba(255,221,0,.16), transparent 70%), 
              linear-gradient(to bottom, #ffffff, #f8fafc);
  padding: clamp(28px, 6vw, 64px) clamp(16px, 5vw, 48px);
  border-bottom: 1px solid #e5e7eb;
}
html.dark-mode .fp-hero {
  background: radial-gradient(120% 150% at 10% 0%, rgba(255,153,0,.18), transparent 70%), 
              linear-gradient(to bottom, #0b1220, #0f172a);
  border-bottom-color: #1f2937;
}
.fp-hero h1 {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  margin: 0 0 6px;
}
.fp-hero p { color: #6b7280; }
html.dark-mode .fp-hero p { color: #9ca3af; }

.fp-wrap {
  padding: clamp(18px, 4vw, 36px) clamp(16px, 5vw, 48px);
  background: transparent;
  color: #1f2937;
}
html.dark-mode .fp-wrap { background: transparent; color: #e5e7eb; }

.fp-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(14px, 2vw, 22px);
}
@media (max-width: 1000px) { .fp-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .fp-grid { grid-template-columns: 1fr; } }

.fp-card {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #ffffff;
  padding: clamp(14px, 2vw, 18px);
  box-shadow: 0 10px 20px rgba(0,0,0,.06), 0 2px 6px rgba(0,0,0,.08);
  display: grid; gap: 6px;
}
html.dark-mode .fp-card {
  border-color: #1f2937;
  background: #0f172a;
  box-shadow: 0 10px 20px rgba(0,0,0,.28), 0 2px 6px rgba(0,0,0,.35);
}

.fp-card h3 { margin: 0; font-size: 1.1rem; }
.fp-card p  { margin: 0; color: #6b7280; }
html.dark-mode .fp-card p { color: #9ca3af; }
.fp-actions { display: flex; gap: 10px; margin-top: 8px; flex-wrap: wrap; }

.fp-btn {
  appearance: none; border-radius: 10px; font-weight: 800; cursor: pointer;
  padding: 10px 14px; border: 2px solid #ff9900; color: #111; background: #ff9900;
}
.fp-btn:hover { filter: brightness(1.06); }
.fp-btn-outline { background: transparent; color: #ff9900; }

/* Footer minimal layout */
.fp-footer-minimal {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: clamp(10px, 2vw, 14px);
  padding: clamp(12px, 2.5vw, 18px) clamp(16px, 5vw, 48px);
}
@media (max-width: 900px) { .fp-footer-minimal { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .fp-footer-minimal { grid-template-columns: 1fr; } }

.fp-footer-col h3 { margin: 0; }
.fp-footer-col a { color: inherit; text-decoration: none; }
.fp-footer-col a:hover { text-decoration: underline; }
/* Viewport fill reinforcement */
body { display: flex; flex-direction: column; min-height: 100vh; }
.fp-hero, .fp-wrap { flex: 0 0 auto; }
.footer { flex: 0 0 auto; }
.fp-wrap { padding-bottom: clamp(24px, 6vw, 48px); }
