/* Global Soft UI Styles */
:root {
    /* ClassPilot Cohesive Palette */
    --hs-bg: #fdfbf7;
    --hs-text: #2c2c2c;

    /* Primary Green Base */
    --hs-green-primary: #00A676;
    --hs-green-light: rgba(0, 166, 118, 0.1);
    --hs-green-dark: #007A5E;

    /* Complementary: Sky Blue */
    --hs-blue: #62B1F6;
    --hs-blue-light: rgba(98, 177, 246, 0.1);
    --hs-blue-dark: #29749e;

    /* Complementary: Warm Amber */
    --hs-orange: #FFCB5B;
    --hs-orange-light: rgba(255, 203, 91, 0.1);
    --hs-orange-dark: #a86c1c;

    /* Complementary: Soft Violet */
    --hs-purple: #a87ffb;
    --hs-purple-light: rgba(168, 127, 251, 0.15);
    --hs-purple-dark: #643eb0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: var(--hs-bg);
    color: var(--hs-text);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Nunito', sans-serif;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.hs-btn {
    background-color: var(--hs-green-primary);
    color: white;
    border-radius: 9999px;
    padding: 1rem 2.5rem;
    font-weight: 700;
    font-family: 'Nunito', sans-serif;
    transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 4px 0 var(--hs-green-dark);
}

.hs-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 0 var(--hs-green-dark);
    background-color: #008f65;
}

.hs-btn:active {
    transform: translateY(2px);
    box-shadow: 0 2px 0 var(--hs-green-dark);
}

/* Soft Rounded Shapes (No Blobs) */
.hs-card {
    background: white;
    border-radius: 40px;
    padding: 2.5rem 2rem;
    transition: transform 0.3s ease;
    position: relative;
    overflow: hidden;
    border: 2px solid transparent;
}

.hs-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
}

.breathe-animation {
    animation: breathe 15s ease-in-out infinite;
}

@keyframes breathe {
    0%, 100% {
        transform: scale(1) translateY(0);
    }
    50% {
        transform: scale(1.08) translateY(-10px);
    }
}

.nav-link {
    font-weight: 600;
    color: var(--hs-text);
    position: relative;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 3px;
    background-color: var(--hs-green-primary);
    border-radius: 2px;
    transition: width 0.3s ease;
}

.nav-link:hover::after {
    width: 100%;
}

/* Luminous icon halo effect (used in test cards) */
.icon-halo { position: relative; }
.icon-halo::before { content: ''; position: absolute; inset: -6px; border-radius: 50%; opacity: 0; transition: opacity 0.4s ease; }
.test-card:hover .icon-halo::before { opacity: 1; }
.icon-halo-blue::before { background: radial-gradient(circle, rgba(98, 177, 246, 0.25) 0%, transparent 70%); }
.icon-halo-orange::before { background: radial-gradient(circle, rgba(255, 203, 91, 0.3) 0%, transparent 70%); }
.icon-halo-purple::before { background: radial-gradient(circle, rgba(168, 127, 251, 0.25) 0%, transparent 70%); }
.icon-halo-green::before { background: radial-gradient(circle, rgba(0, 166, 118, 0.2) 0%, transparent 70%); }

/* Test card hover lift */
.test-card { transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease, border-color 0.3s ease; }
.test-card:hover { transform: translateY(-8px); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08); }

/* Featured card shimmer */
.featured-card { background: linear-gradient(135deg, #f0faf6 0%, #e8f8f2 50%, #f0fdf8 100%); transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease; }
.featured-card:hover { transform: translateY(-6px); box-shadow: 0 24px 60px rgba(0, 166, 118, 0.12); }
