body {
    background: #f8f9fa;
    font-family: 'Inter', 'Montserrat', system-ui, sans-serif;
    color: #0B1F33;
    position: relative;
}

body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        radial-gradient(circle at 20% 50%, rgba(255, 107, 107, 0.02) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(255, 165, 0, 0.02) 0%, transparent 50%);
    pointer-events: none;
    z-index: -1;
}

.navbar {
    box-shadow: 0 2px 8px rgba(11, 31, 51, 0.04);
    position: relative;
}

.navbar::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
    height: 8px;
    background: linear-gradient(90deg, #FF6B6B 0%, #FFA500 50%, #00A6A6 100%);
    opacity: 0.1;
}

.navbar-brand {
    color: #00A6A6 !important;
    letter-spacing: 0.5px;
}

.nav-link.active, .nav-link:focus, .nav-link:hover {
    color: #00A6A6 !important;
}

footer {
    background: #0B1F33;
    color: #fff;
}

.text-teal {
    color: #00A6A6 !important;
}

.card {
    border: none;
    box-shadow: 0 2px 8px rgba(11, 31, 51, 0.04);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #FF6B6B, #FFA500);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.card:hover {
    box-shadow: 0 6px 12px rgba(11, 31, 51, 0.1);
    transform: translateY(-2px);
}

.card:hover::before {
    opacity: 1;
}

.btn-primary {
    background-color: #00A6A6;
    border: none;
}

.btn-primary:hover, .btn-primary:focus {
    background-color: #008080;
}

.btn-coral {
    background-color: #FF6B6B;
    border: none;
    color: white;
}

.btn-coral:hover, .btn-coral:focus {
    background-color: #E55555;
    color: white;
}

.btn-orange {
    background-color: #FFA500;
    border: none;
    color: white;
}

.btn-orange:hover, .btn-orange:focus {
    background-color: #FF9500;
    color: white;
}

.text-coral {
    color: #FF6B6B !important;
}

.text-orange {
    color: #FFA500 !important;
}

.accent-border-coral {
    border-left: 4px solid #FF6B6B;
}

.accent-border-orange {
    border-left: 4px solid #FFA500;
}

/* Decorative divider with geometric pattern */
.section-divider {
    position: relative;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.section-divider::before {
    content: '';
    position: absolute;
    width: 200%;
    height: 100%;
    background: repeating-linear-gradient(
        45deg,
        transparent 0,
        transparent 10px,
        rgba(255, 107, 107, 0.05) 10px,
        rgba(255, 107, 107, 0.05) 20px
    );
    animation: slide 8s linear infinite;
}

@keyframes slide {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(50%);
    }
}

/* Accent line above heroic sections */
h1::before, h2::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 30px;
    background: linear-gradient(180deg, #FF6B6B, #FFA500);
    margin-right: 12px;
    vertical-align: middle;
}

h2::before {
    height: 24px;
}
