:root {
        /* Tailwind Palette Extraction */
        --j-slate-50: #f8fafc;
        --j-slate-100: #f1f5f9;
        --j-slate-300: #cbd5e1;
        --j-slate-400: #94a3b8;
        --j-slate-500: #64748b;
        --j-slate-700: #334155;
        --j-slate-900: #0f172a;
        --j-blue-100: #dbeafe;
        --j-blue-400: #60a5fa;
        --j-blue-500: #3b82f6;
        --j-blue-600: #2563eb;
        --j-blue-700: #1d4ed8;
        --j-green-400: #4ade80;
    }

    /* General Typography & Reset overrides */
    body { font-family: 'Segoe UI', sans-serif; }
    a { text-decoration: none; }
    
    /* Hero Section Specifics */
    .hero-section { position: relative; height: 700px; overflow: hidden; display: flex; align-items: center; }
    @media (min-width: 768px) { .hero-section { height: 800px; } }
    @media (min-width: 992px) { .hero-section { height: 900px; } }
    
    .hero-overlay {
        position: absolute; inset: 0; z-index: 1;
        background: linear-gradient(to right, var(--j-slate-900) 0%, rgba(15, 23, 42, 0.8) 50%, transparent 100%);
    }
    .hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
    .hero-content { position: relative; z-index: 10; }

    /* Custom Text Sizes (Tailwind Equivalents) */
    .text-5xl-responsive { font-size: 3rem; line-height: 1.1; }
    @media (min-width: 768px) { .text-5xl-responsive { font-size: 4.5rem; } }
    .tracking-widest-custom { letter-spacing: 0.1em; }
    
    /* Buttons */
    .btn-jaifry {
        padding: 1rem 2rem; border-radius: 50px; font-weight: 700; transition: all 0.3s;
        display: inline-flex; align-items: center; justify-content: center;
    }
    .btn-jaifry-primary {
        background-color: var(--j-blue-600); color: white; border: none;
        box-shadow: 0 10px 15px -3px rgba(30, 58, 138, 0.2);
    }
    .btn-jaifry-primary:hover { background-color: var(--j-blue-700); color: white; transform: translateY(-2px); }
    
    .btn-jaifry-outline {
        background-color: rgba(255,255,255,0.1); color: white; border: 1px solid rgba(255,255,255,0.2);
        backdrop-filter: blur(4px);
    }
    .btn-jaifry-outline:hover { background-color: rgba(255,255,255,0.2); color: white; }

    /* Glassmorphism Card (Hero) */
    .glass-card {
        background: rgba(255, 255, 255, 0.05);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border: 1px solid rgba(255, 255, 255, 0.1);
    }

    /* Vision Section Blobs */
    .blob-bg {
        position: absolute; top: -1rem; left: -1rem; width: 16rem; height: 16rem;
        background-color: var(--j-blue-100); border-radius: 50%;
        filter: blur(64px); opacity: 0.7; z-index: 0; mix-blend-mode: multiply;
    }
    .img-rounded-custom { border-radius: 1.5rem; overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }
    
    /* Expertise Cards */
    .bg-slate-900 { background-color: var(--j-slate-900); }
    .card-expertise {
        background-color: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 1.5rem; padding: 1.2rem;
        transition: all 0.3s ease;
    }
    .card-expertise:hover { background-color: rgba(255, 255, 255, 0.1); }
    .icon-box {
        width: 4rem; height: 4rem; border-radius: 1rem;
        display: flex; align-items: center; justify-content: center;
        background-color: rgba(37, 99, 235, 0.2); color: var(--j-blue-400);
        transition: all 0.3s ease; font-size: 1.5rem;
    }
    .card-expertise:hover .icon-box {
        transform: scale(1.1); background-color: var(--j-blue-600); color: white;
    }

    /* Team Section */
    .team-img-wrapper {
        position: relative; overflow: hidden; border-radius: 1.5rem;
        aspect-ratio: 4/5; margin-bottom: 1.5rem;
        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    }
    .team-img-wrapper img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
    .team-group:hover .team-img-wrapper img { transform: scale(1.05); }
    .team-overlay {
        position: absolute; inset: 0;
        background: linear-gradient(to top, rgba(30, 58, 138, 0.8), transparent);
        opacity: 0; transition: opacity 0.3s;
    }
    .team-group:hover .team-overlay { opacity: 1; }

    /* Contact Section Shape */
    .contact-shape {
        position: absolute; top: 0; right: 0; width: 50%; height: 100%;
        background-color: rgba(239, 246, 255, 0.5); /* blue-50/50 */
        border-top-left-radius: 100px; border-bottom-left-radius: 100px;
        z-index: 0; display: none;
    }
    @media (min-width: 992px) { .contact-shape { display: block; } }

    /* Form Styling to match Tailwind */
    .form-control-jaifry, .form-select-jaifry {
        width: 100%; padding: 1rem 1.5rem;
        background-color: var(--j-slate-50);
        border: 1px solid var(--j-slate-200);
        border-radius: 1rem;
        outline: none; box-shadow: none;
    }
    .form-control-jaifry:focus, .form-select-jaifry:focus {
        border-color: var(--j-blue-600);
        box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
    }
    .bg-icon-c{
        background-color: rgb(255 255 255 / 0.2) !important;
    }
    .bg-icon-c i {
        font-size: 24px;
    }
    /* Utilities */
    .text-blue-jaifry { color: var(--j-blue-600) !important; }
    .text-slate-400 { color: var(--j-slate-400) !important; }
    .text-slate-500 { color: var(--j-slate-500) !important; }
    .bg-blue-jaifry { background-color: var(--j-blue-600) !important; }
    .py-24-custom { padding-top: 6rem; padding-bottom: 6rem; }
    
    /* Animations */
    .animate-on-scroll { opacity: 0; transition: all 0.8s ease-out; }
    .animate-on-scroll.is-visible { opacity: 1; }
    .fade-up { transform: translateY(30px); }
    .fade-up.is-visible { transform: translateY(0); }
    .fade-right { transform: translateX(-30px); }
    .fade-right.is-visible { transform: translateX(0); }
    .scale-up { transform: scale(0.9); }
    .scale-up.is-visible { transform: scale(1); }
