:root {
    --primary-dark: #1a1d23;
    --accent-pink: #ff4d7d;
    --logo-width: 140px;
    --transition-speed: 0.3s;
}

body {
    font-family: 'Montserrat', sans-serif;
}

/* --- Header & Top Bar --- */
.top-bar {
    background-color: var(--primary-dark);
    color: #ffffff;
    padding: 8px 0;
    font-size: 13px;
}

.top-bar a {
    color: #cbd5e0;
    text-decoration: none;
    transition: color var(--transition-speed);
}

.top-bar a:hover { color: var(--accent-pink); }

.top-bar .social-links a { margin-left: 15px; }

/* Navbar Styling */
.main-nav {
    padding: 10px 0;
    transition: all var(--transition-speed) ease;
}

/* Scrolled Class via JS */
.header-master.scrolled .main-nav {
    padding: 5px 0;
}

.logo-img {
    width: var(--logo-width);
    transition: transform 0.5s ease;
}

.logo-img:hover {
    transform: scale(1.1);
}

.nav-link {
    font-weight: 600;
    color: #333 !important;
    padding: 0 20px !important;
    position: relative;
}

.nav-link:after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 0;
    left: 20px;
    background-color: var(--accent-pink);
    transition: width var(--transition-speed);
}

.nav-link:hover:after { width: calc(100% - 40px); }

/* Buttons */
.btn-cta {
    background-color: var(--accent-pink);
    color: white;
    border-radius: 4px;
    padding: 10px 25px;
    font-weight: 600;
}

.btn-cta:hover { background-color: #e64471; color: white; }

/* --- Hero Section --- */
.hero-section {
    height: 100vh;
    background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), 
                url(images/chemial\ hero.jpg);
    padding-top: 100px;
}

.text-pink { color: var(--accent-pink); letter-spacing: 2px; }

.btn-pink-solid {
    background-color: var(--accent-pink);
    color: white;
    padding: 12px 35px;
    border: 2px solid var(--accent-pink);
}

.btn-white-outline {
    border: 2px solid white;
    color: white;
    padding: 12px 35px;
}

.btn-white-outline:hover { background: white; color: black; }


/* Service Cards */
.service-card {
    transition: all 0.4s ease;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    
}

.service-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.1) !important;
}

.service-card.active {
    background: var(--primary-dark);
    color: white;
}

.service-card.active .text-muted {
    color: #cbd5e0 !important;
}

.icon-box {
    color: var(--accent-pink);
}

/* Stats Section */
.stats-section {
    background-image: linear-gradient(rgba(26, 29, 35, 0.95), rgba(26, 29, 35, 0.95)), 
                      url('https://images.unsplash.com/photo-1518709268805-4e9042af9f23?auto=format&fit=crop&q=80&w=2000');
    background-attachment: fixed;
    background-size: cover;
}

/* Footer link hover */
footer a:hover {
    color: var(--accent-pink) !important;
}

/* Section Colors & Layout */
.bg-dark-industrial {
    background-color: #0f1115; /* Dark matte finish */
}

.small-heading {
    letter-spacing: 1px;
    font-size: 0.85rem;
}

/* Flex height for image */
.mission-image {
    width: 100%;
    height: 100%;
    min-height: 600px;
    background-size: cover;
    background-position: center;
    position: relative;
}

/* Custom Tabs (Tabs UI from image) */
.mission-tabs .nav-tabs .nav-link {
    background: transparent;
    border: none;
    color: #cad7e2;
    font-weight: 700;
    padding: 0;
    margin-right: 25px;
    font-size: 1.1rem;
    position: relative;
    padding-bottom: 10px;
}

.mission-tabs .nav-tabs .nav-link.active {
    color: #ffffff !important;
}

/* The pink line indicator */
.mission-tabs .nav-tabs .nav-link.active::after {
    content: '';
    position: absolute;
    width: 60px; /* Line length */
    height: 3px;
    background-color: #ff4d7d;
    bottom: 0;
    left: 0;
}

.mission-tabs .tab-content p {
    font-size: 0.95rem;
    line-height: 1.8;
    max-width: 500px;
}

/* Mobile Fixes */
@media (max-width: 991px) {
    .mission-image {
        min-height: 400px;
    }
    .content-wrapper {
        padding: 20px 0;
    }
}



/* CEO Section Background with Mountain Overlay */
.ceo-message-section {
    background: linear-gradient(rgba(13, 15, 18, 0.85), rgba(13, 15, 18, 0.85)), 
                url('https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&q=80&w=2070');
    background-size: cover;
    background-position: center;
    background-attachment: fixed; /* Parallax effect */
    padding: 100px 0;
    overflow: hidden;
}

/* Image Curve Effect (Shape from image) */
.ceo-image-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 400px;
}

.ceo-img {
    width: 100%;
    height: auto;
    border-radius:100%/ 50%; /* Organic shape similar to image */
    box-shadow: 0 20px 40px rgba(0,0,0,0.5);
    border: 5px solid rgba(255, 255, 255, 0.1);
    transition: transform 0.5s ease;
}

.ceo-img:hover {
    transform: scale(1.03);
}

/* Scroll to Top Button */
.scroll-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 45px;
    height: 45px;
    border-radius: 5px;
    background-color: #343a40;
    color: white;
    display: none; /* Initially hidden */
    z-index: 1000;
    border: none;
    transition: 0.3s;
}

.scroll-top:hover {
    background-color: var(--accent-pink);
    transform: translateY(-5px);
}


/* Social Buttons Styling */
.social-btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,0.1);
    background: rgba(255,255,255,0.05);
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.social-btn:hover {
    background-color: #ff4d7d; /* Pink highlight */
    border-color: #ff4d7d;
    color: #fff;
    transform: translateY(-3px);
}

.copyright-bar {
    margin-top: 50px;
}

/* Text Pink class used in link */
.text-pink {
    color: #ff4d7d !important;
}


/* Contact Section General Styles */
.contact-section {
    background-color: #f8f9fa; /* Light grey background for section */
}

.contact-wrapper {
    border-radius: 10px;
    overflow: hidden;
}

.bg-dark-contact {
    background-color: #1a1d23; /* Same dark color as previous sections */
    position: relative;
}

/* Form Input Styling */
.custom-input {
    border: none;
    border-bottom: 1px solid #dee2e6;
    border-radius: 0;
    padding: 12px 0;
    font-size: 0.95rem;
    color: #333;
}

.custom-input:focus {
    box-shadow: none;
    border-color: #ff4d7d;
}

/* Submit Button */
.btn-send {
    background-color: #e66b8d; /* Pink shade from image */
    color: white;
    font-weight: 600;
    text-transform: none;
    border-radius: 5px;
    transition: all 0.3s ease;
}

.btn-send:hover {
    background-color: #d15a7a;
    color: white;
    transform: translateY(-2px);
}

.mini-img-box img {
    filter: grayscale(20%);
    border: 1px solid rgba(255,255,255,0.1);
}

/* Responsiveness for mobile */
@media (max-width: 991px) {
    .bg-dark-contact {
        padding: 40px 20px !important;
    }
    .bg-white {
        padding: 40px 20px !important;
    }
}




/* Sabhi bade sections ki padding kam karne ke liye */
section {
    padding-top: 50px !important;   /* Pehle 80px-100px thi */
    padding-bottom: 50px !important;
}

/* CEO aur Contact section ki height kam karne ke liye */
.ceo-message-section, .contact-section {
    padding: 40px 0 !important;
}


/* Mobile (Phone) screens ke liye specifically */
@media (max-width: 767px) {
    
    /* 1. Navbar ki overall padding kam karein */
    .main-nav {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    /* 2. Logo ka size mobile par thoda chota karein taaki height kam ho jaye */
    .logo-img {
        width: 100px !important; /* Original se kam kiya gaya */
        height: auto;
    }

    /* 3. Hamburger icon (Toggler) ki margin aur size adjust karein */
    .navbar-toggler {
        padding: 4px 8px !important;
        font-size: 0.9rem !important;
        margin-right: 5px;
    }

    /* 4. Navbar container ka gap kam karein */
    .main-nav .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}




/* Stats Styling */
.text-gradient {
    background: linear-gradient(45deg, var(--accent-pink), #ff8fa3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.experience-card {
    background: #ffffff;
    border-radius: 20px;
}

.bg-industrial-dark {
    background-color: #1a1d23;
    padding: 60px 0;
}

.stat-card {
    padding: 20px;
    transition: transform 0.3s ease;
}

.stat-card:hover {
    transform: translateY(-10px);
}

.text-pink {
    color: #ff4d7d;
    text-shadow: 0 0 15px rgba(255, 77, 125, 0.3);
}

.ls-2 {
    letter-spacing: 2px;
}
/* Mobile Optimized Styles */
@media (max-width: 767px) {
    .counter-section {
        padding: 40px 0; /* Mobile par thoda kam padding */
    }
    .stat-card {
        margin-bottom: 30px;
        padding: 10px;
    }
    .stat-card h2 {
        font-size: 2.5rem !important; /* Mobile par size thoda chota taaki ek line mein aaye */
    }
    .stat-card p {
        font-size: 0.7rem !important;
        letter-spacing: 1px;
    }
}


/* Jab animation start ho toh numbers thode glow karein */
.counter.animating {
    animation: pulse-pink 0.5s ease-in-out;
}

@keyframes pulse-pink {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

.icon-circle {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.5rem;
}

/* Team Styling */
.modern-team-section {
    background-color: var(--dark-slate);
    position: relative;
    overflow: hidden;
}

/* Translucent Background Text */
.modern-team-section::before {
   
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 8rem;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.03);
    white-space: nowrap;
    z-index: 0;
}

.img-wrapper {
    width: 200px;
    height: 200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    box-shadow: 0 10px 30px rgba(255, 77, 125, 0.3);
}

.team-profile {
    transition: transform 0.3s ease;
}

.team-profile:hover {
    transform: scale(1.05);
}

/* Mobile Stack Styling */
@media (max-width: 991px) {
    .team-profile {
        margin-bottom: 40px; /* Har member ke beech gap */
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .team-img {
        width: 180px; /* Mobile par stack hone par image thodi badi acchi lagti hai */
        height: 180px;
    }

    .member-info h5 {
        font-size: 1.4rem;
    }
}

/* Background & Theme */
.bg-dark-custom { background-color: #0f1115; }
.bg-pink { background-color: #ff4d7d; }
.text-pink-light { color: #ff4d7d; font-weight: 500; }

.img-container {
    position: relative;
    display: inline-block;
    /* Glow Effect behind the image */
    background: radial-gradient(circle, rgba(255, 77, 125, 0.2) 0%, transparent 70%);
    padding: 15px;
    border-radius: 50%;
}

.team-face-zoom {
    width: 260px;  /* Size aur bada kiya */
    height: 260px; /* Square ratio for perfect circle */
    border-radius: 50%;
    object-fit: cover;
    /* Face par focus karne ke liye niche wali line important hai */
    object-position: center 15%; 
    border: 6px solid #fff;
    box-shadow: 0 15px 35px rgba(0,0,0,0.4);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Hover par thoda aur bada aur pink border */
.team-profile:hover .team-face-zoom {
    transform: scale(1.08);
    border-color: #ff4d7d;
    box-shadow: 0 0 30px rgba(255, 77, 125, 0.4);
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .team-face-zoom {
        width: 220px; /* Mobile par screen ke hisab se bada size */
        height: 220px;
        border-width: 4px;
    }
    
    .team-profile {
        margin-bottom: 20px;
    }
}

/* Desktop sizing */
.team-img {
    width: 220px;
    height: 220px;
    object-fit: cover;
    border: 4px solid rgba(255, 77, 125, 0.3);
    padding: 8px;
    transition: 0.4s ease-in-out;
}

.team-img:hover {
    box-shadow: 0 0 30px rgba(255, 77, 125, 0.5);
    border-color: #ff4d7d;
}
.border-pink { border-color: var(--accent-pink) !important; }

/* Mobile View adjustments */
@media (max-width: 768px) {
    .modern-team-section::before { font-size: 3rem; bottom: 10px; }
    .img-wrapper { width: 160px; height: 160px; }
}


/* Unique Variables */
:root {
    --pink-glow: rgba(255, 77, 125, 0.1);
    --ls-2: 2px;
}

/* Intro Section Shape */
.product-hero-img .main-frame {
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; /* Organic Shape */
    transition: all 0.5s ease;
}

.product-hero-img:hover .main-frame {
    border-radius: 50%;
}

.shape-blob {
    position: absolute;
    width: 300px;
    height: 300px;
    background: var(--pink-glow);
    filter: blur(50px);
    z-index: -1;
    top: -20px;
}

/* Product Cards Styling */
/* Container styling */
.product-intro {
    background-color: #ffffff;
    position: relative;

}

/* Image Frame & Animation */
.product-hero-img {
    position: relative;
    z-index: 2;
    padding: 15px;
    animation: floatImage 6s ease-in-out infinite; /* Floating effect */
}

.main-frame {
    border-radius: 30px 100px 30px 30px; /* Unique modern shape */
    border: 8px solid #fff;
    transition: transform 0.4s ease;
}

.main-frame:hover {
    transform: scale(1.02);
}

/* Background Blob - Piche ka moving shape */
.shape-blob {
    position: absolute;
    width: 350px;
    height: 350px;
    background: #ffe6ed; /* Light Pink */
    border-radius: 50%;
    filter: blur(50px);
    z-index: 1;
    top: -20px;
    left: -20px;
    animation: morph 8s ease-in-out infinite;
}

/* Floating Badge */
.experience-badge {
    position: absolute;
    bottom: 30px;
    right: -10px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    padding: 15px 25px;
    border-radius: 15px;
    border-left: 5px solid #ff4d7d;
    z-index: 3;
    font-size: 1rem;
    color: #333;
}

/* Animations */
@keyframes floatImage {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-20px); }
}

@keyframes morph {
    0%, 100% { border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%; }
    50% { border-radius: 70% 30% 46% 54% / 30% 29% 71% 70%; }
}

/* Button & Text styling */
.text-pink { color: #ff4d7d; }
.ls-2 { letter-spacing: 2px; }

.btn-pink-custom {
    background-color: #ff4d7d;
    color: white;
    border: none;
    transition: 0.3s;
}

.btn-pink-custom:hover {
    background-color: #d6335c;
    color: white;
    transform: translateY(-3px);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .shape-blob {
        width: 250px;
        height: 250px;
    }
    .main-frame {
        border-radius: 30px; /* Normal mobile par */
    }
    .experience-badge {
        bottom: 10px;
        right: 10px;
        padding: 10px 15px;
        font-size: 0.8rem;
    }
}

/* Product Image Size and Styling */
/* Product Hero Image Container */
/* Product Hero Image Container */
/* Product Hero Image Container */
.product-hero-img {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center; /* Image ko center karne ke liye */
    align-items: center;
}

/* Sharp HD Square Image Styling */
.main-frame {
    /* Size Control: 100% ki jagah 80% kiya taaki thoda chota dikhe */
    width: 80%; 
    max-width: 420px; /* Desktop par size limit karne ke liye */
    
    aspect-ratio: 1 / 1; /* Perfect Square */
    object-fit: cover;   /* Taki image stretch na ho */
    border-radius: 0 !important; /* Sharp corners */
    
    /* --- HD ENHANCEMENT FILTERS --- */
    filter: contrast(1.1) saturate(1.1) brightness(1.02);
    image-rendering: -webkit-optimize-contrast; /* Browser sharpness boost */
    
    /* Premium Border & Shadow */
    border: 10px solid #ffffff;
    box-shadow: 0 15px 40px rgba(0,0,0,0.15);
    transition: all 0.4s ease;
}

/* Hover par aur bhi sharp dikhega */
.main-frame:hover {
    transform: scale(1.03);
    filter: contrast(1.15) saturate(1.2);
    box-shadow: 0 20px 50px rgba(255, 77, 125, 0.2);
}

/* Background Soft Glow (Blob) */
.shape-blob {
    position: absolute;
    width: 90%;
    height: 90%;
    background: #ffe6ed;
    border-radius: 50%;
    filter: blur(60px);
    z-index: 1;
    opacity: 0.6;
}

/* Experience Badge */
.experience-badge {
    position: absolute;
    bottom: -10px;
    right: 5%; /* Choti image ke hisab se position */
    background: #ff4d7d;
    color: white;
    padding: 10px 15px;
    font-size: 0.85rem;
    font-weight: 700;
    z-index: 3;
    text-transform: uppercase;
    box-shadow: 5px 5px 15px rgba(0,0,0,0.1);
}

/* Mobile responsive */
@media (max-width: 768px) {
    .main-frame {
        width: 85%; /* Mobile par screen ke hisab se balance */
        border-width: 7px;
    }
}

/* Floating Animation */
@keyframes floatImage {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}
.product-img-circle {
    /* Image size yahan se control karein */
    width: 220px; 
    height: 220px;
    
    object-fit: cover; /* Taki image pichke nahi */
    border-radius: 50%; /* Circle shape ke liye */
   
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

/* Hover effect: Mouse le jane par thoda aur bada dikhega */
.product-item:hover .product-img-circle {
    transform: scale(1.05);
    border-color: #ff4d7d; /* Aapka theme pink color */
}

/* Learn More Link Styling */
.learn-more-link {
    color: #ff4d7d;
    font-weight: 600;
    text-decoration: none;
    transition: 0.3s;
}

.learn-more-link:hover {
    color: #333;
    padding-left: 5px;
}

/* --- Responsive Adjustments --- */

/* Mobile par image size adjust karne ke liye */
@media (max-width: 767px) {
    .product-img-circle {
        width: 180px; 
        height: 180px;
        margin-bottom: 20px;
    }
    
    /* Mobile par borders hatane ke liye taaki clean dikhe */
    .border-start, .border-end {
        border: none !important;
    }
    
    .product-item {
        padding: 30px 15px !important;
    }
}

.learn-more-link {
    color: var(--accent-pink);
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1px;
}

.learn-more-link:hover i {
    transform: translateX(5px);
    transition: 0.3s;
}

/* Testimonial Softness */
.testimonial-modern {
    background: linear-gradient(to bottom, #ffffff, #fdf2f5);
}

.text-pink-light {
    color: #ffdce5;
}

.ls-2 { letter-spacing: var(--ls-2); }





/* conatct */
/* Custom Palette */
:root {
    --industrial-dark: #12151c;
    --accent-pink: #ff4d7d;
    --soft-pink: #fff0f3;
}

/* Hero Section Styles */
.contact-hero {
    background: linear-gradient(rgba(18, 21, 28, 0.9), rgba(18, 21, 28, 0.9)), 
                url('https://images.unsplash.com/photo-1516937941344-00b4e0337589?auto=format&fit=crop&q=80&w=1500');
    background-size: cover;
    background-position: center;
}

.text-pink-light { color: var(--accent-pink); text-decoration: none; }

/* Main Card Styles */
.bg-industrial-dark { background-color: var(--industrial-dark); }

.shadow-extreme {
    box-shadow: 0 40px 100px rgba(0,0,0,0.15) !important;
}

/* Floating Labels Customization */
.form-control:focus {
    box-shadow: none;
    border-color: var(--accent-pink) !important;
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label {
    color: var(--accent-pink);
    opacity: 1;
}

/* Social Circles */
.social-circle {
    width: 45px;
    height: 45px;
    background: rgba(255,255,255,0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: white;
    text-decoration: none;
    transition: 0.3s ease;
}

.social-circle:hover {
    background: var(--accent-pink);
    transform: translateY(-5px);
    color: white;
}

/* Premium Button */
.btn-pink-action {
    background: var(--accent-pink);
    color: white;
    border: none;
    font-weight: 700;
    border-radius: 8px;
    transition: all 0.4s;
}

.btn-pink-action:hover {
    background: #e63968;
    box-shadow: 0 10px 20px rgba(255, 77, 125, 0.4);
    transform: translateY(-2px);
    color: white;
}

/* Mobile Fixes */
@media (max-width: 991px) {
    .contact-main-wrapper .row { border-radius: 20px !important; }
    .bg-industrial-dark, .bg-white { padding: 40px 25px !important; }
}

/* Premium Footer Styling */
.premium-footer {
    background: #0f1115; /* Deep Carbon Color */
    padding: 100px 0 40px 0;
    position: relative;
    color: #e0e0e0;
    overflow: hidden;
}

.footer-logo-premium {
    max-width: 180px; /* Size control */
    height: auto;
    filter: brightness(1.1); /* Logo ko thoda aur saaf dikhane ke liye */
    transition: all 0.3s ease;
    display: block;
}

/* Agar logo ka background white hai aur aap use dark footer par laga rahe hain */
/* toh niche wala background aur border add karein, varna skip karein */
.footer-logo-premium {
    background: #fff; 
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.footer-logo-premium:hover {
    transform: scale(1.05);
    filter: brightness(1.2);
}

/* Mobile Alignment Fix */
@media (max-width: 768px) {
    .footer-logo-premium {
        max-width: 150px;
        margin-left: auto;
        margin-right: auto; /* Mobile par logo center rahega */
    }
    
    .footer-branding {
        text-align: center; /* Description bhi center ho jayegi */
    }
}
/* Reference image jaisa industrial pattern par thoda subtle */
.footer-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-image: radial-gradient(rgba(255, 77, 125, 0.05) 1px, transparent 1px);
    background-size: 30px 30px;
    opacity: 0.5;
}

/* Titles with Neon underline */
.widget-title {
    font-size: 1.1rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    position: relative;
    color: #fff;
}

.widget-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 30px;
    height: 2px;
    background: #ff4d7d; /* Your signature pink */
    box-shadow: 0 0 10px #ff4d7d;
}

/* Content Text Spacing */
.widget-text {
    font-size: 0.95rem;
    color: #94a3b8;
    line-height: 1.8;
}

/* Interactive Glass Icons */
.social-flex {
    display: flex;
    gap: 12px;
}

.glass-icon {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #cbd5e1;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.glass-icon:hover {
    background: #ff4d7d;
    color: white;
    transform: translateY(-8px) scale(1.1);
    box-shadow: 0 15px 30px rgba(255, 77, 125, 0.4);
    border-color: #ff4d7d;
}

/* Contact Links Styling */
.contact-item {
    color: #94a3b8;
    text-decoration: none;
    font-weight: 500;
    transition: 0.3s;
}

.contact-item:hover {
    color: #ff4d7d;
    padding-left: 5px;
}

/* Animated Divider */
.footer-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    margin: 40px 0 0 0;
}

/* Copyright Section */
.copyright-section p {
    font-size: 0.85rem;
    color: #64748b;
}

.dev-tag a {
    color: #ff4d7d;
    text-decoration: none;
    font-weight: 700;
}

.dev-tag a:hover {
    text-decoration: underline;
}

/* Mobile Responsiveness */
@media (max-width: 991px) {
    .premium-footer { padding: 60px 0 30px 0; text-align: center; }
    .widget-title::after { left: 50%; transform: translateX(-50%); }
    .social-flex { justify-content: center; }
}



.bg-dark-custom {
    background-color: #710f47;
    /* Halka sa grid pattern */
    background-image: radial-gradient(rgba(255, 77, 125, 0.05) 1px, transparent 1px);
    background-size: 30px 30px;
}







/* --- Desktop & General Styles --- */
.text-pink { color: #ff4d7d; }
.bg-pink { background-color: #ff4d7d !important; }

.testimonial-divider {
    width: 60px;
    height: 3px;
    background: #ff4d7d;
    border-radius: 2px;
}

.italic-text {
    font-style: italic;
    line-height: 1.8;
}

/* Indicators Styling */
.carousel-indicators [data-bs-target] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin: 0 5px;
    background-color: #ff4d7d; /* Dots ka default color */
}

/* --- TABLET (Tab) ADJUSTMENTS --- */
@media (max-width: 991px) {
    .testimonial-section {
        padding: 40px 0;
    }
    .testimonial-content p.lead {
        font-size: 1.15rem; /* Tab par font thoda chota */
        padding: 0 20px;
    }
}

/* --- MOBILE ADJUSTMENTS --- */
@media (max-width: 767px) {
    .testimonial-content p.lead {
        font-size: 1rem; /* Mobile par readable size */
        padding: 0 10px; /* Side spacing kam ki */
        line-height: 1.6;
    }
    
    .testimonial-divider {
        margin: 1.5rem auto !important; /* Mobile par gap kam kiya */
    }

    .client-info p {
        font-size: 0.95rem; /* Client name chota kiya */
    }

    .carousel-indicators {
        bottom: -30px; /* Dots ko thoda niche shift kiya taaki text se na takrayein */
    }
}

/* Smooth Fade Effect (Optional) */
.carousel-fade .carousel-item {
    opacity: 0;
    transition-duration: 0.6s;
    transition-property: opacity;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
    opacity: 1;
}





/* featuresection about */

.features-section {
    background: #fdfdfd;
}

.feature-card {
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 0; /* Sharp look as per your image */
    position: relative;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    overflow: hidden;
    z-index: 1;
}

/* Background Diagonal Shape (As seen in image_bb9f0c.png) */
.feature-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(255, 77, 125, 0.03) 0%, transparent 50%);
    z-index: -1;
}

/* The Blueish Line on Top */
.feature-line {
    width: 80px;
    height: 4px;
    background-color: #bcd9e8; /* Light blue line from your image */
    border-radius: 2px;
    transition: 0.3s;
}

/* Hover Effects */
.feature-card:hover {
    transform: translateY(-10px);
    background: #ffffff;
    box-shadow: 0 20px 40px rgba(0,0,0,0.08) !important;
}

.feature-card:hover .feature-line {
    width: 100px;
    background-color: #ff4d7d; /* Pink on hover */
}

/* Active Card Style (Optional: Beech wala card hamesha highlight rahega) */
.active-card {
    border-bottom: 4px solid #ff4d7d;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .feature-card {
        padding: 30px 20px !important;
    }
}

/* Stats Box Hover Effect */
.stat-box {
    transition: all 0.4s ease-in-out;
}

.stat-box:hover {
    transform: translateY(-10px);
}

/* Icon Pop-Up (Jib) Animation */
.pop-icon {
    display: flex;
    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.stat-box:hover .pop-icon {
    transform: scale(1.3) rotate(10deg);
    background-color: #ff4d7d !important; /* Pink background on hover */
}

.stat-box:hover .pop-icon i {
    color: #fff !important;
    animation: iconJib 0.5s ease infinite alternate;
}

@keyframes iconJib {
    from { transform: translateY(0); }
    to { transform: translateY(-8px); }
}

/* General Colors */
.text-pink { color: #ff4d7d; }
.bg-pink { background-color: #ff4d7d; }
.border-pink { border-color: #ff4d7d !important; }

.text-gradient {
    background: linear-gradient(45deg, #ff4d7d, #2d2d2d);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}




/* bridging-section */
/* Custom Pink Color */
.text-pink { color: #d63384 !important; }

/* Always Moving Icons Animation */
.moving-icon {
    display: inline-block;
    animation: floatAnimation 3s ease-in-out infinite;
}

@keyframes floatAnimation {
    0% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-15px) rotate(5deg); }
    100% { transform: translateY(0px) rotate(0deg); }
}

/* Stats Styling */
.stat-item h2 {
    font-size: 2.5rem;
    color: #333;
}

.stat-item p {
    font-weight: 500;
    letter-spacing: 1px;
}

/* Image Fit Fix */
.object-fit-cover {
    object-fit: cover;
}
/* Icons floating animation */
.moving-icon {
    display: inline-block;
    animation: floatMove 3s ease-in-out infinite;
}

@keyframes floatMove {
    0%, 100% { transform: translateY(0) rotate(0); }
    50% { transform: translateY(-10px) rotate(5deg); }
}

/* Counter span styling */
.counter {
    display: inline-block;
    min-width: 60px; /* Layout jump rokne ke liye */
}



/* image sanprit */

/* Section Styling */
.factory-image-section {
    width: 100%;
    background-color: #fff; /* Image ke peeche ka background clean white */
    overflow: hidden;
    padding: 40px 0; /* Upar niche thodi jagah */
}

.image-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

/* Image Responsiveness */
.responsive-factory-img {
    width: 100%;        /* Mobile aur Laptop par width adjust karne ke liye */
    max-width: 1200px;  /* Laptop par image bahut zyada badi na ho jaye */
    height: auto;       /* Aspect ratio maintain rakhne ke liye */
    display: block;
    transition: transform 0.5s ease; /* Halka sa hover effect */
}

/* Laptop/Desktop Hover Effect */
@media (min-width: 992px) {
    .responsive-factory-img:hover {
        transform: scale(1.02); /* Mouse le jane par halki zoom hogi */
    }
}

/* Mobile Screen Adjustments */
@media (max-width: 768px) {
    .factory-image-section {
        padding: 20px 10px; /* Mobile par side mein halki jagah */
    }
    
    .responsive-factory-img {
        max-width: 100%; /* Mobile par puri screen cover karegi */
    }
}




/* Unique Section Wrapper */
.chemical-inventory {
    background-color: #f4f7f9;
}

/* Chemical Card Design */
.chemical-card {
    background: #ffffff;
    border-radius: 0 15px 15px 0;
    border-left: 5px solid #ff4d7d; /* Pink accent on left */
    padding: 30px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: all 0.4s ease;
    position: relative;
}

.chemical-card:hover {
    transform: translateX(10px); /* Halka sa right slide */
    box-shadow: 15px 15px 30px rgba(0,0,0,0.1);
}

/* Image Styling */
.chemical-thumb {
    flex: 0 0 120px;
    margin-right: 30px;
}

.chemical-thumb img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 12px;
    border: 2px solid #eee;
}

/* Text Content */
.chemical-info {
    flex: 1;
    padding: 0 20px;
}

.chemical-title {
    font-size: 1.5rem;
    font-weight: 800;
    color: #2d3436;
    margin-bottom: 8px;
}

.chemical-desc {
    color: #636e72;
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 0;
}

/* Button/Action Styling */
.chemical-action {
    flex: 0 0 220px;
    text-align: right;
}

.btn-specs {
    text-decoration: none;
    color: #ff4d7d;
    font-weight: 700;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    border: 1px dashed #ff4d7d;
    border-radius: 8px;
    transition: 0.3s;
}

.btn-specs:hover {
    background: #ff4d7d;
    color: #fff;
    border-style: solid;
}

/* Responsive Fix */
@media (max-width: 768px) {
    .chemical-card {
        flex-direction: column;
        text-align: center;
        border-radius: 15px;
        border-left: none;
        border-top: 5px solid #ff4d7d;
    }
    .chemical-thumb {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .chemical-action {
        margin-top: 20px;
        flex: none;
        width: 100%;
        text-align: center;
    }
}

/* Modal Styling */
.modal-content {
    animation: modalSlideUp 0.4s ease-out;
}

@keyframes modalSlideUp {
    from { transform: translateY(50px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.text-pink { color: #ff4d7d !important; }
.btn-pink { background-color: #ff4d7d !important; border: none; }
.btn-pink:hover { background-color: #e6396a !important; }

.modal-header {
    border-bottom: 3px solid #ff4d7d;
}




/* Creative Masonry Gallery */
.creative-gallery {
    background: #f8f9fa;
}

.masonry-grid {
    column-count: 4;
    column-gap: 20px;
}

.masonry-item {
    margin-bottom: 20px;
    overflow: hidden;
    border-radius: 18px;
    break-inside: avoid;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.masonry-item img {
    width: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* Heights illusion */
.masonry-item.tall img {
    height: 420px;
}

.masonry-item:not(.tall):not(.wide) img {
    height: 260px;
}

.masonry-item.wide img {
    height: 320px;
}

/* Hover Effect */
.masonry-item:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 50px rgba(0,0,0,0.18);
}

.masonry-item:hover img {
    transform: scale(1.1);
}

/* Tablet */
@media (max-width: 992px) {
    .masonry-grid {
        column-count: 3;
    }
}

/* Mobile */
@media (max-width: 576px) {
    .masonry-grid {
        column-count: 2;
    }

    .masonry-item img {
        height: 200px !important;
    }
}



/* ===============================
   RESPONSIVE PROFESSIONAL RIBBON
================================ */

.ribbon-wrapper{
  width:100%;
  overflow:hidden;
  background: linear-gradient(90deg,#0f2027,#203a43,#2c5364);
  padding:12px 0;
}

.ribbon-track{
  display:flex;
  align-items:center;
  gap:50px;
  animation: ribbonMove 22s linear infinite;
  will-change: transform;
}

.ribbon-track span{
  color:#ffffff;
  font-size:clamp(12px, 2.5vw, 15px);
  font-weight:500;
  white-space:nowrap;
  letter-spacing:0.4px;
}

/* LEFT ➜ RIGHT */
@keyframes ribbonMove{
  0%{
    transform: translateX(-100%);
  }
  100%{
    transform: translateX(100%);
  }
}

/* Tablet */
@media(max-width:992px){
  .ribbon-track{
    gap:35px;
    animation-duration:18s;
  }
}

/* Mobile */
@media(max-width:576px){
  .ribbon-wrapper{
    padding:10px 0;
  }
  .ribbon-track{
    gap:25px;
    animation-duration:15s;
  }
}
/* Hero typing effect */
/* ===============================
   HERO TEXT – PROFESSIONAL REVEAL
================================ */

.hero-text{
  color:#fff;
  line-height:1.2;
}

.hero-text span{
  display:inline-block;
  font-style:italic;
  opacity:0;
  transform: translateY(20px);
  animation: revealUp 1s ease forwards;
  animation-delay:.6s;
}

/* main text animation */
.hero-text{
  opacity:0;
  transform: translateY(20px);
  animation: revealUp 1s ease forwards;
}

/* animation */
@keyframes revealUp{
  to{
    opacity:1;
    transform: translateY(0);
  }
}
/* ===============================
   HERO TEXT SCROLL MOVE EFFECT
   CSS ONLY – PROFESSIONAL
================================ */

.hero-parallax{
  color:#ffffff;
  line-height:1.2;
  will-change: transform;
  transform: translateY(0);
  transition: transform 0.15s ease-out;
}

/* italic words */
.hero-parallax span{
  font-style:italic;
  display:inline-block;
}

/* PAGE SCROLL PAR MOVE */
body:has(.hero-section){
  scroll-behavior:smooth;
}

/* Desktop scroll movement */
@media (min-width: 768px){
  .hero-parallax{
    transform: translateY(calc(var(--scroll, 0) * 0.15px));
  }
}




/* =====================================
   MISSION POINTS – REACT STYLE ANIMATION
===================================== */

.mission-item{
  opacity: 0;
  transform: translateX(-60px) scale(0.95);
  transition: all 0.8s cubic-bezier(.22,.61,.36,1);
  will-change: transform, opacity;
}

/* stagger feel (React jaisa) */
.mission-item:nth-child(2){
  transition-delay: .15s;
}
.mission-item:nth-child(3){
  transition-delay: .3s;
}

/* visible state */
.mission-item.mission-show{
  opacity: 1;
  transform: translateX(0) scale(1);
}

/* Mobile optimisation */
@media(max-width:768px){
  .mission-item{
    transform: translateY(30px) scale(0.95);
  }
}



/* =====================================
   FULL WIDTH DUAL RIBBON – PRO VERSION
===================================== */

.ribbon-section{
  position: relative;
  width: 100vw;
  height: 80px;
  overflow: hidden;
  background: #fff;
}

/* Common ribbon */
.ribbon{
  position: absolute;
  left: 0;
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
}

/* Manufacturing (background ribbon) */
.ribbon.manufacturing{
  top: 0;
  height: 80px;
  background: linear-gradient(90deg,#ff2f92,#ff6fb1);
  z-index: 1;
}

/* Advanced (crossing ribbon) */
.ribbon.advanced{
  top: 18px;
  height: 50px;
  background: linear-gradient(90deg,#cecebf,rgb(179, 169, 198));
  z-index: 2;
}

/* Track */
.ribbon-track{
  display: flex;
  width: max-content;
  white-space: nowrap;
}

/* Text */
.ribbon-track span{
  padding-right: 70px;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 2px;
  color: #fff;
}

/* Animations */
.move-left{
  animation: scrollLeft 3s linear infinite;
}

.move-right{
  animation: scrollRight 5s linear infinite;
}

@keyframes scrollLeft{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

@keyframes scrollRight{
  from{ transform: translateX(-50%); }
  to{ transform: translateX(0); }
}

/* ======================
   RESPONSIVE
====================== */

@media(max-width: 992px){
  .ribbon-section{
    height: 70px;
  }

  .ribbon.manufacturing{
    height: 70px;
  }

  .ribbon.advanced{
    top: 16px;
    height: 46px;
  }

  .ribbon-track span{
    font-size: 14px;
    padding-right: 50px;
  }
}

@media(max-width: 576px){
  .ribbon-section{
    height: 64px;
  }

  .ribbon.manufacturing{
    height: 64px;
  }

  .ribbon.advanced{
    top: 14px;
    height: 42px;
  }

  .ribbon-track span{
    font-size: 13px;
    letter-spacing: 1.4px;
    padding-right: 40px;
  }
}




