/* Precision Corporate Theme for Dedicated Service Pages */

.svc-hero { 
    background: #0f172a; 
    background-image: 
        linear-gradient(to right, rgba(15,23,42,0.93) 40%, rgba(15,23,42,0.72) 100%),
        url('/images/services-hero-bg-optimized.webp');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding: 12rem 0 8rem; 
    color: #fff; 
    border-bottom: 1px solid rgba(255,255,255,0.1); 
    position: relative; 
}
.svc-hero h1 { font-size: clamp(3rem, 5vw, 5rem); font-weight: 800; line-height: 1.05; letter-spacing: -0.04em; color: #f8fafc; margin-bottom: 1.5rem; max-width: 800px; }
.svc-hero p { font-size: 1.25rem; color: #94a3b8; max-width: 600px; line-height: 1.6; }
.s-sm { font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.1em; color: #38bdf8; font-weight: 700; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 1rem; }
.s-sm::after { content: ''; height: 1px; width: 40px; background: #38bdf8; }

.s-section { padding: 8rem 0; background: #fff; }
.s-section-alt { padding: 8rem 0; background: #f8fafc; border-top: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0; }

.cat-header { display: flex; align-items: flex-start; gap: 2rem; margin-bottom: 3rem; padding-bottom: 2rem; border-bottom: 1px solid #e2e8f0; }
.cat-icon-wrap { width: 64px; height: 64px; background: #0f172a; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cat-icon-wrap i { font-size: 1.5rem; color: #38bdf8; }
.cat-header h2 { font-size: 1.75rem; font-weight: 800; color: #0f172a; margin-bottom: 0.5rem; }
.cat-header p { color: #64748b; font-size: 1rem; }

.svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }

@media (max-width: 960px) { 
    .svc-grid { grid-template-columns: 1fr 1fr; } 
    .cat-header { flex-direction: column; gap: 1rem; align-items: flex-start; } 
}
@media (max-width: 640px) { 
    .svc-grid { grid-template-columns: 1fr; } 
}

.svc-mega-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 0; overflow: hidden; transition: all 0.3s ease; display: flex; flex-direction: column; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); }
.svc-mega-card:hover { border-color: #38bdf8; box-shadow: 0 20px 40px -10px rgba(56, 189, 248, 0.15); transform: translateY(-4px); }
.svc-card-head { background: #fff; padding: 2.5rem 3rem 2rem; flex: 1; border-left: 4px solid transparent; transition: all 0.3s ease; }
.svc-mega-card:hover .svc-card-head { border-left-color: #2563eb; }
.svc-card-head h3 { font-size: 1.5rem; font-weight: 800; color: #0f172a; margin-bottom: 0.5rem; }
.svc-card-head p { color: #475569; font-size: 0.95rem; line-height: 1.6; }

.svc-contact-form { background: #fff; border: 1px solid #e2e8f0; padding: 3rem; max-width: 800px; margin: 0 auto; box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05); }
.svc-contact-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 1.5rem; }
.svc-contact-form .form-group { display: flex; flex-direction: column; gap: 0.5rem; }
.svc-contact-form label { font-size: 0.875rem; font-weight: 600; color: #475569; }
.svc-contact-form input, .svc-contact-form textarea { padding: 0.75rem 1rem; border: 1px solid #cbd5e1; background: #f8fafc; font-family: inherit; font-size: 1rem; color: #0f172a; transition: all 0.2s; }
.svc-contact-form input:focus, .svc-contact-form textarea:focus { outline: none; border-color: #2563eb; background: #fff; box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }
.svc-contact-form button { background: #2563eb; color: #fff; border: none; padding: 1rem 2rem; font-weight: 700; font-size: 1rem; cursor: pointer; transition: background 0.2s; width: 100%; display: flex; justify-content: center; align-items: center; gap: 0.5rem;}
.svc-contact-form button:hover { background: #1d4ed8; }

@media (max-width: 640px) { 
    .svc-contact-form .form-row { grid-template-columns: 1fr; } 
    .svc-contact-form { padding: 2rem 1.5rem; } 
}

@media (max-width: 1024px) {
    .svc-split-layout { grid-template-columns: 1fr !important; gap: 2rem !important; }
}
