/* Smooth Scrolling & Base */
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; }

/* Custom Cursor Dot */
.custom-cursor-dot { width: 8px; height: 8px; background: #173d78; border-radius: 50%; position: fixed; pointer-events: none; z-index: 99999; transform: translate(-50%, -50%); transition: transform 0.1s ease; }
@media (max-width: 1024px) { .custom-cursor-dot { display: none; } }

/* STICKY HEADER WITH GLASSMORPHISM (BLUR) */
.cs-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(255, 255, 255, 0.75); /* Semi-transparent white */
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px); /* Safari support */
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Smooth animate jab scroll ho */
.cs-header.scrolled {
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow: 0 8px 32px rgba(23, 61, 120, 0.08);
	border-bottom: 1px solid rgba(23, 61, 120, 0.05);
}

.cs-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0; min-height: 76px; transition: padding 0.4s ease, min-height 0.4s ease; }
.cs-header.scrolled .cs-header__inner { padding: 4px 0; min-height: 68px; } /* Thora compact ho jaye scroll pe */

.cs-logo { display: flex !important; align-items: center; flex-shrink: 0; opacity: 1 !important; visibility: visible !important; position: relative; z-index: 10; }
.cs-logo .custom-logo-link { display: flex; align-items: center; opacity: 1 !important; visibility: visible !important; }
.cs-logo img, .cs-logo .custom-logo { display: block !important; width: auto; height: auto; max-height: 95px; max-width: 150px; opacity: 1 !important; visibility: visible !important; transition: max-height 0.4s ease; }
.cs-header.scrolled .cs-logo img, .cs-header.scrolled .cs-logo .custom-logo { max-height: 65px;}
.cs-logo__fallback { display: flex; align-items: center; gap: 8px; color: #173d78; text-decoration: none; font-weight: 700; }
.cs-logo__mark { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: #173d78; color: #ffffff; font-weight: 700; }

.cs-nav--desktop { flex: 1; display: flex; align-items: center; justify-content: center; min-width: 0; }
.cs-nav__list { display: flex; align-items: center; justify-content: center; list-style: none; margin: 0; padding: 0; gap: 2px; }
.cs-nav__list li { position: relative; list-style: none; margin: 0; padding: 0; }
.cs-nav__list > li > a { display: inline-flex; align-items: center; justify-content: center; gap: 4px; padding: 8px 10px; color: #173d78; font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none; border-radius: 22px; white-space: nowrap; transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease; }
.cs-nav__list > li > a:hover { background: rgba(241, 247, 250, 0.8); color: #123564; }
.cs-nav__list > li.current-menu-item > a, .cs-nav__list > li.current_page_item > a, .cs-nav__list > li.current-menu-ancestor > a, .cs-nav__list > li.current_page_ancestor > a { background: rgba(220, 239, 244, 0.8); color: #173d78; }
.cs-nav__list .menu-item-has-children > a { display: inline-flex; align-items: center; flex-wrap: nowrap; }
.cs-nav__list .menu-item-has-children > a::after { display: none !important; content: none !important; }
.cs-arrow { display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; margin-left: 2px; flex-shrink: 0; transition: transform 0.25s ease; }
.cs-arrow svg { width: 13px; height: 13px; stroke: currentColor; stroke-width: 2.5; fill: none; }
.cs-nav__list .menu-item-has-children:hover > a .cs-arrow { transform: rotate(180deg); }

.cs-nav__list .sub-menu { position: absolute; top: calc(100% + 5px); left: 0; min-width: 210px; margin: 0; padding: 7px; list-style: none; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); border: 1px solid rgba(229, 234, 240, 0.8); border-radius: 10px; box-shadow: 0 12px 35px rgba(15, 23, 42, 0.12); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease; z-index: 9999; }
.cs-nav__list .menu-item-has-children:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.cs-nav__list .sub-menu li { margin: 0; padding: 0; }
.cs-nav__list .sub-menu a { display: flex; align-items: center; width: 100%; padding: 9px 12px; box-sizing: border-box; color: #475569; font-size: 13px; font-weight: 500; line-height: 1.3; text-decoration: none; border-radius: 7px; white-space: nowrap; transition: background 0.2s ease, color 0.2s ease; }
.cs-nav__list .sub-menu a:hover { background: rgba(241, 247, 250, 0.8); color: #0f766e; }

.cs-header__right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.cs-header__cta--desktop { display: flex; align-items: center; }
.cs-header__cta--desktop .cs-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 22px; background: #173d78; color: #ffffff; border-radius: 30px; font-size: 14px; font-weight: 600; line-height: 1; text-decoration: none; white-space: nowrap; transition: background 0.25s ease, transform 0.25s ease; }
.cs-header__cta--desktop .cs-btn:hover { background: #12315f; color: #ffffff; transform: translateY(-1px); }

.cs-fixed-socials { display: none; position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 999; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(8px); border-radius: 12px 0 0 12px; box-shadow: -4px 0 20px rgba(0, 0, 0, 0.10); padding: 10px 7px; flex-direction: column; gap: 10px; align-items: center; }
.cs-fixed-socials a { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; background: rgba(241, 245, 249, 0.8); color: #334155; font-size: 15px; text-decoration: none; transition: all 0.3s ease; }
.cs-fixed-socials a:hover { background: #173d78; color: #ffffff; transform: translateX(-3px); }

.cs-menu-toggle { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: rgba(241, 245, 249, 0.8); border: none; border-radius: 8px; cursor: pointer; transition: background 0.25s ease; }
.cs-menu-toggle:hover { background: #e2e8f0; }
.cs-menu-toggle i { font-size: 19px; color: #173d78; }

.cs-mobile { position: fixed; top: 0; right: -100%; width: 320px; height: 100vh; box-sizing: border-box; background: #173d78; box-shadow: -10px 0 30px rgba(0, 0, 0, 0.15); z-index: 9999; transition: right 0.35s ease; padding: 75px 24px 20px; overflow-y: auto; display: flex; flex-direction: column; }
.cs-mobile.is-open { right: 0; }
.cs-mobile__close { position: absolute; top: 18px; right: 18px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: #ffffff; border: none; border-radius: 8px; color: #173d78; font-size: 18px; cursor: pointer; }
.cs-mobile__nav { flex: 1; }
.cs-mobile__list { list-style: none; margin: 0; padding: 0; }
.cs-mobile__list li { list-style: none; margin: 0; padding: 0; }
.cs-mobile__list > li { border-bottom: 1px solid rgba(255, 255, 255, 0.15); }
.cs-mobile__list a { display: flex; align-items: center; justify-content: space-between; width: 100%; box-sizing: border-box; padding: 14px 0; color: #ffffff; font-size: 16px; font-weight: 600; text-decoration: none; }
.cs-mobile__list a:hover { color: #dceff4; }
.cs-mobile__list .current-menu-item > a, .cs-mobile__list .current_page_item > a { color: #dceff4; }
.cs-mobile__list .sub-menu { display: none; list-style: none; margin: 0 0 10px; padding: 5px 15px; background: rgba(255, 255, 255, 0.08); border-radius: 8px; }
.cs-mobile__list .menu-item-has-children.is-open > .sub-menu { display: block; }
.cs-mobile__list .sub-menu a { padding: 10px 0; color: rgba(255, 255, 255, 0.80); font-size: 14px; font-weight: 500; }
.cs-mobile__list .menu-item-has-children > a .cs-toggle-icon { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex-shrink: 0; background: rgba(255, 255, 255, 0.10); border-radius: 6px; transition: transform 0.25s ease; }
.cs-mobile__list .cs-toggle-icon i { font-size: 11px; color: #ffffff; transition: transform 0.25s ease; }
.cs-mobile__list .menu-item-has-children.is-open > a .cs-toggle-icon { background: rgba(255, 255, 255, 0.20); }
.cs-mobile__list .menu-item-has-children.is-open > a .cs-toggle-icon i { transform: rotate(180deg); }

.cs-mobile__footer { padding-top: 15px; }
.cs-mobile__contact { display: flex; flex-direction: column; gap: 5px; margin-bottom: 15px; }
.cs-mobile__contact-item { display: flex; align-items: flex-start; gap: 10px; padding: 7px 0; color: #ffffff; font-size: 13px; line-height: 1.4; text-decoration: none; }
.cs-mobile__contact-item i { width: 18px; flex-shrink: 0; margin-top: 2px; color: #ffffff; }
.cs-mobile__cta { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; box-sizing: border-box; padding: 13px 20px; background: #ffffff; color: #173d78; border-radius: 8px; font-size: 14px; font-weight: 600; text-decoration: none; }
.cs-mobile__cta:hover { background: #dceff4; color: #173d78; }

.cs-mobile-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.50); z-index: 9998; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; backdrop-filter: blur(3px); }
.cs-mobile-overlay.is-open { opacity: 1; visibility: visible; }

@media (max-width: 1100px) {
	.cs-nav__list > li > a { padding-left: 7px; padding-right: 7px; font-size: 13px; }
	.cs-header__cta--desktop .cs-btn { padding-left: 17px; padding-right: 17px; }
}
@media (max-width: 1024px) {
	.cs-nav--desktop, .cs-header__cta--desktop { display: none; }
	.cs-menu-toggle { display: flex; }
	.cs-fixed-socials { display: flex; }
	.cs-header__inner { min-height: 70px; }
}
@media (max-width: 768px) {
	.cs-logo img, .cs-logo .custom-logo { max-height: 58px; max-width: 135px; }
	.cs-mobile { width: 100%; }
	.cs-fixed-socials { padding: 8px 5px; gap: 8px; }
	.cs-fixed-socials a { width: 31px; height: 31px; font-size: 13px; }
}
@media (max-width: 480px) {
	.cs-header__inner { min-height: 65px; }
	.cs-logo img, .cs-logo .custom-logo { max-height: 52px; max-width: 120px; }
	.cs-menu-toggle { width: 40px; height: 40px; }
}
.cs-header .cs-logo, .cs-header .cs-logo a, .cs-header .cs-logo img, .cs-header .cs-logo .custom-logo-link { opacity: 1 !important; visibility: visible !important; filter: none !important; }
.cs-header a { text-decoration: none; }
