/* PREMIUM ULTRA-DARK ANIMATED EDITION 
  Theme: Cyber-Neon & Glassmorphism 
  Requirement: 100% Structure Preserved | 100% Bold Text
*/

@import url('https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;600;700;800&display=swap');

:root {
    /* Color Palette - Vibrant Dark */
    --bg-main: #080a0c;
    --card-bg: rgba(20, 24, 33, 0.85);
    --accent-cyan: #00f2ff;
    --accent-purple: #8a2be2;
    --accent-green: #00ff88;
    --text-white: #ffffff;
    --text-dim: #b0c4de;
    --border-glow: rgba(0, 242, 255, 0.2);
    --glass-border: rgba(255, 255, 255, 0.08);
}

/* Global Reset & Forced Bold */
* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
    font-family: 'Hind Siliguri', sans-serif; 
    font-weight: 800 !important; /* Force all text to be Bold */
}

/* Animated Dark Background */
body { 
    background-color: var(--bg-main); 
    background-image: 
        radial-gradient(circle at 10% 20%, rgba(138, 43, 226, 0.1) 0%, transparent 40%),
        radial-gradient(circle at 90% 80%, rgba(0, 242, 255, 0.1) 0%, transparent 40%);
    background-attachment: fixed;
    color: var(--text-white); 
    overflow-x: hidden; 
    width: 100%; 
    line-height: 1.6; 
}

.container { width: 100%; max-width: 1200px; margin: 0 auto; padding-bottom: 50px; }

/* Header & Cover: Cyber-Glow Style */
.header-wrapper { width: 100%; position: relative; }
.cover-container { 
    width: 100%; height: 320px; 
    position: relative; overflow: hidden; 
    border-bottom: 3px solid var(--accent-cyan);
    background: #000;
}
.cover-photo { width: 100%; height: 100%; object-fit: cover; opacity: 0.7; filter: brightness(0.8) contrast(1.2); }
.cover-overlay { 
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; 
    background: linear-gradient(to bottom, transparent 0%, var(--bg-main) 100%); 
}

/* Profile Avatar Section */
.profile-box { 
    position: relative; padding: 0 5%; margin-top: -110px; 
    display: flex; flex-direction: column; align-items: center; text-align: center; z-index: 10; 
}
.avatar-wrapper { 
    position: relative; width: 185px; height: 185px; border-radius: 50%; padding: 6px; 
    background: linear-gradient(45deg, var(--accent-cyan), var(--accent-purple)); 
    box-shadow: 0 0 30px rgba(0, 242, 255, 0.3);
}
.profile-photo { 
    width: 100%; height: 100%; object-fit: cover; border-radius: 50%; 
    border: 6px solid var(--bg-main); 
}
.status-indicator { 
    position: absolute; bottom: 18px; right: 18px; width: 24px; height: 24px; 
    background: var(--accent-green); border: 4px solid var(--bg-main); border-radius: 50%; 
    box-shadow: 0 0 12px var(--accent-green);
}
.full-name { 
    font-size: 34px; margin-top: 15px; color: var(--text-white); 
    display: flex; align-items: center; gap: 10px; text-transform: uppercase; letter-spacing: 2px;
    text-shadow: 0 0 15px rgba(0, 242, 255, 0.4);
}
.verified-badge { color: var(--accent-cyan); font-size: 24px; }

/* Bio Box: Premium Glass Card */
.bio-box { 
    text-align: center; font-size: 18px; color: var(--text-dim); 
    max-width: 850px; margin: 15px auto; padding: 20px 5%; 
    background: var(--card-bg); 
    backdrop-filter: blur(12px); 
    border: 1px solid var(--glass-border); 
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}

/* Social Icons: Glowing Interaction */
.social-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 15px; margin: 30px 0; }
.soc-item { 
    width: 55px; height: 55px; display: flex; justify-content: center; align-items: center; 
    border-radius: 12px; background: rgba(255, 255, 255, 0.05); color: var(--text-white); 
    font-size: 22px; text-decoration: none; transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); 
    border: 1px solid var(--glass-border);
}
.soc-item:hover { 
    background: var(--accent-cyan); color: #000; 
    transform: translateY(-8px) scale(1.1);
    box-shadow: 0 0 20px var(--accent-cyan);
    border-color: var(--accent-cyan);
}

/* Section Cards: Architectural Dark Design */
.section-card { 
    margin: 30px 5%; padding: 35px; 
    background: var(--card-bg); 
    backdrop-filter: blur(10px);
    border-radius: 20px; 
    border: 1px solid var(--glass-border); 
    position: relative;
    box-shadow: 0 15px 35px rgba(0,0,0,0.5);
    transition: 0.4s ease;
}
.section-card:hover { 
    border-color: var(--accent-cyan);
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 242, 255, 0.15);
}

.section-header { 
    display: flex; align-items: center; gap: 15px; margin-bottom: 25px; 
    border-bottom: 2px solid var(--glass-border); padding-bottom: 15px;
}
.section-header i { font-size: 24px; color: var(--accent-cyan); }
.section-title { font-size: 22px; color: var(--accent-cyan); text-transform: uppercase; letter-spacing: 1.5px; }

/* Layout Grids: Structure Preserved */
.dual-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin: 0 5%; }

/* Timeline: Neon Path */
.timeline-item { position: relative; padding-left: 30px; margin-bottom: 30px; border-left: 2.5px solid var(--glass-border); }
.timeline-dot { 
    position: absolute; left: -10px; top: 0; width: 18px; height: 18px; 
    background: var(--bg-main); border: 4px solid var(--accent-cyan); border-radius: 50%; 
    box-shadow: 0 0 10px var(--accent-cyan);
}
.timeline-item strong { display: block; font-size: 19px; color: var(--text-white); margin-bottom: 5px; }
.timeline-item p { color: var(--text-dim); font-size: 15px; }
.badge, .year-tag { 
    background: rgba(0, 242, 255, 0.1); padding: 5px 14px; border: 1px solid var(--accent-cyan);
    border-radius: 6px; font-size: 12px; color: var(--accent-cyan); 
    margin-top: 10px; display: inline-block;
}

/* Work Gallery: Portfolio Glow */
.work-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 25px; }
.work-item { 
    border-radius: 15px; overflow: hidden; background: rgba(255,255,255,0.02); 
    border: 1px solid var(--glass-border); transition: 0.4s ease; 
}
.work-item:hover { 
    transform: scale(1.03); 
    border-color: var(--accent-cyan);
    box-shadow: 0 10px 30px rgba(0,0,0,0.6);
}
.work-img-wrap { width: 100%; height: 210px; position: relative; overflow: hidden; }
.work-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: 0.5s; }
.work-item:hover .work-img-wrap img { transform: scale(1.1); }
.work-overlay { 
    position: absolute; inset: 0; background: rgba(0, 242, 255, 0.25); 
    backdrop-filter: blur(4px);
    display: flex; justify-content: center; align-items: center; 
    opacity: 0; transition: 0.3s; color: #fff;
}
.work-item:hover .work-overlay { opacity: 1; }
.work-item p { padding: 18px; text-align: center; color: var(--accent-cyan); font-size: 18px; }

/* Skill Bars: Neon Tech Gauges */
.skill-container { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.skill-item-new { background: rgba(255,255,255,0.03); padding: 20px; border: 1px solid var(--glass-border); border-radius: 12px; }
.skill-info { display: flex; justify-content: space-between; font-size: 15px; margin-bottom: 10px; color: var(--accent-cyan); }
.skill-bar-bg { height: 10px; background: rgba(255,255,255,0.05); border-radius: 20px; overflow: hidden; border: 1px solid var(--glass-border); }
.skill-fill-premium { 
    height: 100%; background: linear-gradient(90deg, var(--accent-purple), var(--accent-cyan)); 
    box-shadow: 0 0 15px var(--accent-cyan);
    animation: fillAnim 2s cubic-bezier(0.1, 0, 0.2, 1) forwards;
}

/* Action Buttons: Premium Neon Style */
.action-box { display: flex; flex-wrap: wrap; gap: 15px; margin: 35px 5%; }
.premium-btn { 
    flex: 1; min-width: 220px; padding: 18px; border-radius: 12px; 
    text-decoration: none; display: flex; align-items: center; 
    justify-content: center; gap: 10px; font-size: 18px; text-transform: uppercase;
    letter-spacing: 1.5px; transition: 0.4s;
}
.btn-visit { background: transparent; color: var(--accent-cyan); border: 2.5px solid var(--accent-cyan); }
.btn-call { background: var(--accent-cyan); color: #000; border: 2.5px solid var(--accent-cyan); }
.premium-btn:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 0 25px rgba(0, 242, 255, 0.4);
    filter: brightness(1.2);
}

/* Footer: Technical Signature */
.footer { text-align: center; padding: 50px 5%; border-top: 1px solid var(--glass-border); margin-top: 50px; background: transparent; }
.footer b { color: var(--accent-cyan); font-size: 24px; letter-spacing: 2px; text-shadow: 0 0 10px rgba(0, 242, 255, 0.3); }
.credit a { color: var(--text-dim); text-decoration: none; border-bottom: 1px solid var(--glass-border); }
.credit a:hover { color: var(--accent-cyan); border-color: var(--accent-cyan); }

/* Animations */
@keyframes fadeInUp { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fillAnim { from { width: 0%; } }
.animate-up { animation: fadeInUp 0.8s cubic-bezier(0.2, 1, 0.3, 1) forwards; }

/* Responsive Structures */
@media (max-width: 992px) {
    .dual-grid, .skill-container { grid-template-columns: 1fr; }
    .cover-container { height: 250px; }
    .section-card { margin: 20px 4%; padding: 25px 20px; }
}

@media (min-width: 992px) {
    .dual-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
}

/* Skill Grid Logic */
.skill-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(45%, 1fr));
    gap: 15px;
}
.skill-item-new:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* Elements Protection */
img { pointer-events: none; -webkit-user-drag: none; }
.work-item, .soc-item, .premium-btn { pointer-events: auto; }