@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Nunito:wght@500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root {
    --bg-light: 248 250 254;
    --white: 255 255 255;
    --text-dark: 30 40 60;

    --primary: 96 165 250;
    --secondary: 244 114 182;
    --accent: 251 191 36;

    --success: 52 211 153;
}

/* RESET */
* {
    box-sizing: border-box;
}

body {
    font-family: 'Nunito', 'Inter', sans-serif;
    background: rgb(var(--bg-light));
    color: rgb(var(--text-dark));
    line-height: 1.6;
    font-size: 16px;
}

/* FONT */
.logo-font {
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 700;
}

.kid-font {
    font-family: 'Nunito', sans-serif;
}

/* NAVBAR */
nav {
    background: rgba(255,255,255,0.9);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(59,130,246,0.15);
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

.hero-bg {
    min-height: 100vh;
    position: relative;
    overflow: hidden;

    background: url('../images/background.png') no-repeat center center;
    background-size: cover;
    background-attachment: fixed;

    display: flex;
    align-items: center;
}

.hero-bg::before,
.hero-bg::after {
    display: none !important;
}

.bubbles {
    display: none;
}

/* CARD */
.card-hover {
    background: linear-gradient(145deg, #ffffff, #f0f9ff);
    border: 3px solid rgba(96,165,250,0.2);
    border-radius: 2.8rem;

    box-shadow:
        0 10px 0 rgba(96,165,250,0.15),
        0 20px 40px rgba(96,165,250,0.15);

    transition: all 0.35s ease;
}

.card-hover:hover {
    transform: translateY(-10px) scale(1.03);
    box-shadow:
        0 16px 0 rgba(251,191,36,0.3),
        0 30px 60px rgba(251,191,36,0.3);
}

/* ICON BOX */
.icon-box {
    width: 60px;
    height: 60px;
    border-radius: 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(135deg, #60a5fa, #f472b6);
    color: white;

    font-size: 28px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}

/* IMAGE */
.demo-img {
    border-radius: 1.5rem;
    transition: all 0.5s ease;
}

/* TEXT */
h1 {
    font-size: clamp(36px, 5vw, 64px);
    line-height: 1.2;
}

h2 {
    font-size: clamp(28px, 4vw, 48px);
}

h3 {
    font-size: 22px;
}

p {
    font-size: 17px;
    color: rgba(30,40,60,0.75);
}

/* GRADIENT TEXT */
.gradient-title {
    background: white;  
    text-shadow:
    2px 2px 0 #ffffff,
    -2px -2px 0 #0865a0,
    2px -2px 0 #0957cb,
    -2px 2px 0 #0865a0,
    0 0 5px #006eb2,
    0 0 10px #0082d2,
    0 0 20px #6cc7ff,
    0 0 40px #ffffff;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    
    font-weight: 700;
    letter-spacing: -2px;
}

.gradient-title-2 {
    background: linear-gradient(135deg, #0573f9, #e23e93);  
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    
    font-weight: 700;
    letter-spacing: -2px;
}


/* BUTTON */
button, .btn {
    border-radius: 999px;
    font-weight: 600;

    background: linear-gradient(135deg, #60a5fa, #f472b6);
    color: white;

    padding: 14px 26px;

    box-shadow: 0 6px 0 rgba(0,0,0,0.15);
    transition: all 0.25s ease;
}

button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 0 rgba(0,0,0,0.2);
}

button:active {
    transform: translateY(2px);
    box-shadow: 0 3px 0 rgba(0,0,0,0.2);
}

/* SECTION */
section {
    background: linear-gradient(
        180deg,
        #f0f9ff 0%,
        #ffffff 50%,
        #fdf2f8 100%
    );
}

/* PROGRESS */
.progress-bar {
    background: linear-gradient(90deg, #34d399, #fbbf24, #fb7185);
    height: 10px;
    border-radius: 999px;
    position: relative;
}

.progress-bar::after {
    position: absolute;
    right: -10px;
    top: -14px;
    font-size: 18px;
}

/* ANIMATION */
@keyframes bubble {
    0% { transform: translateY(0) scale(0.7); opacity: 0.7; }
    50% { transform: translateY(-200px) scale(1.2); opacity: 1; }
    100% { transform: translateY(-400px) scale(1.5); opacity: 0; }
}

@keyframes wave {
    0% { transform: translateX(0); }
    100% { transform: translateX(80%); }
}

@keyframes soft-breathe {
    0%,100% { transform: scale(1); opacity: 0.6; }
    50% { transform: scale(1.05); opacity: 0.9; }
}

/* MICRO INTERACTION */
.card-hover:hover .icon-box {
    transform: rotate(8deg) scale(1.1);
}

button:hover {
    animation: bounce 0.4s ease;
}

@keyframes bounce {
    0% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
    100% { transform: translateY(0); }
}