/* ===== BASE ===== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }

/* ===== HERO GRADIENT ===== */
.hero-gradient {
    background: linear-gradient(135deg, #7B2D8B 0%, #5b1f6b 30%, #3d1449 60%, #2a0e33 100%);
}

/* ===== HERO BLOBS ===== */
.hero-blobs { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.3;
    animation: blobFloat 20s ease-in-out infinite;
}
.blob-1 {
    width: 500px; height: 500px;
    background: radial-gradient(circle, #F5C518, transparent 70%);
    top: -10%; right: -5%;
    animation-delay: 0s;
}
.blob-2 {
    width: 400px; height: 400px;
    background: radial-gradient(circle, #e9d5ff, transparent 70%);
    bottom: -5%; left: -5%;
    animation-delay: -7s;
}
.blob-3 {
    width: 300px; height: 300px;
    background: radial-gradient(circle, #fde68a, transparent 70%);
    top: 40%; left: 30%;
    animation-delay: -14s;
}
@keyframes blobFloat {
    0%, 100% { transform: translate(0, 0) scale(1); }
    25% { transform: translate(30px, -40px) scale(1.05); }
    50% { transform: translate(-20px, 20px) scale(0.95); }
    75% { transform: translate(40px, 30px) scale(1.02); }
}

/* ===== SCROLL ARROW ===== */
.hero-scroll-arrow {
    display: flex;
    opacity: 0.7;
    animation: scrollBounce 2s ease-in-out infinite;
}
@keyframes scrollBounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(8px); }
}

/* ===== NAV ===== */
#site-header {
    background: transparent;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}
#site-header.scrolled {
    background: rgba(250, 245, 255, 0.92);
    backdrop-filter: blur(12px);
    box-shadow: 0 1px 20px rgba(123, 45, 139, 0.08);
}

/* ===== MOBILE MENU ===== */
.menu-line { transition: all 0.3s ease; }
#menu-toggle.active .menu-line:nth-child(1) { transform: rotate(45deg) translate(4px, 4px); }
#menu-toggle.active .menu-line:nth-child(2) { opacity: 0; }
#menu-toggle.active .menu-line:nth-child(3) { transform: rotate(-45deg) translate(4px, -4px); width: 20px; }

/* ===== REVEAL ANIMATIONS ===== */
.reveal-up {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal-left {
    opacity: 1;
    transform: translateX(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal-right {
    opacity: 1;
    transform: translateX(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

@media (prefers-reduced-motion: no-preference) {
    .reveal-up, .reveal-left, .reveal-right {
        opacity: 0;
        transform: translateY(30px);
    }
    .reveal-left { transform: translateX(-30px); }
    .reveal-right { transform: translateX(30px); }
}

/* ===== CARD ELEVATION ===== */
.card-elevated { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.card-elevated:hover { transform: translateY(-4px); }

/* ===== PHILOSOPHY PATTERN ===== */
.philosophy-pattern {
    background-size: 40px 40px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .hero-gradient { background: linear-gradient(160deg, #7B2D8B 0%, #5b1f6b 40%, #2a0e33 100%); }
}
