@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:wght@400;700&display=swap');

@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
    /* More vibrant "Attractive" Palette */
    --color-navy: #0B1120;
    /* Darker, richer navy */
    --color-royal: #3b82f6;
    /* Brighter, more vibrant blue (Tailwind blue-500) */
    --color-gold: #fbbf24;
    /* Warm vibrant gold (Amber-400) */
    --color-soft-gray: #f8fafc;
    /* Very light cool gray */
}

body {
    font-family: 'Inter', sans-serif;
    color: var(--color-navy);
    background-color: #f0f9ff;
    /* Light blue-white (sky-50) */
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Playfair Display', serif;
}

/* Custom Utilities */
.text-navy {
    color: var(--color-navy);
}

.bg-navy {
    background-color: var(--color-navy);
}

.text-royal {
    color: var(--color-royal);
}

.bg-royal {
    background-color: var(--color-royal);
}

.bg-gold {
    background-color: var(--color-gold);
}

.text-gold {
    color: var(--color-gold);
}

/* Animation Utils */
.fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
    opacity: 0;
    transform: translateY(20px);
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Locked Footer Credit */
.infinite-credit-lock {
    user-select: none;
    pointer-events: auto;
    font-weight: bold;
}

/* Logo Refinement: Blur/Softening of Outline */
header a img {
    border-radius: 12px;
    /* Soften corners */
    box-shadow: 0 0 15px 10px rgba(240, 249, 255, 1);
    /* Light blue glow to blend edges */
    background-color: #f0f9ff;
    /* Light blue background behind logo */
}

/* Override white backgrounds to light blue */
.bg-white {
    background-color: #e0f2fe !important;
}

/* Sections with white background */
section {
    background-color: #f0f9ff;
}

/* Main content areas */
main {
    background-color: #f0f9ff;
}

/* Header Animations */
@keyframes slideDown {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.animate-slide-down {
    animation: slideDown 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in {
    animation: fadeIn 0.8s ease-out forwards;
    animation-delay: 0.2s; /* Slight delay after top bar */
    opacity: 0; /* Stary invisible */
}

@keyframes pulseSoft {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 0 10px rgba(59, 130, 246, 0);
        transform: scale(1.02);
    }
}

.animate-pulse-soft {
    animation: pulseSoft 3s infinite;
}

/* Hover Underline Animation */
.hover-underline-animation {
    display: inline-block;
    position: relative;
    color: #0B1120; /* Navy default */
}

.hover-underline-animation::after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: #3b82f6; /* Royal Blue */
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
}

.hover-underline-animation:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}
