
/* Fonts */
:root{
  --radius: 16px;
  --shadow: 0 10px 30px rgba(17,24,39,.10);
}
.font-inter{font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji", sans-serif;}
.font-playfair{font-family: "Playfair Display", Georgia, Cambria, "Times New Roman", Times, serif;}

/* Cards & buttons */
.card{
  background:#fff; border:1px solid #e5e7eb; border-radius: var(--radius); padding: 1rem; box-shadow: var(--shadow);
}
.btn-primary{
  display:inline-flex; align-items:center; gap:.5rem;
  background:#ef4444; color:#fff; padding:.8rem 1.1rem; border-radius:999px; font-weight:600;
  box-shadow: var(--shadow); transition: transform .15s ease, background .15s ease;
}
.btn-primary:hover{ transform: translateY(-1px); background:#dc2626; }
.btn-ghost{
  display:inline-flex; align-items:center; gap:.5rem;
  background:transparent; border:1px solid #e5e7eb; padding:.8rem 1.1rem; border-radius:999px; font-weight:600;
  transition: transform .15s ease, background .15s ease;
}
.btn-ghost:hover{ background:#f9fafb; transform: translateY(-1px); }

/* Steps */
.step{ display:flex; gap:0.9rem; align-items:flex-start; }
.step-num{
  width: 2.5rem; height: 2.5rem; border-radius: 0.8rem; background:#111827; color:#fff; font-weight:800;
  display:grid; place-items:center; box-shadow: var(--shadow);
}

/* FAQ */
.faq-item{ background:#fff; border:1px solid #e5e7eb; border-radius: var(--radius); padding: 1rem 1.1rem; box-shadow: var(--shadow); }
.faq-q{ font-weight:700; cursor:pointer; }
.faq-a{ color:#374151; margin-top:.35rem; }

/* Hover effects */
.hover-raise{ transition: transform .18s ease, box-shadow .18s ease; }
.hover-raise:hover{ transform: translateY(-4px); box-shadow: 0 12px 40px rgba(17,24,39,.15); }
.hover-tilt{ transform-style: preserve-3d; transition: transform .12s ease; }
.hover-tilt:hover{ transform: perspective(800px) rotateX(1.5deg) rotateY(-1.5deg) translateY(-2px); }

/* Reveal on scroll */
.reveal, .reveal-delay-1, .reveal-delay-2, .reveal-delay-3, .reveal-delay-4, .reveal-delay-5, .reveal-delay-6{
  opacity: 0; transform: translateY(12px); transition: all .6s cubic-bezier(.2,.7,.2,1);
}
.reveal.show{ opacity:1; transform:none; }
.reveal-delay-1.show{ opacity:1; transform:none; transition-delay:.10s; }
.reveal-delay-2.show{ opacity:1; transform:none; transition-delay:.18s; }
.reveal-delay-3.show{ opacity:1; transform:none; transition-delay:.26s; }
.reveal-delay-4.show{ opacity:1; transform:none; transition-delay:.34s; }
.reveal-delay-5.show{ opacity:1; transform:none; transition-delay:.42s; }
.reveal-delay-6.show{ opacity:1; transform:none; transition-delay:.50s; }

/* Nav shadow on scroll */
.nav-shadow{ box-shadow: 0 8px 24px rgba(0,0,0,.06); }
