/* AEL Website UI Kit — shared styles
   Pulled directly from AEL WEB/app/globals.css */
@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap");

@font-face {
  font-family: "Arame";
  src: url("../../fonts/Arame.ttf") format("truetype");
  font-weight: 400 600;
  font-display: swap;
}
@font-face {
  font-family: "Arame";
  src: url("../../fonts/Arame-Bold.ttf") format("truetype");
  font-weight: 700 900;
  font-display: swap;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: #060606;
  color: #F5F5F5;
  font-family: "Inter", system-ui, sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
:root {
  --font-display: "Arame", "Space Grotesk", sans-serif;
  --font-chrome: "Space Grotesk", sans-serif;
  --font-sans: "Inter", sans-serif;
}
::selection { background: rgba(220, 38, 38, 0.3); color: #fff; }
:focus-visible { outline: 2px solid #DC2626; outline-offset: 2px; }

::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-thumb { background: #991B1B; }
::-webkit-scrollbar-track { background: #060606; }

/* Premium button — sweeping diagonal shimmer on hover */
.btn-premium {
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  border: 0;
}
.btn-premium::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
  transform: translateX(-100%);
  transition: transform 0.5s ease;
  pointer-events: none;
}
.btn-premium:hover::before { transform: translateX(100%); }
.btn-premium:hover { transform: translateY(-2px); }
.btn-premium:active { transform: translateY(1px); }

/* Card hover lift */
.card-hover {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(220, 38, 38, 0.15);
  border-color: rgba(220, 38, 38, 0.2) !important;
}

/* Pulse for the live ping */
@keyframes ael-ping { 75%, 100% { transform: scale(2); opacity: 0; } }
.ael-ping-dot {
  position: relative;
  display: inline-block;
}
.ael-ping-dot::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: currentColor;
  animation: ael-ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
  opacity: 0.75;
}

/* Ken Burns slow zoom on hero photo */
@keyframes ken-burns {
  0% { transform: scale(1.05) translateX(0); }
  100% { transform: scale(1.1) translateX(-2%); }
}
.ken-burns { animation: ken-burns 20s ease-in-out infinite alternate; }

/* Conic spinning border on featured org card */
@keyframes ael-spin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
.ael-spin { animation: ael-spin 4s linear infinite; }

/* Fade-in-up on scroll */
@keyframes fade-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.fade-up { animation: fade-up 0.7s cubic-bezier(0.4, 0, 0.2, 1) both; }
