/* ============================================
   SHEARION - COMPLETE OFFLINE STYLESHEET
   No external dependencies required
   ============================================ */

/* ========== RESET & BASE ========== */
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;line-height:1.6;color:#1a202c}
a{text-decoration:none;color:inherit}
ul{list-style:none}

/* ========== BACKGROUNDS ========== */
.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-gray-200{background-color:#e5e7eb}
.bg-gray-400{background-color:#9ca3af}.bg-gray-600{background-color:#4b5563}.bg-gray-700{background-color:#374151}
.bg-gray-800{background-color:#1f2937}.bg-gray-900{background-color:#111827}.bg-white{background-color:#fff}
.bg-blue-50{background-color:#eff6ff}.bg-blue-100{background-color:#dbeafe}.bg-blue-500{background-color:#3b82f6}
.bg-blue-600{background-color:#2563eb}.bg-green-50{background-color:#f0fdf4}.bg-green-100{background-color:#dcfce7}
.bg-green-500{background-color:#22c55e}.bg-green-600{background-color:#16a34a}.bg-purple-50{background-color:#faf5ff}
.bg-purple-100{background-color:#f3e8ff}.bg-purple-500{background-color:#a855f7}.bg-purple-600{background-color:#9333ea}
.bg-purple-900{background-color:#581c87}.bg-indigo-50{background-color:#eef2ff}.bg-indigo-900{background-color:#312e81}
.bg-red-100{background-color:#fee2e2}.bg-red-500{background-color:#ef4444}.bg-yellow-100{background-color:#fef3c7}
.bg-yellow-400{background-color:#facc15}.bg-yellow-900{background-color:#713f12}.bg-orange-500{background-color:#f97316}
.bg-black{background-color:#000}.bg-opacity-40{background-color:rgba(0,0,0,.4)}
.bg-opacity-20{background-color:rgba(0,0,0,.2)}

/* ========== TEXT COLORS ========== */
.text-white{color:#fff}.text-gray-200{color:#e5e7eb}.text-gray-300{color:#d1d5db}.text-gray-400{color:#9ca3af}
.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}
.text-gray-900{color:#111827}.text-blue-300{color:#93c5fd}.text-blue-500{color:#3b82f6}.text-blue-600{color:#2563eb}
.text-blue-800{color:#1e40af}.text-green-500{color:#22c55e}.text-green-600{color:#16a34a}.text-green-800{color:#166534}
.text-purple-500{color:#a855f7}.text-purple-600{color:#9333ea}.text-purple-800{color:#6b21a8}.text-purple-900{color:#581c87}
.text-red-800{color:#991b1b}.text-yellow-800{color:#854d0e}.text-yellow-900{color:#713f12}
.text-indigo-800{color:#3730a3}.text-orange-500{color:#f97316}

/* ========== SPACING ========== */
.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-10{padding:2.5rem}
.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}
.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}
.py-12{padding-top:3rem;padding-bottom:3rem}.py-20{padding-top:5rem;padding-bottom:5rem}
.py-40{padding-top:10rem;padding-bottom:10rem}.pt-8{padding-top:2rem}.pb-8{padding-bottom:2rem}
.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}
.mr-4{margin-right:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mb-1{margin-bottom:.25rem}
.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}
.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-12{margin-top:3rem}
.mt-16{margin-top:4rem}.me-1{margin-right:.25rem}

/* ========== LAYOUT ========== */
.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}
.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.items-start{align-items:flex-start}
.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}
.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-9{gap: 5.3rem;}.gap-10{gap:6rem}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.block{display:block}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.hidden{display:none}

/* ========== POSITION ========== */
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}
.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.top-20px{top:20px}.right-0{right:0}.right-20px{right:20px}

/* ========== SIZING ========== */
.w-1{width:.25rem}.w-3{width:.75rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-12{width:3rem}
.w-15{width:3.75rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-80px{width:80px}.w-full{width:100%}
.h-1{height:.25rem}.h-3{height:.75rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}
.h-12{height:3rem}.h-15{height:3.75rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}
.h-48{height:12rem}.h-80px{height:80px}.h-full{height:100%}.h-screen{height:100vh}.h-100vh{height:100vh}
.min-h-screen{min-height:100vh}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}

/* ========== TYPOGRAPHY ========== */
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}
.text-2xll{font-size:1.5rem;line-height:3.5rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-6xl{font-size:3.75rem;line-height:1}.font-medium{font-weight:500}.font-semibold{font-weight:600}
.font-bold{font-weight:700}.font-extrabold{font-weight:800}.italic{font-style:italic}.text-center{text-align:center}
.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ========== BORDERS ========== */
.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}
.border-gray-100{border-color:#f3f4f6}.border-gray-200{border-color:#e5e7eb}.border-gray-700{border-color:#374151}
.border-blue-100{border-color:#dbeafe}.border-blue-200{border-color:#bfdbfe}.border-purple-100{border-color:#f3e8ff}
.border-green-100{border-color:#dcfce7}.border-yellow-400{border-color:#facc15}.border-transparent{border-color:transparent}
.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}
.rounded-20px{border-radius:20px}

/* ========== EFFECTS ========== */
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}
.object-cover{object-fit:cover}.object-contain{object-fit:contain}.overflow-hidden{overflow:hidden}
.overflow-y-auto{overflow-y:auto}.z-0{z-index:0}.z-1{z-index:1}.z-2{z-index:2}.z-10{z-index:10}
.z-1000{z-index:1000}.z-1002{z-index:1002}.z-1003{z-index:1003}.opacity-0{opacity:0}.opacity-100{opacity:100}
.scale-10{transform:scale(1)}.transform{transform:translateX(0) translateY(0) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1)}
.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}

/* ========== TRANSITIONS ========== */
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:300ms}
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:300ms}
.duration-200{transition-duration:200ms}.duration-300{transition-duration:300ms}

/* ========== HOVER ========== */
.hover\:bg-blue-700:hover{background-color:#1d4ed8}.hover\:bg-gray-100:hover{background-color:#f3f4f6}
.hover\:bg-white:hover{background-color:#fff}.hover\:bg-opacity-20:hover{background-color:rgba(255,255,255,.2)}
.hover\:text-white:hover{color:#fff}.hover\:text-blue-700:hover{color:#1d4ed8}.hover\:text-blue-800:hover{color:#1e40af}
.hover\:text-purple-700:hover{color:#7e22ce}.hover\:text-green-700:hover{color:#15803d}
.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}
.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}
.hover\:-translate-y-1:hover{transform:translateY(-.25rem)}.hover\:scale-105:hover{transform:scale(1.05)}
.hover\:opacity-100:hover{opacity:1}

/* ========== GRADIENTS ========== */
.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}
.from-purple-900{--tw-gradient-from:#581c87;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(88,28,135,0))}
.from-blue-50{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(239,246,255,0))}
.from-blue-500{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(59,130,246,0))}
.from-blue-600{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(37,99,235,0))}
.from-purple-50{--tw-gradient-from:#faf5ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(250,245,255,0))}
.from-green-50{--tw-gradient-from:#f0fdf4;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(240,253,244,0))}
.from-green-500{--tw-gradient-from:#22c55e;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(34,197,94,0))}
.from-indigo-500{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(99,102,241,0))}
.from-red-500{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(239,68,68,0))}
.from-orange-500{--tw-gradient-from:#f97316;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(249,115,22,0))}
.from-black\/60{--tw-gradient-from:rgba(0,0,0,.6);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(0,0,0,0))}
.to-indigo-900{--tw-gradient-to:#312e81}.to-indigo-50{--tw-gradient-to:#eef2ff}.to-pink-50{--tw-gradient-to:#fdf2f8}
.to-purple-600{--tw-gradient-to:#9333ea}.to-teal-600{--tw-gradient-to:#0d9488}.to-red-600{--tw-gradient-to:#dc2626}
.to-cyan-500{--tw-gradient-to:#06b6d4}.to-emerald-50{--tw-gradient-to:#ecfdf5}.to-orange-600{--tw-gradient-to:#ea580c}
.to-yellow-500{--tw-gradient-to:#eab308}.to-transparent{--tw-gradient-to:transparent}

/* ========== CONTAINER ========== */
.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}

/* ========== RESPONSIVE ========== */
@media (min-width:640px){
.sm\:flex-row{flex-direction:row}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
}
@media (min-width:768px){
.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}
.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}
.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:p-10{padding:2.5rem}.md\:p-12{padding:3rem}
}
@media (min-width:1024px){
.lg\:px-8{padding-left:2rem;padding-right:2rem}
}

/* ========== CUSTOM COMPONENTS ========== */
.glass-effect{background:rgba(0, 0, 0, .6);backdrop-filter:blur(0);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:2.5rem;max-width:42rem}
.card-hover{transition:all .3s ease}
.card-hover:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.15)}

/* SIDEBAR */
.sidebar{position:fixed;right:0;top:0;height:100vh;width:280px;background:linear-gradient(180deg,#1a1a2e 0%,#16213e 100%);box-shadow:-5px 0 30px rgba(0,0,0,.3);z-index:1000;transition:transform .3s ease-in-out;transform:translateX(100%);overflow-y:auto}
.sidebar.active{transform:translateX(0)}
.content-area{transition:all .3s ease-in-out;margin-right:0;width:100%;position:relative;z-index:1;min-height:100vh;background:#fff}

/* MENU BUTTONS */
.menu-toggle{display:none;position:fixed;top:20px;right:20px;z-index:1002;background:#4f46e5;color:#fff;border:none;padding:10px 15px;border-radius:5px;cursor:pointer}
.close-menu{display:none;position:absolute;top:20px;right:20px;z-index:1003;color:#fff;background:rgba(255,255,255,.1);border:none;cursor:pointer;padding:10px;border-radius:5px}

/* NAVIGATION LINKS - NO UNDERLINE */
.nav-link{transition:all .3s ease;position:relative;overflow:hidden;text-decoration:none;display:block}
.nav-link::before{content:'';position:absolute;left:0;top:0;height:100%;width:4px;background:#f59e0b;transform:translateX(-100%);transition:transform .3s ease}
.nav-link:hover::before,.nav-link.active::before{transform:translateX(0)}
.nav-link:hover,.nav-link.active{background:rgba(245,158,11,.1);padding-left:24px;color:#f59e0b;text-decoration:none}

/* HERO SECTION */
#home{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center}

/* ABOUT SECTION */
.about-content{max-width:1200px;margin:0 auto;position:relative;z-index:1}
.about-header{text-align:center;margin-bottom:4rem}
/* .about-header h2{font-size:2.75rem;font-weight:800;color:#1a202c;margin-bottom:1.5rem;position:relative;display:inline-block} */
.about-header h2{color:#1a202c;margin-bottom:1.5rem;position:relative;display:inline-block}
/* .about-header h2::after{content:'';position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:80px;height:4px;background:linear-gradient(90deg,#4f46e5,#8b5cf6);border-radius:2px} */
.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;margin-top:3rem}
.about-card{background:#fff;border-radius:12px;padding:2.5rem 2rem;box-shadow:0 10px 30px rgba(0,0,0,.05);transition:all .3s ease;border:1px solid #e2e8f0}
.about-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px rgba(79,70,229,.1)}
.about-card h3{font-size:1.5rem;font-weight:700;color:#1a202c;margin-bottom:1.25rem;display:flex;align-items:center}
.about-card h3 svg{margin-right:12px;color:#4f46e5}
.about-card p{color:#4a5568;line-height:1.7;margin-bottom:1.5rem}
.about-features{margin-top:1.5rem;list-style:none;padding:0}
.about-features li{display:flex;align-items:center;margin-bottom:.75rem;color:#4a5568}
.about-features li svg{color:#4f46e5;margin-right:10px;flex-shrink:0}

/* TECH BADGE */
.tech-badge{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#fff;display:inline-block;margin:4px}

/* PARTNER BADGES */
.partner-badge{padding:.375rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600;display:inline-block}
.badge-confirmed{background-color:#dcfce7;color:#166534}
.badge-progress{background-color:#dbeafe;color:#1e40af}

/* removing space in partners page common containners*/
.partner-card{
    padding-top: 5rem;
}

/* ========== PRODUCTS PAGE - FIXED SPACING ========== */
#products .space-y-12>*+*{margin-top:3rem}

/* ========== SERVICES PAGE - SAME AS TRAINING PAGE ========== */
#services .service-card{
    background:#fff;
    border-radius:12px;
    padding:2rem;
    box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);
    transition:all .3s ease;
    height:100%;
    border:1px solid #e5e7eb;
}
#services .service-card:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);
}
.service-card .flex.items-center{
    display:flex!important;
    align-items:center!important;
    margin-bottom:1.5rem!important;
}
.service-icon{
    width:48px!important;
    height:48px!important;
    border-radius:8px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-right:1rem!important;
    flex-shrink:0!important;
}
.service-card h3{
    flex-wrap: nowrap !important;
    font-size:1.25rem!important;
    font-weight:700!important;
    color:#1a202c!important;
    margin:0!important;
    text-align:left!important;
    line-height:1.2!important;
    flex:1!important;
}
.service-card ul{
    list-style:none;
    padding:0!important;
    margin:0!important;
    width:100%!important;
}
.service-card ul li{
    display:flex!important;
    align-items:flex-start!important;
    margin-bottom:.75rem!important;
    color:#4b5563!important;
}
.service-card ul li:last-child{
    margin-bottom:0!important;
}


/* ========== TRAINING PAGE - CENTERED CONTENT ========== */
#training .training-category{
    background:#fff;
    border-radius:12px;
    padding:2rem;
    box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);
    transition:all .3s ease;
    height:100%;
}
#training .training-category:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);
}
#training .training-category h3{
    font-size:1.25rem;
    font-weight:700;
    color:#1a202c;
    margin-bottom:.75rem;
}
#training .training-category ul{
    list-style:none;
    padding:0;
    margin:0;
    text-align:left;
}

/* ========== PARTNERS PAGE - CARD SHADOWS ========== */
#partners .card-hover{
    background:#fff;
    border-radius:1rem;
    box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);
    transition:all .3s ease;
    overflow:hidden;
}
#partners .card-hover:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);
}

/* ========== CONTACT PAGE - UNIFORM CARD SIZES ========== */
#contact .container{
    max-width:56rem;
    margin-left:auto;
    margin-right:auto;
}

/* ========================================
   PROJECTS PAGE - GALLERY FIXES
   Add this to your style.css
   ======================================== */

/* Project Gallery Item - Consistent sizing */
.project-gallery-item {
    position: relative;
    width: 100%;
    height: 12rem; /* 192px - consistent height */
    overflow: hidden;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
}

.project-gallery-item:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    transform: translateY(-4px);
}

/* Image inside gallery item */
.project-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Overlay for hover effect */
.project-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.project-gallery-item:hover .project-overlay {
    opacity: 1;
}

/* Overlay text */
.project-overlay-text {
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
    padding: 0.5rem;
}

/* Mobile: 2 columns, equal width */
@media (max-width: 767px) {
    .project-gallery-item {
        height: 10rem; /* Slightly smaller on mobile */
    }
    
    /* Second row stays as 2 columns on mobile */
    .grid.grid-cols-2.md\:grid-cols-4.md\:px-32 {
        padding-left: 0;
        padding-right: 0;
    }
    
    .project-overlay-text {
        font-size: 0.875rem;
    }
}

/* Tablet and up: 4 columns */
@media (min-width: 768px) {
    .project-gallery-item {
        height: 12rem;
    }
    
    /* Second row: Center 2 images by starting from column 2 */
    .md\:col-start-2 {
        grid-column-start: 2;
    }
}

/* Desktop: larger images */
@media (min-width: 1024px) {
    .project-gallery-item {
        height: 14rem;
    }
}



/* Alternative: If you want the second row to be larger */
.project-gallery-large {
    height: 16rem;
}

@media (max-width: 767px) {
    .project-gallery-large {
        height: 12rem;
    }
}

/* LOGO
.shearion-logo{width:100%;height:100%;object-fit:contain} */

/* CURSOR */
button{cursor:pointer}

/* ========== MOBILE RESPONSIVE ========== */
@media (max-width:1023px){
.menu-toggle,.close-menu{display:block}
.sidebar{transform:translateX(100%)}
.sidebar.active{transform:translateX(0)}
.content-area{margin-right:0;width:100%}
.content-area.shifted{transform:translateX(-280px)}
body.menu-open{overflow:hidden}
.about-grid{grid-template-columns:1fr}
.about-header h2{font-size:2.25rem}
}
@media (min-width:1024px){
.sidebar{transform:translateX(0)}
.content-area{margin-right:280px;width:calc(100% - 280px)}
.menu-toggle{display:none}
}


/* Pymodla Card Specific Styles */
.card-hover.border-yellow-400 {
    border: 1px solid #fde68a !important;
    background-color: #fff9db !important;
    margin: 1rem 0;
    padding: 2rem !important;
    transition: all 0.2s ease;
    box-shadow: none !important;
}

.card-hover.border-yellow-400 .bg-yellow-400 {
    background-color: #fde68a !important;
    color: #713f12 !important;
}

.card-hover.border-yellow-400:hover {
    transform: translateY(-8px);
    box-shadow: none !important;
}



/* ========================================
   SIDEBAR FIXES - Add to your style.css
   ======================================== */

/* SIDEBAR - Fixed height and proper spacing */
.sidebar {
    position: fixed;
    right: 0;
    top: 0;
    height: 100vh;
    width: 280px;
    background: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%);
    box-shadow: -5px 0 30px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    transition: transform 0.3s ease-in-out;
    transform: translateX(100%);
    overflow: hidden; /* Prevent outer scroll */
}

.sidebar.active {
    transform: translateX(0);
}

/* Sidebar inner content container */
.sidebar-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 2rem 1.5rem;
    overflow-y: auto; /* Enable scroll only if needed */
}

/* Hide scrollbar but keep functionality */
.sidebar-content::-webkit-scrollbar {
    width: 4px;
}

.sidebar-content::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
}

.sidebar-content::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
}

.sidebar-content::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.3);
}

.sidebar-logo {
    /* width: 80%; */             /*Container takes full width */
    padding: 0;               /* No extra padding */
    text-align: center;       /* Center the image */
    flex-shrink: 0;          /* Don't shrink in flex layout */
    margin-bottom: 1.5rem;
    object-fit: contain;
}

.sidebar-logo img {
    width: 100%;              /* Image takes full container width */
    max-width: 100px;         /* BUT limited to 180px max */
    height: auto;             /* Height adjusts proportionally */
    object-fit: contain;      /* Maintain aspect ratio */
    margin: 0 auto;         /*  Center horizontally  */
    display: block;           /* Remove inline spacing */
}

/* Navigation container */
.sidebar-nav {
    flex: 1; /* Take available space */
    display: flex;
    flex-direction: column;
    gap: 1rem;
    overflow-y: auto; /* Scroll only nav if too many items */
    margin-bottom: 1rem;
}

/* Navigation links */
.sidebar-nav .nav-link {
    display: block;
    padding: 0.75rem 1rem;
    color: #d1d5db;
    text-decoration: none;
    border-radius: 0.5rem;
    transition: all 0.3s ease;
    font-size: 0.95rem;
    position: relative;
    overflow: hidden;
    text-align: left;
}

.sidebar-nav .nav-link::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 4px;
    background: #f59e0b;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
}

.sidebar-nav .nav-link:hover,
.sidebar-nav .nav-link.active {
    background: rgba(245, 158, 11, 0.1);
    color: #f59e0b;
    padding-left: 1.5rem;
}

.sidebar-nav .nav-link:hover::before,
.sidebar-nav .nav-link.active::before {
    transform: translateX(0);
}

/* Sidebar footer - email */
.sidebar-footer {
    flex-shrink: 0; /* Keep at bottom */
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: auto; /* Push to bottom */
}

.sidebar-email {
    display: block;
    color: #9ca3af;
    font-size: 0.875rem;
    text-decoration: none;
    transition: color 0.3s ease;
    text-align: center;
}

.sidebar-email:hover {
    color: #fff;
}

/* Close button */
.close-menu {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 1003;
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    cursor: pointer;
    padding: 10px;
    border-radius: 5px;
    transition: background 0.3s ease;
}

.close-menu:hover {
    background: rgba(255, 255, 255, 0.2);
}

/* Mobile adjustments */
@media (max-width: 1023px) {
    .sidebar {
        transform: translateX(100%);
    }
    
    .sidebar.active {
        transform: translateX(0);
    }
}

/* Desktop - sidebar always visible */
@media (min-width: 1024px) {
    .sidebar {
        transform: translateX(0);
    }
    
    .content-area {
        margin-right: 280px;
        width: calc(100% - 280px);
    }
    
    .menu-toggle {
        display: none;
    }
    
    .close-menu {
        display: none;
    }
}


/* ========================================
   CONTACT FORM STYLES
   Add this to your style.css
   ======================================== */

/* Contact Form Input Fields */
.contact-input {
    width: 100%;
    padding: 0.875rem 1rem;
    border: 2px solid #e5e7eb;
    border-radius: 0.5rem;
    font-size: 1rem;
    color: #1f2937;
    background-color: #fff;
    transition: all 0.3s ease;
    outline: none;
}

.contact-input:focus {
    border-color: #8b5cf6;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
}

.contact-input::placeholder {
    color: #9ca3af;
}

/* Textarea specific */
textarea.contact-input {
    resize: vertical;
    min-height: 120px;
}

/* Input error state */
.contact-input.error {
    border-color: #ef4444;
}

.contact-input.error:focus {
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

/* Input success state */
.contact-input.success {
    border-color: #10b981;
}

/* Label styles */
label {
    display: block;
    font-weight: 600;
    font-size: 0.875rem;
    color: #374151;
    margin-bottom: 0.5rem;
}

/* Required asterisk */
.text-red-500 {
    color: #ef4444;
}

/* Form message (success/error) */
#formMessage {
    padding: 1rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    text-align: center;
    margin-top: 1rem;
}

#formMessage.success {
    background-color: #d1fae5;
    color: #065f46;
    border: 1px solid #10b981;
}

#formMessage.error {
    background-color: #fee2e2;
    color: #991b1b;
    border: 1px solid #ef4444;
}

/* Hidden class */
.hidden {
    display: none !important;
}

.send {
    border-radius: 3rem;
    border: 2px solid #ffffff;
    background-color: #3e75ff;
    transition: 0.3s ease;
}

.send:hover {
    background-color: #1e5aff; /* deeper blue on hover */
}

/* Submit button hover effects */
button[type="submit"] {
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

button[type="submit"]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
}

button[type="submit"]:active:not(:disabled) {
    transform: scale(0.98);
}

/* Loading state for button */
button[type="submit"].loading {
    pointer-events: none;
}

button[type="submit"].loading::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    left: 50%;
    margin-left: -8px;
    margin-top: -8px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    border-top-color: transparent;
    animation: spin 0.6s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Contact info cards */
.contact-info-card {
    background: white;
    padding: 1.5rem;
    border-radius: 1rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.contact-info-card:hover {
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .contact-input {
        font-size: 16px; /* Prevents zoom on iOS */
    }
    
    /* Stack name fields on very small screens */
    .grid.grid-cols-1.md\:grid-cols-2 {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 768px) {
    .grid.grid-cols-1.md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Form validation styles */
.field-error {
    color: #ef4444;
    font-size: 0.875rem;
    margin-top: 0.25rem;
    display: block;
}

/* Input group spacing */
.space-y-6 > * + * {
    margin-top: 1.5rem;
}

/* Ensure proper spacing in grid */
.gap-4 {
    gap: 2rem;
}

/* Business hours styling */
.bg-gradient-to-br {
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.from-purple-50 {
    --tw-gradient-from: #faf5ff;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(250, 245, 255, 0));
}

.to-indigo-50 {
    --tw-gradient-to: #eef2ff;
}


