:root {
    --primary: #FF5FA2;
    --secondary: #FFD6E8;
    --background: #FFFFFF;
    --soft: #FFF5F8;
    --text: #444444;
    --accent: #D98695;
}

body {
    font-family: 'Poppins', sans-serif;
    color: var(--text);
    background-color: var(--background);
    overflow-x: hidden;
}

/* Custom Cursor */
.cursor-dot, .cursor-outline {
    pointer-events: none;
    position: fixed;
    top: 0; left: 0;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    z-index: 9999;
    transition: transform 0.1s ease-out;
}
.cursor-dot { width: 8px; height: 8px; background-color: var(--primary); }
.cursor-outline { width: 30px; height: 30px; border: 2px solid var(--primary); opacity: 0.5; }

/* Loading Screen */
#loading-screen {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background-color: var(--soft);
    z-index: 10000;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.5s ease;
}
.flower-spinner { font-size: 3rem; color: var(--primary); }

/* Typography & Helpers */
.text-pink { color: var(--primary) !important; }
.bg-soft-pink { background-color: var(--secondary) !important; }
.bg-soft-pink-sec { background-color: var(--soft) !important; }
.bg-gradient-pink { background: linear-gradient(135deg, var(--primary), var(--accent)); }
.bg-gradient-pink-soft { background: linear-gradient(180deg, var(--background) 0%, var(--soft) 100%); }
.section-padding { padding: 80px 0; }
.section-title { font-weight: 700; color: var(--text); }
.section-subtitle { color: #777; font-size: 0.95rem; }

/* Buttons */
.btn-pink {
    background-color: var(--primary);
    color: white;
    border: none;
    transition: all 0.3s ease;
}
.btn-pink:hover {
    background-color: #e0488b;
    color: white;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(255, 95, 162, 0.3);
}
.btn-outline-pink {
    border: 2px solid var(--primary);
    color: var(--primary);
    background: transparent;
    transition: all 0.3s ease;
}
.btn-outline-pink:hover {
    background-color: var(--primary);
    color: white;
    transform: translateY(-3px);
}

/* Glassmorphism */
.glass-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 214, 232, 0.5);
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

/* Navbar */
.navbar-custom {
    transition: all 0.3s ease;
    padding: 15px 0;
}
.navbar-custom.scrolled {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    padding: 10px 0;
}
.navbar-brand .logo-text { font-weight: 600; color: var(--text); }
.nav-link { color: var(--text); font-weight: 500; transition: color 0.3s; }
.nav-link:hover, .nav-link.active { color: var(--primary) !important; }

/* Hero Section */
.hero-section { background: linear-gradient(135deg, #FFF5F8 0%, #FFFFFF 100%); }
.greeting-badge { background-color: var(--secondary); color: var(--primary); font-weight: 600; }
.hero-title { font-size: 2.8rem; color: #333; }
.social-circle {
    width: 40px; height: 40px;
    border-radius: 50%;
    background-color: var(--soft);
    color: var(--primary);
    display: flex; align-items: center; justify-content: center;
    transition: all 0.3s;
    text-decoration: none;
}
.social-circle:hover {
    background-color: var(--primary);
    color: white;
    transform: scale(1.1);
}
.social-circle.light { background-color: rgba(255,255,255,0.2); color: white; }
.social-circle.light:hover { background-color: white; color: var(--primary); }

.floating-shape {
    position: absolute; opacity: 0.3; animation: float 6s infinite ease-in-out;
}
.shape-1 { top: 15%; left: 10%; font-size: 2rem; animation-delay: 0s; }
.shape-2 { top: 20%; right: 15%; font-size: 1.5rem; animation-delay: 1s; }
.shape-3 { bottom: 25%; left: 15%; font-size: 2rem; animation-delay: 2s; }
.shape-4 { bottom: 20%; right: 10%; font-size: 1.8rem; animation-delay: 3s; }

@keyframes float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(10deg); }
}

.floating-animation { animation: floatImage 4s infinite ease-in-out; }
@keyframes floatImage {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

.profile-img { width: 320px; height: 320px; object-fit: cover; border: 8px solid white; }
.blob-bg {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 340px; height: 340px;
    background-color: var(--secondary);
    border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
    z-index: -1;
}
.quote-card {
    position: absolute; bottom: -20px; left: 50%;
    transform: translateX(-50%);
    width: 280px;
}

/* Info & Cards */
.info-card { transition: transform 0.3s ease; }
.info-card:hover { transform: translateY(-5px); }
.icon-circle {
    width: 45px; height: 45px; border-radius: 50%;
    background-color: var(--secondary);
    display: flex; align-items: center; justify-content: center;
}

/* Vertical Timeline */
.timeline-vertical::before {
    content: ''; position: absolute; top: 0; bottom: 0; left: 50%;
    width: 3px; background-color: var(--secondary);
    transform: translateX(-50%);
}
.timeline-item { position: relative; margin-bottom: 40px; width: 50%; }
.timeline-item.left { left: 0; padding-right: 30px; text-align: right; }
.timeline-item.right { left: 50%; padding-left: 30px; }
.timeline-icon {
    position: absolute; top: 0;
    width: 40px; height: 40px;
    background: white; border: 2px solid var(--primary);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    z-index: 1;
}
.timeline-item.left .timeline-icon { right: -20px; }
.timeline-item.right .timeline-icon { left: -20px; }

/* Experience & Project Cards */
.exp-card, .project-card, .interest-card {
    transition: all 0.3s ease;
    border-radius: 25px !important;
}
.exp-card:hover, .project-card:hover, .interest-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.08) !important;
}
.exp-icon { font-size: 2.5rem; }

/* Gallery Overlay */
.gallery-item { cursor: pointer; }
.gallery-overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(255, 95, 162, 0.6);
    opacity: 0; transition: opacity 0.3s ease;
}
.gallery-item:hover .gallery-overlay { opacity: 1; }

/* Footer */
.footer-bg { background: linear-gradient(135deg, var(--primary), var(--accent)); }
.max-w-600 { max-width: 600px; }

/* Responsive adjustments */
@media (max-width: 991px) {
    .hero-title { font-size: 2.2rem; }
    .timeline-vertical::before { left: 20px; }
    .timeline-item { width: 100%; padding-left: 50px !important; text-align: left !important; }
    .timeline-item.right { left: 0; }
    .timeline-item.left .timeline-icon, .timeline-item.right .timeline-icon { left: 0; }
}