/* =====================================================================
   Services section — mega menu, footer columns, category & service pages.
   Uses the theme palette: #1d42d9 (brand), #051242 (navy), #293a5c (headings), #7a7e9a (body).
   Per-item accent colours from the admin arrive as the --svc-accent CSS variable.
   ===================================================================== */
:root { --svc-accent: #1d42d9; }

/* ---------- Header mega menu (tabs: groups on the left, services of the hovered group on the right) ---------- */
/* Same selector depth as the theme rules (style.css) so these win. */
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega {
	width: 920px; max-width: 100%; padding: 0; border-radius: 14px; left: 0;
	box-shadow: 0 24px 60px rgba(5, 18, 66, 0.18);
}
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega::before { left: 105px; }
.svc-mm { border-radius: 14px 14px 0 0; overflow: hidden; }
.svc-mm-foot { border-radius: 0 0 14px 14px; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega li.svc-mm-mobile { display: none !important; }
/* the panel is positioned against the nav container (not the "Services" item), so it never runs off-screen */
.navbar-area .main-nav .navbar { position: relative; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item.svc-mega-item { position: static; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega li.svc-mm-desktop { overflow: visible; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega li.svc-mm-desktop::before { display: none; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega li.svc-mm-desktop a {
	display: flex; align-items: center; margin: 0; border: 0; text-transform: none; color: #293a5c; font-size: 14.5px; line-height: 1.35;
}
.svc-mm { display: grid; grid-template-columns: 250px 1fr; min-height: 380px; }
/* left: group tabs */
.svc-mm-tabs { background: #f4f7fe; padding: 14px 0; border-right: 1px solid #e8edf8; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega li.svc-mm-desktop a.svc-mm-tab {
	gap: 12px; padding: 11px 18px 11px 22px; font-weight: 600; position: relative; transition: background .2s, color .2s;
}
.svc-mm-tab > i:first-child { font-size: 19px; color: #6b7aa6; width: 22px; text-align: center; transition: color .2s; }
.svc-mm-tab span { flex: 1; }
.svc-mm-tab .svc-mm-arrow { font-size: 18px; opacity: 0; transform: translateX(-4px); transition: all .2s; color: #1d42d9; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega li.svc-mm-desktop a.svc-mm-tab.is-active { background: #fff; color: #1d42d9; }
.svc-mm-tab.is-active::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: #1d42d9; }
.svc-mm-tab.is-active > i:first-child { color: #1d42d9; }
.svc-mm-tab.is-active .svc-mm-arrow { opacity: 1; transform: none; }
/* right: services of the active group */
.svc-mm-panes { padding: 22px 26px 18px; }
.svc-mm-pane { display: none; animation: svcFade .2s ease; }
.svc-mm-pane.is-active { display: block; }
@keyframes svcFade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.svc-mm-head { margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid #eef1f8; }
.svc-mm-head h4 { font-size: 17px; margin: 0 0 3px; color: #051242; }
.svc-mm-head p { margin: 0; font-size: 13.5px; color: #7a7e9a; line-height: 1.5; }
.svc-mm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 18px; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega li.svc-mm-desktop a.svc-mm-link { gap: 10px; padding: 8px 10px; border-radius: 8px; transition: background .2s, color .2s; }
.svc-mm-link i { flex: 0 0 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: #eef2ff; color: #1d42d9; font-size: 16px; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega li.svc-mm-desktop a.svc-mm-link:hover { background: #f4f7fe; color: #1d42d9; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega li.svc-mm-desktop a.svc-mm-more { display: inline-flex; gap: 4px; margin-top: 12px; padding: 0 10px; color: #1d42d9; font-weight: 600; font-size: 14px; }
/* footer strip */
.svc-mm-foot { display: flex; align-items: center; gap: 22px; padding: 12px 26px; background: #051242; }
.svc-mm-foot span { flex: 1; color: rgba(255,255,255,.75); font-size: 13.5px; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega li.svc-mm-desktop .svc-mm-foot a { color: #fff; font-weight: 600; font-size: 14px; gap: 4px; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega li.svc-mm-desktop .svc-mm-foot a.svc-mm-quote { background: #1d42d9; padding: 7px 16px; border-radius: 6px; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega li.svc-mm-desktop .svc-mm-foot a:hover { color: #70a1ff; }
@media (max-width: 1199px) {
	.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega { width: 100%; }
	.svc-mm { grid-template-columns: 220px 1fr; }
}
/* Small dropdowns (Industry, Technology, Hire Developer): calmer hover, rounded */
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu:not(.svc-mega) { border-radius: 10px; padding: 8px 0; width: 260px; box-shadow: 0 18px 45px rgba(5, 18, 66, 0.16); }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu:not(.svc-mega) li::before { display: none; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu:not(.svc-mega) li a { border-bottom: 0; padding: 9px 22px; font-size: 14.5px; color: #293a5c; text-transform: none; transition: all .2s; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu:not(.svc-mega) li:hover a { color: #1d42d9; background: #f4f7fe; padding-left: 26px; }
/* Mobile (meanmenu): group headings */
.mean-container .mean-nav .svc-mm-desktop { display: none !important; }
.mean-container .mean-nav ul li.dropdown-header { padding: 10px 5%; font-size: 12px; text-transform: uppercase; letter-spacing: .5px; color: #051242; font-weight: 700; background: #f5faff; }
.mean-container .mean-nav ul li.dropdown-header a { padding: 0; border: 0; width: auto; color: #051242; text-transform: uppercase; font-weight: 700; }

/* ---------- Footer service columns ---------- */
.footer-area .svc-footer-groups { padding-bottom: 30px; margin-bottom: 40px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.footer-area .svc-footer-groups .content { margin-bottom: 30px; }
.footer-area .svc-footer-groups h3 { font-size: 15px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 18px; }
.footer-area .svc-footer-groups h3 a { color: inherit; }
.footer-area .svc-footer-groups .footer-list li { margin-bottom: 8px; line-height: 1.5; }
.footer-area .svc-footer-groups .footer-list li a { font-size: 14px; }


/* ---------- Shared bits ---------- */
.svc-rich p:last-child { margin-bottom: 0; }
.svc-rich ul { padding-left: 20px; margin-bottom: 15px; }
.svc-rich ul li { margin-bottom: 6px; color: #7a7e9a; }
.svc-hero-icon { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 12px; background: rgba(29, 66, 217, 0.08); color: var(--svc-accent); font-size: 32px; margin-bottom: 16px; }
.svc-inline-icon { color: var(--svc-accent); }
.svc-availability { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; padding: 6px 14px; border-radius: 30px; background: #fff5df; color: #8a5a00; font-weight: 600; font-size: 14px; }
.svc-banner img { width: 100%; border-radius: 8px; }
.svc-read-more { display: inline-flex; align-items: center; gap: 4px; margin-top: 10px; }
.services-details-area .scrives-item-2 h3 a { color: inherit; }
.services-details-area .scrives-item-2 h3 a:hover { color: var(--svc-accent); }
.services-details-area .scrives-item-2 { scroll-margin-top: 110px; }

/* ---------- Cards ---------- */
.single-service.svc-card { height: calc(100% - 30px); display: flex; flex-direction: column; }
.single-service.svc-card .service-content { flex: 1; display: flex; flex-direction: column; }
.single-service.svc-card .service-content .line-bnt { margin-top: auto; align-self: center; }
.single-service.svc-card .service-content h3 a { color: inherit; }
.svc-card-icon { display: inline-grid; place-items: center; width: 74px; height: 74px; border-radius: 50%; background: rgba(29, 66, 217, 0.08); color: var(--svc-accent); font-size: 36px; transition: all 0.5s; }
.single-service.svc-card:hover .svc-card-icon { background: #fff; }
.svc-grid { padding-top: 10px; }

/* ---------- List & tabs layouts ---------- */
.svc-simple-list { list-style: none; padding: 0; columns: 2; column-gap: 40px; }
.svc-simple-list li { break-inside: avoid; margin-bottom: 18px; }
.svc-simple-list a { font-weight: 700; color: #293a5c; font-size: 17px; display: inline-flex; gap: 8px; align-items: center; }
.svc-simple-list a i { color: var(--svc-accent); }
.svc-simple-list p { margin: 4px 0 0 26px; }
@media (max-width: 767px) { .svc-simple-list { columns: 1; } }
.svc-tabs { gap: 8px; margin-bottom: 24px; flex-wrap: wrap; }
.svc-tabs .nav-link { border-radius: 30px; color: #293a5c; background: #f5faff; font-weight: 600; }
.svc-tabs .nav-link.active { background: var(--svc-accent); color: #fff; }

/* ---------- All-services page ---------- */
.svc-jump { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: -10px 0 50px; }
.svc-jump a { display: inline-flex; align-items: center; gap: 6px; padding: 8px 18px; border-radius: 30px; background: #f5faff; color: #293a5c; font-weight: 600; }
.svc-jump a:hover { background: #1d42d9; color: #fff; }
.svc-group { scroll-margin-top: 110px; margin-bottom: 30px; }
.svc-group-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; border-bottom: 2px solid #eef2fb; margin-bottom: 30px; padding-bottom: 12px; }
.svc-group-head h2 { font-size: 28px; margin: 0; }
.svc-group-head h2 a { color: #051242; }
.svc-group-head h2 a:hover { color: #1d42d9; }
.svc-group-head p { margin: 0; }

/* ---------- Service detail ---------- */
.svc-detail-img img { width: 100%; border-radius: 8px; }
.svc-lead { font-size: 18px; color: #293a5c; }
.svc-stack { margin-top: 30px; padding: 24px; border-radius: 8px; background: #f5faff; }
.svc-stack h4 { font-size: 16px; margin-bottom: 10px; }
.svc-chip-list { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0 0 14px; }
.svc-chip-list li span, .svc-chip-list li a { display: inline-block; padding: 5px 14px; border-radius: 30px; background: #fff; border: 1px solid #e3e9f7; color: #293a5c; font-size: 14px; font-weight: 600; }
.svc-chip-list li a:hover { border-color: #1d42d9; color: #1d42d9; }
.svc-sidebar { position: sticky; top: 110px; display: grid; gap: 24px; }
@media (max-width: 991px) { .svc-sidebar { position: static; margin-top: 40px; } }
.svc-side-box { padding: 26px; border-radius: 8px; background: #fff; box-shadow: 0 0 20px 3px rgba(0, 0, 0, 0.05); }
.svc-side-box h4 { font-size: 19px; margin-bottom: 14px; }
.svc-side-box p { margin-bottom: 0; display: flex; gap: 8px; align-items: flex-start; }
.svc-side-box p i { color: var(--svc-accent); font-size: 20px; }
.svc-side-links { list-style: none; padding: 0; margin: 0 0 14px; }
.svc-side-links li { border-bottom: 1px solid #eef2fb; }
.svc-side-links li:last-child { border-bottom: 0; }
.svc-side-links a { display: flex; align-items: center; gap: 4px; padding: 9px 0; color: #293a5c; font-weight: 600; font-size: 15px; }
.svc-side-links a:hover { color: #1d42d9; }
.svc-side-cta { background: linear-gradient(135deg, #051242, #1d42d9); }
.svc-side-cta h4, .svc-side-cta p { color: #fff; }
.svc-side-cta p { display: block; margin-bottom: 18px; opacity: 0.85; }
.svc-side-cta .box-btn { background: #fff; color: #1d42d9; }

/* ---------- FAQ (answers may contain lists/paragraphs) ---------- */
.svc-faq-area { background: #f5faff; }
.svc-faq-area .faq-accordion .accordion .accordion-content { display: none; }
.svc-faq-area .faq-accordion .accordion .accordion-content.show { display: block; }
.svc-faq-area .accordion-content p:last-child { margin-bottom: 0; }

/* ---------- CTA strip ---------- */
.svc-cta-area { padding: 70px 0; }
.svc-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 40px 45px; border-radius: 10px; background: linear-gradient(135deg, #051242 0%, #1d42d9 130%); }
.svc-cta h3 { color: #fff; font-size: 28px; margin-bottom: 6px; }
.svc-cta p { color: rgba(255, 255, 255, 0.8); margin: 0; }
.svc-cta .box-btn { background: #fff; color: #1d42d9; }
.svc-cta .box-btn:hover { color: #fff; }
@media (max-width: 575px) { .svc-cta { padding: 30px 24px; } .svc-cta h3 { font-size: 23px; } }

/* ---------- 404 ---------- */
.svc-404-img { max-width: 320px; width: 100%; margin-bottom: 20px; }
.svc-404 .svc-chip-list { margin-top: 20px; }
.svc-btn-outline { background: transparent; border: 1px solid #1d42d9; color: #1d42d9; }
.svc-btn-outline:hover { color: #fff; }
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega li a { text-transform: none; }
.svc-rich ul { list-style: disc; } .svc-rich ol { list-style: decimal; padding-left: 20px; }

/* ---------- Phone field with country code (contact forms) ---------- */
.form-group .iti, .iti.iti--allow-dropdown { width: 100%; max-width: none; display: block; margin-bottom: 20px; }
.iti input.form-control, .iti input[type=tel].form-control { margin-bottom: 0 !important; width: 100%; }
.iti .iti__selected-flag { padding: 0 8px 0 14px; border-right: 1px solid #eeeeee; background: rgba(0,0,0,.02); }
.iti--separate-dial-code .iti__selected-dial-code { font-size: 15px; color: #293a5c; margin-left: 6px; }
.iti__country-list { z-index: 20; max-width: 320px; white-space: normal; font-size: 14px; border-radius: 4px; }
.iti__country-list .iti__country { padding: 6px 10px; }
.iti + .help-block, .form-group .iti ~ .help-block { margin-top: -14px; }
.phone-error { color: #dc3545; font-size: 14px; margin: -14px 0 14px; display: none; }
.form-msg { margin-top: 18px; font-size: 16px; }
.form-msg.ok { color: #198754; } .form-msg.err { color: #dc3545; }
.svc-siblings .svc-siblings-title { margin-bottom: 20px; }
.svc-siblings .svc-siblings-title h2 { font-size: 26px; }
.svc-siblings .svc-chip-list li a i { color: #1d42d9; margin-right: 4px; }


/* =====================================================================
   Design refresh — page header, sections, cards, service rows, footer
   ===================================================================== */
/* Compact page header: centred title, breadcrumb bar at the bottom-left */
.page-title-area.svc-page-hero { padding: 165px 0 0; text-align: center; }
.svc-page-hero .page-title-content { max-width: 820px; margin: 0 auto; padding-bottom: 38px; }
.svc-page-hero .page-title-content h1 { font-size: 34px; line-height: 1.25; margin-bottom: 10px; }
.svc-hero-eyebrow { display: inline-block; margin-bottom: 10px; padding: 4px 14px; border-radius: 30px; background: rgba(112, 161, 255, 0.14); color: #a9c4ff; font-size: 13px; font-weight: 600; letter-spacing: .4px; text-transform: uppercase; }
.svc-hero-sub { color: rgba(255, 255, 255, 0.78); font-size: 16px; line-height: 1.6; margin: 0 auto; max-width: 680px; }
.svc-crumb-bar { position: relative; z-index: 2; border-top: 1px solid rgba(255, 255, 255, 0.08); background: rgba(255, 255, 255, 0.03); text-align: left; }
.svc-crumbs { list-style: none; display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 13px 0; font-size: 14px; }
.svc-crumbs li { color: rgba(255, 255, 255, 0.6); display: inline-flex; align-items: center; }
.svc-crumbs li + li::before { content: "\203A"; margin: 0 10px; color: rgba(255, 255, 255, 0.35); font-size: 18px; line-height: 1; }
.svc-crumbs li a { color: rgba(255, 255, 255, 0.85); display: inline-flex; align-items: center; gap: 5px; }
.svc-crumbs li a:hover { color: #70a1ff; }
.svc-crumbs li.active { color: #70a1ff; }
.svc-page-hero .page-shape .shape1 { top: 45%; left: 4%; opacity: .5; }
.svc-page-hero .page-shape .shape5 { top: 40%; right: 4%; opacity: .5; }
@media (max-width: 991px) {
	.page-title-area.svc-page-hero { padding-top: 120px; }
	.svc-page-hero .page-title-content h1 { font-size: 28px; }
	.svc-page-hero .page-shape { display: none; }
}
@media (max-width: 575px) {
	.page-title-area.svc-page-hero { padding-top: 105px; }
	.svc-page-hero .page-title-content { padding-bottom: 26px; }
	.svc-page-hero .page-title-content h1 { font-size: 24px; }
	.svc-hero-sub { font-size: 15px; }
	.svc-crumbs { font-size: 13px; padding: 10px 0; }
}

/* Section rhythm & readable text */
.svc-section { padding: 70px 0; }
.svc-intro .services-details-text h2 { font-size: 30px; margin-bottom: 16px; }
.svc-intro-narrow { text-align: left; }
.svc-rich, .svc-rich p, .svc-rich li { font-size: 16px; line-height: 1.8; color: #5a6382; }
.svc-rich strong { color: #293a5c; }
.svc-banner img { border-radius: 14px; box-shadow: 0 20px 45px rgba(5, 18, 66, 0.12); }
.svc-hero-icon { width: 54px; height: 54px; font-size: 26px; border-radius: 14px; }
.svc-section-head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.svc-section-head h2 { font-size: 30px; margin: 6px 0 0; }
.svc-eyebrow { display: inline-block; color: #1d42d9; font-weight: 700; font-size: 13px; letter-spacing: .8px; text-transform: uppercase; }

/* Service rows (alternating layout) */
.svc-list-area .scrives-item-2.svc-item { padding: 34px; margin: 0 0 24px !important; border-radius: 16px; background: #fff; border: 1px solid #edf1f9; box-shadow: 0 10px 30px rgba(5, 18, 66, 0.05); transition: box-shadow .3s, transform .3s; }
.svc-list-area .scrives-item-2.svc-item:hover { box-shadow: 0 18px 45px rgba(5, 18, 66, 0.10); transform: translateY(-2px); }
.svc-list-area .scrives-item-2 h3 { font-size: 22px; margin-bottom: 12px; }
.svc-list-area .scrives-item-2 .services-img img, .svc-list-area .mb-qc img { border-radius: 12px; width: 100%; }
.svc-list-area .scrives-item-2 p strong { color: #293a5c; }
.svc-read-more { font-weight: 600; color: #1d42d9; }
@media (max-width: 991px) { .svc-list-area .scrives-item-2.svc-item { padding: 22px; } .svc-list-area .scrives-item-2 .services-img { margin-bottom: 18px; } }

/* Cards (group pages + grid layout) */
.single-service.svc-card { text-align: left; padding: 30px 28px; border-radius: 16px; border: 1px solid #edf1f9; box-shadow: 0 10px 30px rgba(5, 18, 66, 0.05); background: #fff; transition: all .3s; }
.single-service.svc-card:hover { transform: translateY(-4px); box-shadow: 0 20px 45px rgba(5, 18, 66, 0.12); }
.single-service.svc-card .service-img { text-align: left; margin-bottom: 18px; }
.single-service.svc-card .service-img img { max-height: 64px; width: auto; }
.svc-card-icon { width: 56px; height: 56px; border-radius: 14px; font-size: 28px; }
.single-service.svc-card .service-content { text-align: left; padding: 0; }
.single-service.svc-card .service-content h3 { font-size: 19px; margin-bottom: 10px; }
.single-service.svc-card .service-content p { font-size: 15px; line-height: 1.7; }
.single-service.svc-card .service-content .line-bnt { align-self: flex-start; color: #1d42d9; font-weight: 600; }
.single-service.svc-card .service-content .line-bnt::after { content: " \2192"; }

/* Service detail */
.svc-detail-cover { border-radius: 16px; background: #f4f7fe; padding: 24px; margin-bottom: 28px; text-align: center; }
.svc-detail-cover img { max-height: 320px; width: auto; max-width: 100%; border-radius: 10px; }
.svc-detail-title { display: flex; align-items: center; gap: 14px; font-size: 28px; margin-bottom: 18px; }
.svc-detail-title .svc-hero-icon { margin: 0; flex: 0 0 54px; }
.svc-side-box { border-radius: 14px; border: 1px solid #edf1f9; box-shadow: 0 10px 30px rgba(5, 18, 66, 0.05); }

/* "Explore more" internal links */
.svc-siblings { padding: 0 0 70px; }
.svc-siblings-box { padding: 30px 34px; border-radius: 16px; background: #f4f7fe; }
.svc-siblings-box h2 { font-size: 22px; margin-bottom: 16px; }
.svc-siblings .svc-chip-list li a { padding: 8px 16px; font-weight: 600; transition: all .2s; }
.svc-siblings .svc-chip-list li a:hover { background: #1d42d9; border-color: #1d42d9; color: #fff; }
.svc-siblings .svc-chip-list li a:hover i { color: #fff; }
.svc-siblings .svc-chip-list li.svc-chip-all a { background: #1d42d9; border-color: #1d42d9; color: #fff; }

/* FAQ & CTA */
.svc-faq-area { padding: 80px 0; }
.svc-faq-area .faq-accordion .accordion .accordion-item { border-radius: 12px; overflow: hidden; }
.svc-cta { border-radius: 18px; padding: 44px 50px; }

/* Footer service columns: balanced masonry instead of 8 narrow columns */
.footer-area .svc-footer-groups { display: block; column-count: 4; column-gap: 40px; margin-left: 0; margin-right: 0; }
.footer-area .svc-footer-groups > div { width: 100%; max-width: none; padding: 0; break-inside: avoid; -webkit-column-break-inside: avoid; display: inline-block; }
.footer-area .svc-footer-groups .content { margin-bottom: 28px; }
@media (max-width: 991px) { .footer-area .svc-footer-groups { column-count: 3; } }
@media (max-width: 767px) { .footer-area .svc-footer-groups { column-count: 2; column-gap: 24px; } }

/* Theme dark/light switch: keep it out of the content */
.switch-box { left: 16px; bottom: 18px; z-index: 50; }
/* invisible bridge so the panel stays open while the pointer moves down from "Services" */
.navbar-area .main-nav .navbar .navbar-nav .nav-item .dropdown-menu.svc-mega::after { content: ""; position: absolute; left: 0; right: 0; top: -22px; height: 22px; }
.svc-mm-tab span { white-space: nowrap; }

/* Other pages (about, contact, FAQ, policies): same compact page header */
.page-title-area:not(.svc-page-hero) { padding-top: 170px; padding-bottom: 70px; }
.page-title-area:not(.svc-page-hero) .page-title-content h1,
.page-title-area:not(.svc-page-hero) .page-title-content h2 { font-size: 34px; margin-bottom: 8px; }
.page-title-area:not(.svc-page-hero) .page-title-content ul li { font-size: 14px; }
.page-title-area:not(.svc-page-hero) .page-shape .shape3, .page-title-area:not(.svc-page-hero) .page-shape .shape4, .page-title-area:not(.svc-page-hero) .page-shape .shape6 { display: none; }
@media (max-width: 991px) { .page-title-area:not(.svc-page-hero) { padding-top: 120px; padding-bottom: 50px; } .page-title-area:not(.svc-page-hero) .page-title-content h1, .page-title-area:not(.svc-page-hero) .page-title-content h2 { font-size: 28px; } }

/* Nav fits on 1200–1399px screens */
@media (min-width: 992px) and (max-width: 1399px) {
	.navbar-area .main-nav .navbar .navbar-nav .nav-item a { margin-right: 22px; font-size: 15px; }
	.navbar-area .nav-btn { width: auto; }
	.navbar-area .nav-btn .box-btn { white-space: nowrap; padding-left: 22px; padding-right: 22px; }
}
@media (max-width: 767px) { .switch-box { transform: scale(.8); transform-origin: left bottom; left: 8px; bottom: 8px; } }

/* Page header — tighter (content starts just below the menu bar) */
.page-title-area.svc-page-hero { padding-top: 112px; }
.svc-page-hero .page-title-content { padding-bottom: 22px; }
.svc-page-hero .page-title-content h1 { font-size: 30px; margin-bottom: 6px; }
.svc-hero-eyebrow { display: none; }  /* the breadcrumb already shows the group */
.svc-hero-sub { font-size: 15px; line-height: 1.5; max-width: 760px; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.svc-crumbs { padding: 10px 0; font-size: 13.5px; }
.page-title-area:not(.svc-page-hero) { padding-top: 120px; padding-bottom: 36px; }
.page-title-area:not(.svc-page-hero) .page-title-content h1,
.page-title-area:not(.svc-page-hero) .page-title-content h2 { font-size: 30px; }
@media (max-width: 991px) {
	.page-title-area.svc-page-hero { padding-top: 88px; }
	.page-title-area:not(.svc-page-hero) { padding-top: 88px; padding-bottom: 30px; }
	.svc-hero-sub { -webkit-line-clamp: 2; }
}
@media (max-width: 575px) {
	.page-title-area.svc-page-hero { padding-top: 84px; }
	.svc-page-hero .page-title-content { padding-bottom: 16px; }
	.svc-page-hero .page-title-content h1 { font-size: 22px; }
	.svc-hero-sub { font-size: 14px; }
}
.svc-section { padding: 56px 0; }

/* =====================================================================
   Lead popup (includes/lead-popup.php + assets/js/lead-popup.js)
   ===================================================================== */
html.lead-open { overflow: hidden; }
.lead-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 16px; }
.lead-modal[hidden] { display: none; }
.lead-modal-backdrop { position: absolute; inset: 0; background: rgba(5, 18, 66, .62); opacity: 0; transition: opacity .25s; backdrop-filter: blur(2px); }
.lead-modal-box { position: relative; width: 100%; max-width: 820px; max-height: calc(100vh - 32px); overflow: auto; display: grid; grid-template-columns: 1fr 1.25fr; border-radius: 18px; background: #fff; box-shadow: 0 30px 80px rgba(0,0,0,.35); transform: translateY(18px) scale(.98); opacity: 0; transition: all .25s ease; }
.lead-modal.is-open .lead-modal-backdrop { opacity: 1; }
.lead-modal.is-open .lead-modal-box { transform: none; opacity: 1; }
.lead-modal-close { position: absolute; top: 10px; right: 12px; z-index: 2; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #f1f5fd; color: #051242; font-size: 24px; line-height: 1; cursor: pointer; }
.lead-modal-close:hover { background: #051242; color: #fff; }
.lead-modal-side { padding: 34px 30px; background: linear-gradient(150deg, #051242 0%, #1d42d9 140%); color: #fff; }
.lead-modal-eyebrow { display: inline-block; padding: 4px 12px; border-radius: 20px; background: rgba(255,255,255,.14); font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
.lead-modal-side h3 { color: #fff; font-size: 26px; line-height: 1.25; margin: 14px 0 10px; }
.lead-modal-side p { color: rgba(255,255,255,.8); font-size: 15px; line-height: 1.6; }
.lead-modal-side ul { list-style: none; padding: 0; margin: 18px 0 0; }
.lead-modal-side li { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 14.5px; }
.lead-modal-side li i { color: #7ee2a8; font-size: 18px; }
.lead-modal-form { padding: 30px 28px 22px; }
.lead-field { margin-bottom: 12px; }
.lead-field input, .lead-field select, .lead-field textarea { width: 100%; height: 48px; padding: 10px 14px; border: 1px solid #e3e9f7; border-radius: 10px; background: #f8faff; font-size: 15px; color: #293a5c; outline: 0; transition: border-color .2s, background .2s; }
.lead-field textarea { height: auto; resize: vertical; }
.lead-field input:focus, .lead-field select:focus, .lead-field textarea:focus { border-color: #1d42d9; background: #fff; }
.lead-field .iti { width: 100%; display: block; margin: 0; }
.lead-field .iti input { padding-left: 92px !important; }
.lead-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.lead-submit { width: 100%; height: 50px; border: 0; border-radius: 10px; background: #1d42d9; color: #fff; font-weight: 700; font-size: 16px; cursor: pointer; transition: background .2s; }
.lead-submit:hover { background: #051242; }
.lead-submit:disabled { opacity: .7; cursor: wait; }
.lead-msg { margin: 10px 0 0; font-size: 14px; min-height: 0; }
.lead-msg.err { color: #dc3545; }
.lead-privacy { margin: 8px 0 0; font-size: 12.5px; color: #7a7e9a; text-align: center; }
.lead-thanks { text-align: center; padding: 40px 10px; }
.lead-thanks i { font-size: 60px; color: #28a745; }
.lead-thanks h4 { margin: 10px 0 6px; font-size: 24px; }
.lead-thanks .lead-submit { max-width: 200px; margin-top: 14px; }
@media (max-width: 767px) {
	.lead-modal-box { grid-template-columns: 1fr; }
	.lead-modal-side { padding: 24px 22px 18px; }
	.lead-modal-side h3 { font-size: 21px; margin: 10px 0 6px; }
	.lead-modal-side p { font-size: 14px; margin: 0; }
	.lead-modal-side ul { display: none; }
	.lead-modal-form { padding: 20px 20px 16px; }
}

/* Field errors (email / mobile validation in the popup and contact forms) */
.field-error { display: none; color: #dc3545; font-size: 13px; line-height: 1.4; margin: 4px 0 0; text-align: left; }
.form-group .field-error { margin: -14px 0 14px; }
.lead-field .field-error { margin-top: 5px; }
input.is-invalid, .lead-field input.is-invalid, .form-control.is-invalid { border-color: #dc3545 !important; background-color: #fff8f8 !important; }
