.icon-card {
  position: relative; border:1px solid #eaeaea; border-radius:1.25rem;
  background: linear-gradient(180deg, #fff 0%, #f9fafb 100%);
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.icon-card::before {
  content:""; position:absolute; inset:0 0 auto 0; height:4px;
  border-top-left-radius:1.25rem; border-top-right-radius:1.25rem;
  background: var(--brand); opacity:.9;
}
.icon-card:hover, .icon-card:focus-within {
  transform: translateY(-6px); box-shadow: 0 14px 30px rgba(0,0,0,.10); border-color: var(--brand);
}
.icon-card .btn-outline-dark { border-radius:.75rem; padding:.5rem .85rem; border-color:#d1d5db; }
.icon-card .btn-outline-dark:hover { border-color:var(--brand); color:#fff; background:var(--brand); }
@media (hover:none){ .icon-card:hover{ transform:none; box-shadow:0 4px 12px rgba(0,0,0,.05);} }
@media (prefers-reduced-motion:reduce){ .icon-card{ transition:none; } }

.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:1050;background:#111827;color:#f9fafb}
.cookie-banner .wrap{max-width:1100px;margin:auto;padding:.9rem 1rem;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.cookie-banner p{margin:0;flex:1;opacity:.95}
.cookie-banner a{color:#93c5fd;text-decoration:underline}
.cookie-btn{border:1px solid transparent;border-radius:.6rem;padding:.45rem .8rem;font-weight:600}
.cookie-accept{background:#10b981;color:#fff}
.cookie-reject{background:transparent;color:#e5e7eb;border-color:#374151}
.cookie-settings{background:#2563eb;color:#fff}



/* Scroll reveal (starting state) */
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.reveal.revealed { opacity: 1; transform: none; }

/* Simple vertical timeline */
.timeline { position: relative; padding-left: 1.75rem; }
.timeline:before { content: ""; position: absolute; left: 8px; top: 0; bottom: 0; width: 2px; background: var(--bs-border-color); }
.timeline-item { position: relative; padding-left: .75rem; margin-bottom: .75rem; }
.timeline-dot { position: absolute; left: -2px; top: .2rem; width: 12px; height: 12px; border-radius: 50%; background: var(--bs-dark); }


.card.rounded-4 { transition: transform .2s ease, box-shadow .2s ease; }
.card.rounded-4:hover { transform: translateY(-2px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.08); }
