html {
    scroll-behavior: smooth;
}

:root {
    --brand-blue: #00b8ff;
    --brand-red: #E4002B;
    --brand-light: #F8F9FA;
    --transition: all 0.3s ease;
}


/* Manual Brand Utilities (Replacing @theme) */
.text-brand-blue {
    color: var(--brand-blue);
}

.bg-brand-blue {
    background-color: var(--brand-blue);
}

.from-brand-blue {
    --tw-gradient-from: var(--brand-blue) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 61 165 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.text-brand-red {
    color: var(--brand-red);
}

.bg-brand-red {
    background-color: var(--brand-red);
}

.border-brand-red {
    border-color: var(--brand-red);
}

.bg-brand-light {
    background-color: var(--brand-light);
}

.hover\:text-brand-blue:hover {
    color: var(--brand-blue);
}

.group-hover\:text-brand-blue:hover {
    color: var(--brand-blue);
}

body {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    font-style: normal;
    padding-top: 77px;
    /* Mobile Header Height */
}
@media (max-width: 1024px) {
    body {
        padding-top: 64px;
    }
}



/* Custom Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
}

/* Custom Nav Hover Effect */
.nav-link-bottom {
    position: relative;
    padding-bottom: 4px;
}

.nav-link-bottom::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background-color: var(--brand-blue);
    transition: width 0.3s ease;
}

.nav-link-bottom:hover::after {
    width: 100%;
}

/* Header Transitions */
.header-transform {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease;
}

.header-hidden {
    transform: translateY(-100%);
}

.header-scrolled {
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.05), 0 2px 4px -2px rgb(0 0 0 / 0.05);
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Mobile Menu Transitions */
.mobile-menu {
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateX(100%);
}

.mobile-menu.active {
    transform: translateX(0);
}

.accordion-header svg {
    transition: transform 0.3s ease;
}

.accordion-item.active .accordion-header svg {
    transform: rotate(180deg);
}

.accordion-content {
    transition: max-height 0.3s ease-out;
}

/* Custom Card Hovers */
.hover-card {
    transition: var(--transition);
}

.hover-card:hover {
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    transform: translateY(-4px);
}

/* Divider styling */
.divider {
    color: #ddd;
    margin: 0 0.5rem;
    font-weight: 300;
}

@keyframes floating {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-12px);
    }

    100% {
        transform: translateY(0px);
    }
}

.animate-floating {
    animation: floating 3s ease-in-out infinite;
}

.round-que {
    position: relative;
}

.round-que::before {
    content: '';
    background-color: red;
    position: absolute;
    top: -126.9%;
    left: -26.2%;
    clip-path: path("M0,0H19A0,0 0,0,1 19,0V-1A16,16 0,0,0 35,15H40A0,0 0,0,1 40,15V33A0,0 0,0,1 40,33H20A0,0 0,0,1 20,33V34A16,16 0,0,0 4,18H0A0,0 0,0,1 0,18V0A0,0 0,0,1 0,0Z");
    width: 40px;
    height: 33px;
    background-color: #ffffff;
    aspect-ratio: 40 / 33;
}