/* SBI – Innovation Management AG · main.css */

/* --- Selbst gehostete Schriften (kein externer Google-Aufruf) --- */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('../fonts/manrope.woff2') format('woff2');
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/space-grotesk.woff2') format('woff2');
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/space-mono-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/space-mono-700.woff2') format('woff2');
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Manrope', sans-serif; color: #16233d; background: #ffffff; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; }
::selection { background: #2f4f8a; color: #fff; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes float { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-18px) rotate(2deg); } }
@keyframes gradientShift { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
@keyframes blobDrift { 0%,100% { transform: translate(0,0) rotate(18deg); } 50% { transform: translate(-40px,30px) rotate(24deg); } }
@keyframes blobDrift2 { 0%,100% { transform: translate(0,0); } 50% { transform: translate(30px,-30px); } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes wordIn { 0% { opacity: 0; transform: translateY(18px); } 12%,80% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(-18px); } }
@keyframes pulseDot { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.6); opacity: 0.4; } }
@keyframes iconFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes spinSlow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes dash { to { stroke-dashoffset: 0; } }
@keyframes kenburns { 0% { transform: scale(1.06) translate(0,0); } 50% { transform: scale(1.14) translate(-1.5%,-1%); } 100% { transform: scale(1.06) translate(0,0); } }
@keyframes sweep { 0% { transform: translateX(-120%) skewX(-16deg); opacity: 0; } 18% { opacity: 0.6; } 42% { opacity: 0; } 100% { transform: translateX(220%) skewX(-16deg); opacity: 0; } }
@keyframes particleDrift { 0% { transform: translateY(0) translateX(0); opacity: 0; } 12% { opacity: 0.9; } 88% { opacity: 0.9; } 100% { transform: translateY(-120px) translateX(28px); opacity: 0; } }

.reveal { opacity: 0; transform: translateY(34px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.in { opacity: 1; transform: translateY(0); }
