/* Layered vertical dropdown treatment */
.nav-dropdown[open]>.dropdown-panel{transform-origin:top center!important;animation:dropdownFall .42s cubic-bezier(.16,1,.3,1) both!important}
@keyframes dropdownFall{0%{opacity:0;transform:translateY(-18px) scaleY(.92)}100%{opacity:1;transform:translateY(0) scaleY(1)}}

.nav-dropdown[open]>.about-panel,
.nav-dropdown[open]>.services-panel{display:flex!important;left:-18px!important;right:auto!important;width:290px!important;max-width:calc(100vw - 28px)!important;padding:0!important;flex-direction:column!important;gap:0!important;border:0!important;border-radius:0 0 42px 42px!important;background:#eef0f7!important;box-shadow:0 24px 55px rgba(20,35,82,.22)!important;transform:none!important;overflow:hidden!important}

.dropdown-panel>a{position:relative!important;display:flex!important;width:100%!important;min-height:76px!important;margin:0!important;padding:20px 30px!important;align-items:center!important;border:0!important;border-radius:0 0 42px 42px!important;background:#f5f6fa!important;color:#3d5074!important;font-size:16px!important;line-height:1.3!important;box-shadow:0 7px 14px rgba(30,45,92,.06)!important;opacity:0;transform:translateY(-16px);animation:menuItemFall .45s cubic-bezier(.16,1,.3,1) forwards!important}
.dropdown-panel>a:nth-child(1){z-index:4;animation-delay:.05s!important}
.dropdown-panel>a:nth-child(2){z-index:3;animation-delay:.12s!important}
.dropdown-panel>a:nth-child(3){z-index:2;animation-delay:.19s!important}
.dropdown-panel>a:nth-child(4){z-index:1;animation-delay:.26s!important}
@keyframes menuItemFall{to{opacity:1;transform:translateY(0)}}
.dropdown-panel>a:hover,.dropdown-panel>a:focus{background:linear-gradient(120deg,#526bd7,#8397ef)!important;color:#fff!important;outline:0!important;transform:none!important}

.nav-dropdown[open]>.services-panel{width:360px!important}
.services-panel>.service-menu-card{display:grid!important;min-height:112px!important;padding:16px 20px!important;grid-template-columns:88px minmax(0,1fr)!important;gap:15px!important;align-items:center!important;background:#f5f6fa!important;border-radius:0 0 42px 42px!important}
.services-panel>.service-menu-card>img{display:block!important;width:88px!important;min-width:88px!important;max-width:88px!important;height:76px!important;max-height:76px!important;border-radius:15px!important;object-fit:cover!important}
.services-panel>.service-menu-card>span{display:flex!important;min-width:0!important;flex-direction:column!important;gap:5px!important}
.services-panel>.service-menu-card b{color:#263c83!important;font-size:15px!important;line-height:1.2!important}
.services-panel>.service-menu-card small{color:#66728f!important;font-size:12px!important;line-height:1.35!important}
.services-panel>.service-menu-card:hover b,.services-panel>.service-menu-card:focus b{color:#10245f!important}
.services-panel>.service-menu-card:hover small,.services-panel>.service-menu-card:focus small{color:#2f426f!important}

@media(max-width:850px){
 .nav-dropdown[open]>.about-panel,.nav-dropdown[open]>.services-panel{position:static!important;width:100%!important;max-width:100%!important;margin:0 0 10px!important;border-radius:0 0 28px 28px!important;box-shadow:0 12px 28px rgba(20,35,82,.12)!important}
 .dropdown-panel>a{min-height:64px!important;padding:16px 22px!important;border-radius:0 0 28px 28px!important}
 .services-panel>.service-menu-card{display:grid!important;min-height:98px!important;padding:12px 16px!important;grid-template-columns:74px minmax(0,1fr)!important}
 .services-panel>.service-menu-card>img{width:74px!important;min-width:74px!important;max-width:74px!important;height:64px!important;max-height:64px!important}
}
@media(prefers-reduced-motion:reduce){.nav-dropdown[open]>.dropdown-panel,.dropdown-panel>a{animation:none!important;opacity:1!important;transform:none!important}}

/* Compact, stable dropdown sizing */
.nav-dropdown[open]>.dropdown-panel{top:100%!important;max-height:min(68vh,440px)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-width:thin;scrollbar-color:#91a5ff #eef1ff}
.nav-dropdown[open]>.about-panel{width:218px!important;border-radius:0 0 20px 20px!important}
.about-panel>a{min-height:52px!important;padding:14px 18px!important;border-radius:0 0 18px 18px!important;font-size:14px!important;box-shadow:0 3px 9px rgba(30,45,92,.05)!important}
.nav-dropdown[open]>.services-panel{width:330px!important;border-radius:0 0 20px 20px!important}
.services-panel>.service-menu-card{min-height:88px!important;padding:11px 14px!important;grid-template-columns:64px minmax(0,1fr)!important;gap:12px!important;border-radius:0 0 18px 18px!important}
.services-panel>.service-menu-card>img{width:64px!important;min-width:64px!important;max-width:64px!important;height:60px!important;max-height:60px!important;border-radius:11px!important}
.services-panel>.service-menu-card b{font-size:14px!important}.services-panel>.service-menu-card small{font-size:11.5px!important;line-height:1.3!important}
@media(max-width:850px){.nav-dropdown[open]>.dropdown-panel{max-height:55vh!important}.nav-dropdown[open]>.about-panel,.nav-dropdown[open]>.services-panel{width:100%!important}.services-panel>.service-menu-card{grid-template-columns:60px minmax(0,1fr)!important}.services-panel>.service-menu-card>img{width:60px!important;min-width:60px!important;max-width:60px!important;height:56px!important;max-height:56px!important}}

/* High-contrast hover and keyboard-focus states */
.about-menu>summary{position:relative}.nav-parent-link{color:inherit!important;text-decoration:none!important;position:relative;z-index:3}.nav-parent-link:after{display:none!important}.nav-parent-link:hover,.nav-parent-link:focus-visible{color:#526bd7!important;outline:0}.about-menu>summary i{position:relative;z-index:2;padding:9px;margin:-9px;cursor:pointer}.about-menu>summary:hover{color:#526bd7}
.dropdown-panel>a:hover,.dropdown-panel>a:focus-visible{background:linear-gradient(120deg,#b9c6ff,#8fa4ff)!important;color:#10245f!important;box-shadow:inset 4px 0 0 #304fb8,0 8px 18px rgba(30,52,132,.18)!important}
.about-panel>a:hover,.about-panel>a:focus-visible{color:#10245f!important;font-weight:800!important}
.services-panel>.service-menu-card:hover b,.services-panel>.service-menu-card:focus-visible b{color:#0b205b!important}
.services-panel>.service-menu-card:hover small,.services-panel>.service-menu-card:focus-visible small{color:#263b72!important}
.services-panel>.service-menu-card:hover img,.services-panel>.service-menu-card:focus-visible img{box-shadow:0 0 0 3px rgba(38,61,135,.28)!important}

/* Keep service-card text readable after mouse clicks and keyboard focus. */
.services-panel>.service-menu-card:hover b,
.services-panel>.service-menu-card:focus b,
.services-panel>.service-menu-card:focus-visible b{color:#10245f!important}
.services-panel>.service-menu-card:hover small,
.services-panel>.service-menu-card:focus small,
.services-panel>.service-menu-card:focus-visible small{color:#2f426f!important}
.services-panel>.service-menu-card:hover,
.services-panel>.service-menu-card:focus,
.services-panel>.service-menu-card:focus-visible{background:linear-gradient(120deg,#dce4ff,#b9c8ff)!important;color:#10245f!important;outline:2px solid transparent!important}

/* Final contrast lock: headings and descriptions stay readable in every state. */
body header .services-panel>.service-menu-card b,
body header .services-panel>.service-menu-card:hover b,
body header .services-panel>.service-menu-card:focus b,
body header .services-panel>.service-menu-card:focus-visible b{color:#172f76!important;text-shadow:none!important;opacity:1!important}
body header .services-panel>.service-menu-card small,
body header .services-panel>.service-menu-card:hover small,
body header .services-panel>.service-menu-card:focus small,
body header .services-panel>.service-menu-card:focus-visible small{color:#4d5f86!important;text-shadow:none!important;opacity:1!important;font-weight:600!important}

/* v9.3: unmistakable high-contrast interaction state. */
html body header nav .services-panel>a.service-menu-card:hover,
html body header nav .services-panel>a.service-menu-card:focus,
html body header nav .services-panel>a.service-menu-card:focus-visible{
 background:linear-gradient(135deg,#213b87,#4763c6)!important;
 color:#fff!important;
 box-shadow:inset 5px 0 0 #9fb0ff,0 10px 24px rgba(19,42,112,.3)!important;
}
html body header nav .services-panel>a.service-menu-card:hover b,
html body header nav .services-panel>a.service-menu-card:focus b,
html body header nav .services-panel>a.service-menu-card:focus-visible b,
html body header nav .services-panel>a.service-menu-card:hover small,
html body header nav .services-panel>a.service-menu-card:focus small,
html body header nav .services-panel>a.service-menu-card:focus-visible small{
 color:#fff!important;
 opacity:1!important;
 text-shadow:0 1px 1px rgba(0,0,0,.16)!important;
}

/* v9.5: replace the oversized V with a compact submenu control. */
html body header nav .about-menu>summary i{
 width:22px!important;
 height:22px!important;
 min-width:22px!important;
 margin-left:2px!important;
 padding:0!important;
 display:grid!important;
 place-items:center!important;
 border:1px solid #d5dcf3!important;
 border-radius:50%!important;
 background:#f4f6ff!important;
 color:#314b9d!important;
 transform:none!important;
 transition:background-color .2s ease,color .2s ease,border-color .2s ease!important;
 font-style:normal!important;
}
html body header nav .about-menu>summary i::before{content:"+";font:700 16px/1 Arial,sans-serif!important;transform:translateY(-1px)}
html body header nav .about-menu[open]>summary i{background:#314b9d!important;border-color:#314b9d!important;color:#fff!important;transform:none!important}
html body header nav .about-menu[open]>summary i::before{content:"−";transform:none}
html body header nav .about-menu>summary:hover i{border-color:#8799df!important;background:#e9edff!important}
html body header nav .about-menu[open]>summary:hover i{background:#314b9d!important;border-color:#314b9d!important;color:#fff!important}
