/* Original visual styles and responsive enhancements. */
.google-gradient-text {
            background: linear-gradient(135deg, #4285F4 0%, #9B51E0 35%, #EA4335 70%, #FBBC05 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .gemini-glow {
            background: radial-gradient(circle at 50% -10%, rgba(66, 133, 244, 0.22) 0%, rgba(139, 92, 246, 0.18) 40%, rgba(8, 12, 20, 0) 75%);
        }
        .app-card-hover {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .app-card-hover:hover {
            transform: translateY(-4px);
            box-shadow: 0 16px 32px -8px rgba(66, 133, 244, 0.25);
            border-color: rgba(66, 133, 244, 0.5);
        }

        /* HORIZONTAL SCROLLING MARQUEE ANIMATIONS */
        @keyframes marquee-left {
            0% { transform: translateX(0%); }
            100% { transform: translateX(-50%); }
        }
        @keyframes marquee-right {
            0% { transform: translateX(-50%); }
            100% { transform: translateX(0%); }
        }
        .animate-marquee-left {
            display: flex;
            width: max-content;
            animation: marquee-left 32s linear infinite;
        }
        .animate-marquee-right {
            display: flex;
            width: max-content;
            animation: marquee-left 36s linear infinite;
        }
        .animate-marquee-left:hover,
        .animate-marquee-right:hover {
            animation-play-state: paused;
        }

        /* GRADIENT EDGE MASK FOR CAROUSEL */
        .marquee-mask {
            mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
            -webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
        }

        /* PULSING GLOW ANIMATION FOR CTA BUTTON */
        @keyframes cta-pulse-glow {
            0%, 100% {
                box-shadow: 0 0 20px rgba(66, 133, 244, 0.4), 0 0 45px rgba(139, 92, 246, 0.25);
                transform: scale(1);
            }
            50% {
                box-shadow: 0 0 35px rgba(66, 133, 244, 0.7), 0 0 65px rgba(139, 92, 246, 0.5);
                transform: scale(1.015);
            }
        }
        .cta-breathing {
            animation: cta-pulse-glow 3.2s ease-in-out infinite;
        }

        /* GENTLE FLOATING BADGE */
        @keyframes soft-float {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-6px); }
        }
        .animate-soft-float {
            animation: soft-float 4.5s ease-in-out infinite;
        }

        /* TOAST NOTIFICATION SLIDE IN */
        @keyframes toast-slide-in {
            0% { transform: translateY(100%) scale(0.9); opacity: 0; }
            100% { transform: translateY(0) scale(1); opacity: 1; }
        }
        @keyframes toast-slide-out {
            0% { transform: translateY(0) scale(1); opacity: 1; }
            100% { transform: translateY(100%) scale(0.9); opacity: 0; }
        }
        .toast-enter {
            animation: toast-slide-in 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }
        .toast-exit {
            animation: toast-slide-out 0.4s ease forwards;
        }

/* Add after the source stylesheet. Original layout and toast classes remain intact. */
[hidden] { display: none !important; }
#live-toast.cp-toast {
  padding-right: 2.2rem;
  max-width: min(24rem, calc(100vw - 2.5rem));
}
.cp-toast-dismiss {
  position: absolute;
  top: .25rem;
  right: .25rem;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: .5rem;
  background: transparent;
  color: #cbd5e1;
  font: 1.25rem/1 sans-serif;
  cursor: pointer;
}
.cp-toast-dismiss:hover { background: #1f2c47; color: white; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid #a5b4fc;
  outline-offset: 4px;
}
.cp-info-dialog {
  position: fixed;
  margin: auto;
  inset: 0;
  width: min(28rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  padding: 1.75rem;
  border: 1px solid #47568a;
  border-radius: 1rem;
  color: #cbd5e1;
  background: #0e1422;
  box-shadow: 0 25px 80px #0009;
  font-family: inherit;
}
.cp-info-dialog::backdrop { background: #030710c9; backdrop-filter: blur(5px); }
.cp-info-dialog h2 { margin: 0 0 .75rem; color: #fff; font-size: 1.25rem; font-weight: 800; }
.cp-info-dialog p { margin: 0; font-size: .9rem; line-height: 1.7; }
.cp-dialog-close {
  margin-top: 1.5rem;
  padding: .65rem 1.25rem;
  border: 1px solid #818cf8;
  border-radius: .65rem;
  background: #4f46e5;
  color: white;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.cp-dialog-close:hover { background: #6366f1; }
.animate-marquee-left:focus-within,
.animate-marquee-right:focus-within { animation-play-state: paused; }
@media (max-width: 640px) {
  #live-toast.cp-toast {
    left: 1rem;
    bottom: calc(6rem + env(safe-area-inset-bottom, 0px));
    max-width: calc(100vw - 2rem);
  }
  #live-toast.cp-toast.cp-toast-top { top: var(--cp-toast-top, 6rem); bottom: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *:not(.cp-review-track), *::before, *::after { animation: none !important; transition: none !important; }
  .toast-enter, .toast-exit { opacity: 1; transform: none; }
  /* Slow the explicitly requested marquee while retaining its seamless loop and pause control. */
  .cp-review-track { animation-duration: 80s; }
}
/* Matching complete halves remove the original marquee's partial-duplicate jump. */
.cp-marquee-group { display: flex; align-items: stretch; flex-shrink: 0; gap: 1.25rem; padding-right: 1.25rem; }
#marquee-toggle { cursor: pointer; }
@media (max-width: 479px) {
  #site-header > div { gap: .5rem; }
  #site-header .brand-lockup { gap: .5rem; }
  #site-header .brand-mark { width: 2rem; height: 2rem; }
  #site-header .brand-wordmark span { font-size: .875rem; }
  #site-header .nav-cta { white-space: nowrap; font-size: .625rem; padding: .625rem .75rem; }
}
@media (max-width: 379px) {
  #site-header .brand-wordmark { gap: .25rem; }
  #site-header .brand-wordmark span { font-size: .75rem; }
  #site-header .brand-lockup > div:last-child > span { font-size: .5rem; }
  #site-header .nav-cta { font-size: .5625rem; padding-inline: .625rem; }
}
.cp-review-track { will-change: transform; }
