/* Custom styles extracted from inline & improved */
:root{
  --grad-from:#667eea;
  --grad-to:#764ba2;
}

@keyframes floating {
  0%,100%{ transform: translateY(0) }
  50%{ transform: translateY(-14px) }
}
@keyframes fadeIn {
  from { opacity:0; transform: translateY(30px) }
  to   { opacity:1; transform: translateY(0) }
}

body, .font-inter{ font-family: 'Inter',system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif }

.gradient-bg{ background: linear-gradient(135deg, var(--grad-from) 0%, var(--grad-to) 100%) }
.gradient-text{
  background: linear-gradient(135deg, var(--grad-from) 0%, var(--grad-to) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}

.floating{ animation: floating 3s ease-in-out infinite }
.fade-in{ animation: fadeIn .9s ease both }

/* Shapes */
.shape{ position:absolute; border-radius:9999px; opacity:.22; }
.shape-1{ top:5rem; left:2.5rem; width:5rem; height:5rem; background:#c4b5fd; animation-delay:-1s }
.shape-2{ top:10rem; right:5rem; width:4rem; height:4rem; background:#fde68a; animation-delay:-2s }
.shape-3{ bottom:5rem; left:25%; width:3rem; height:3rem; background:#fbcfe8 }
.shape-4{ bottom:8rem; right:33%; width:3.5rem; height:3.5rem; background:#bfdbfe; animation-delay:-.5s }

/* Cookie banner (persist + slide up) */
.cookie-banner{
  position:fixed; bottom:0; left:0; right:0;
  background: rgba(102,126,234,.95);
  backdrop-filter: blur(10px);
  z-index:1000;
  transform: translateY(110%);
  transition: transform .3s ease;
}
.cookie-banner.show{ transform: translateY(0) }

/* Nav */
.menu-toggle{ display:none }
@media (max-width: 768px){
  .menu-toggle{ display:block }
  .nav-menu{ display:none }
  .nav-menu.active{
    display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0;
    background:white; box-shadow: 0 8px 30px rgba(0,0,0,.08);
  }
  .nav-menu a{ color:#374151; padding:12px 16px }
}

/* Cards & images */
.card{ background:#f9fafb; border-radius:.75rem; overflow:hidden; box-shadow: 0 8px 24px rgba(0,0,0,.06); transition: transform .2s, box-shadow .2s }
.card:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.10) }
.card-img{ width:100%; height:12rem; object-fit: cover; display:block }

/* Icon bubble */
.icon-bubble{
  width:4rem; height:4rem; border-radius:9999px; margin:0 auto 1rem;
  display:flex; align-items:center; justify-content:center;
  background:#6d28d9;
}

/* Form */
.input{
  width:100%; border:1px solid #d1d5db; border-radius:.75rem; padding:.75rem 1rem;
  outline: none;
}
.input:focus{ border-color:#7c3aed; box-shadow: 0 0 0 3px rgba(124,58,237,.15) }

/* Prose card for legal pages */
.prose-card{
  background:white; border-radius:.75rem; padding:2rem; box-shadow: 0 12px 32px rgba(17,24,39,.08);
}
.prose-card h2{ font-size:1.25rem; font-weight:700; margin:1.25rem 0 .5rem }
.prose-card p{ color:#374151; line-height:1.7 }
.link{ color:#4f46e5 }
.link:hover{ text-decoration: underline }

.footer{ background:#111827; color:white; padding:2.5rem 0; text-align:center }
