@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&family=Montserrat:wght@100..900&display=swap');

:root {
    --tinitz-navy: #01446E;
    --tinitz-red: #E94235;
    --tinitz-blue: #1E40AF;
    --tinitz-emerald: #4CAF50;
    --tinitz-slate-50: #F8FAFC;
    --tinitz-slate-900: #0F172A;
    --tinitz-slate-950: #020617;
}

/* Base Styles */
body {
    font-family: 'Outfit', sans-serif;
    color: var(--tinitz-navy);
    background-color: white;
}

::selection {
    background-color: var(--tinitz-red);
    color: white;
}

/* Global Utility Classes (Tailwind Emulation) */
.glass {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.glass-dark {
    background: rgba(1, 68, 110, 0.7);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 2rem;
    background-color: var(--tinitz-red);
    color: white;
    font-weight: 700;
    border-radius: 9999px;
    box-shadow: 0 10px 15px -3px rgba(233, 66, 53, 0.2);
    transition: all 0.3s;
    cursor: pointer;
}

.btn-primary:hover {
    transform: scale(1.05);
    background-color: #d6362b;
}

.btn-primary:active {
    transform: scale(0.95);
}

.btn-secondary {
    display: inline-flex;
    padding: 0.75rem 2rem;
    border: 2px solid rgba(1, 68, 110, 0.1);
    color: var(--tinitz-navy);
    font-weight: 700;
    border-radius: 9999px;
    transition: all 0.3s;
    cursor: pointer;
}

.btn-secondary:hover {
    background-color: var(--tinitz-navy);
    color: white;
}

.bento-card {
    background-color: white;
    padding: 2rem;
    border-radius: 2rem;
    border: 1px solid #f1f5f9;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.bento-card:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    transform: translateY(-0.25rem);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f8fafc;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Animation Keyframes */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from { transform: translateY(20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-20px); }
}

.animate-fade-in { animation: fadeIn 1s ease-out forwards; }
.animate-slide-up { animation: slideUp 0.8s ease-out forwards; }
.animate-float { animation: float 6s ease-in-out infinite; }
