/* Averon Strategy — custom styles complementing Tailwind CDN */

.hide-scroll::-webkit-scrollbar { display: none; }
.hide-scroll { -ms-overflow-style: none; scrollbar-width: none; }

/* Floating labels */
.float-input:focus ~ .float-label,
.float-input:not(:placeholder-shown) ~ .float-label {
    transform: translateY(-1.5rem) scale(0.85);
    color: #37a2e0;
}
.float-label { transition: all .3s; }

/* Glassmorphism */
.glass {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}
.glass-dark {
    background: rgba(15, 32, 50, 0.7);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.hero-background { animation: heroZoom 30s ease-in-out infinite alternate; }
@keyframes heroZoom { from { transform: scale(1); } to { transform: scale(1.06); } }

/* Scroll reveal */
.reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal.active { opacity: 1; transform: translateY(0); }

/* Push content below the fixed 5rem header on inner pages */
.page-offset { padding-top: 5rem; }

/* Flash toast entrance */
.flash-toast { animation: toastIn .35s cubic-bezier(0.16,1,0.3,1) both; }
@keyframes toastIn { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }

/* Line clamp helper (fallback for older browsers) */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Prose for insight articles */
.prose-averon p { margin-bottom: 1.1rem; line-height: 1.8; color: #475569; }
.prose-averon h2 { font-size: 1.5rem; font-weight: 800; color: #0d203a; margin: 2rem 0 1rem; }
.prose-averon h3 { font-size: 1.2rem; font-weight: 700; color: #0d203a; margin: 1.5rem 0 .75rem; }
.prose-averon ul { list-style: disc; padding-left: 1.4rem; margin-bottom: 1.1rem; color: #475569; }
.prose-averon li { margin-bottom: .4rem; }
.prose-averon a { color: #37a2e0; font-weight: 600; }
