@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Playfair+Display:wght@700&display=swap');

:root { --primary: #1E3A8A; }

body { font-family: 'Inter', system-ui, sans-serif; }
.heading-font { font-family: 'Playfair Display', serif; }

/* HERO ANIMÁCIÓK */
.hero-bg {
    background: linear-gradient(135deg, #0F172A 0%, #1E3A8A 45%, #112C6B 100%);
    position: relative;
    overflow: hidden;
}
.hero-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.12) 0%, transparent 50%);
    animation: slowRotate 45s linear infinite;
    z-index: 1;
    opacity: 0.6;
}
.hero-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: url('../images/subtle-texture.jpg') center/cover;
    opacity: 0.08;
    mix-blend-mode: overlay;
    animation: subtlePan 80s linear infinite;
}
@keyframes slowRotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes subtlePan { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }

/* PREMIUM CTA */
.premium-cta {
    position: relative;
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.premium-cta:hover {
    transform: translateY(-6px) scale(1.04);
    box-shadow: 0 0 60px -10px #F97316;
}
.premium-cta::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -100%;
    width: 40%;
    height: 400%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.45), transparent);
    transition: 0.9s;
}
.premium-cta:hover::before { left: 300%; }

/* GLASS EFFECT */
.glass {
    background: rgba(255,255,255,0.09);
    backdrop-filter: blur(24px);
    border: 1px solid rgba(255,255,255,0.18);
}

/* NAV LOGO */
.nav-logo {
    font-size: 1.95rem;
    font-weight: 900;
    letter-spacing: -2.5px;
    background: linear-gradient(90deg, #1E3A8A, #10B981);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* FAQ */
.faq-details summary {
    transition: all 0.4s ease;
}
.faq-details[open] summary {
    color: #1E3A8A;
}

/* SCROLL REVEAL */
.scroll-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.scroll-reveal.visible {
    opacity: 1;
    transform: translateY(0);
}