/* Accessibility and responsive enhancements. */
html { scroll-behavior: smooth; scroll-padding-top: 85px; }
body { overflow-x: clip; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #eea62c; outline-offset: 5px; }
.skip-link { position:fixed; left:16px; top:-70px; z-index:100; background:white; color:#043772; padding:12px 20px; }
.skip-link:focus { top:12px; }
.hero,.main-img { height:47.5vw; min-height:550px; max-height:850px; }
.hero { width:100%; }
.slider .slide:not(.selected) { visibility:hidden; }
.nav-item:focus-within > .submenu { display:block; opacity:1; visibility:visible; }
.hero-card { cursor:pointer; }
.hero-card:focus-within .on-hover { height:100%; background:linear-gradient(0deg,#0054ba,rgba(0,84,186,.9)); }
.demo-form-note { font-size:13px!important; line-height:1.7!important; color:#3c566e!important; padding:12px 0!important; width:100%; }
.wrapper .demo-form-note { padding:0 20px 10px!important; }
#form-result:not(:empty) { padding:16px; margin:14px 0; background:#eaf2fa; border-left:3px solid #0054ba; color:#123c68; font:400 14px/1.7 Poppins,sans-serif; text-align:left; width:100%; }
.demo-result-title { font-weight:600; display:block; margin-bottom:8px; }
.contactForm label { font-size:16px; }
.contactForm .formBox .inputBox label { color:#333; display:block; }
.contactForm .formBox .inputBox input,.contactForm .formBox .inputBox textarea { min-height:38px; }
.accordion-item__line,.acording-req { cursor:pointer; }
.accordion-item.is-open .accordion-item__inner { max-height:none!important; height:auto!important; opacity:1!important; overflow:visible!important; }
.accordion-item.is-open .accordion-item__content { opacity:1!important; transform:none!important; }
.accordion-item:not(.is-open) .accordion-item__inner { display:none; }
.accordion-item.is-open .accordion-item__icon { transform:rotate(180deg); }
.menuIcon { border:0; padding:0; background:transparent; }
dialog { width:min(480px,calc(100% - 36px)); border:0; border-radius:12px; padding:38px 30px 28px; box-shadow:0 20px 80px #001b4470; color:#253d58; font-family:Poppins,sans-serif; }
dialog::backdrop { background:#071c36a8; }
dialog h2 { color:#124e8e; font-size:23px; padding-right:22px; margin-bottom:16px; }
dialog p { font-size:15px; line-height:1.8; }
.dialog-close { position:absolute; top:8px; right:14px; border:0; background:none; color:#345; font-size:30px; }
.dialog-done { background:#0756ae; color:#fff; border:0; border-radius:5px; padding:10px 24px; }
.office-detail { background:#eef4fa; padding:18px; color:#123c68; }
.office-detail h3 { font-size:18px; }
.office-detail a { text-decoration:underline; }
@media(max-width:992px) and (min-width:769px) { .hero,.main-img { min-height:430px; } }
@media(max-width:768px) {
 .hero,.main-img { height:72vh; min-height:460px; max-height:680px; }
 .main-img { padding:0 24px; }
 .hero { background-position:62% center; }
 .hero-text h1 { font-size:clamp(27px,6vw,40px); line-height:1.25; max-width:480px; }
 .hero-text p { font-size:14px; line-height:1.7; max-width:360px; }
 .hero-text h4 { font-size:15px; }
 .header .menuIcon { display:block!important; top:24px; }
 .menuIcon::before,.menuIcon::after,.menuIcon .icon:first-child { content:''; display:block; position:absolute; left:0; width:26px; height:2px; background:#fff; }
 .menuIcon::before { top:2px; }.menuIcon .icon:first-child { top:10px; }.menuIcon::after { top:18px; }
 .menuIcon .overlay { display:none; }
 .header .links-header { width:270px!important; transform:translateX(105%); visibility:hidden; overflow-y:auto; transition:transform .25s,visibility .25s; }
 .header.mobile-menu-open .links-header { transform:translateX(0); visibility:visible; }
 .header .links-header .nav { position:static; padding:72px 15px 25px; width:100%; }
 .header .nav-item { width:100%; }
 .header .nav-link { font-size:14px!important; padding:10px 12px!important; }
 .header .submenu { position:static; box-shadow:none; width:100%; background:#073d7b; display:none; }
 .header .nav-item:focus-within .submenu { display:block; }
 .header .onlineappointbtn { margin:12px 10px; }
 .traffic-main { flex-direction:row!important; flex-wrap:wrap!important; gap:16px; padding:16px; }
 .traffic-main .hero-card { width:calc(50% - 8px); margin:0!important; min-height:166px; }
 .hero-card .image img { max-width:85%; }
 .hero-card .heading h2 { font-size:12px; padding:8px 5px 12px; }
 .hero-card .on-hover h2 { font-size:13px; }.hero-card .paragraph p { font-size:12px; }
 .traffic-main .hero-card:last-child:nth-child(odd) { margin-right:auto!important; }
 .mt-top { display:flex; gap:14px; justify-content:center; }
 .mt-top .btn { width:auto!important; margin:20px 0 8px; }
 .mt-top button { font-size:14px!important; }
 .vector-top { pointer-events:none; }
 .history .fl-cont { flex-direction:column; padding:28px 24px; }
 .his-para { width:100%!important; }.his-para p { font-size:14px!important; line-height:1.75; }
 .his-img { width:80%!important; max-width:300px; margin:auto; }
 .publicMsg { margin:24px 16px; width:calc(100% - 32px); }
 .officer-img { text-align:center; }.officer-img img { width:min(100%,380px)!important; height:auto!important; object-fit:cover; }
 .pub-para { margin:0!important; padding:22px!important; width:100%!important; }
 .pub-para p { font-size:14px!important; line-height:1.75; padding:0!important; }
 .pub-para h1,.pub-para h2,.pub-para h5 { padding-left:0!important; }
 .service-cards { display:flex; justify-content:center; margin:10px 0; }
 .card1 { min-height:285px; height:auto!important; max-width:380px; width:100%; }.card1 p { font-size:14px; }
 .testimonial { width:min(100%,380px); }.testimonial-body p { font-size:13px; line-height:1.7; }
 .testimonial-footer h2 { font-size:16px; }
 .footer { flex-direction:column; padding:24px 16px; gap:20px; }.footer .center-context { width:100%; }
 .infofooter { flex-wrap:wrap; gap:8px; }.infofooter a { font-size:12px; }.footer02 p { font-size:12px; }
 .tp-img { min-height:180px; }.tp-img img { min-height:180px; object-fit:cover; }
 .tp-img h1 { font-size:26px!important; }
 .cont-drive { padding:30px 22px; width:100%; }.cont-drive li { font-size:15px; line-height:1.8; }
 .main-section { flex-direction:column; padding:20px; }.sec-text,.sec-img,.secondImg { width:100%!important; }
 .sec-img img,.secondImg img { max-width:100%; }.sec-text p { font-size:15px; line-height:1.8; }
 .traffic-management,.CF img { max-width:100%; height:auto; }.pa-only h3,.CF h3 { font-size:16px; line-height:1.7; padding:20px; }
 .wrapper4 { padding:20px 14px; width:100%; }.accordion-item__title { font-size:15px!important; }.accordion-item__paragraph { font-size:14px!important; }
 .formpage,.cont-item,.contactForm,.contactInfo { width:100%!important; max-width:100%; position:relative!important; margin:0!important; left:auto!important; top:auto!important; min-height:0!important; }
 .cont-item { display:flex!important; flex-direction:column; padding:20px!important; }.contactForm { padding:26px 22px!important; }.contactInfo { padding:24px!important; }
 .contactForm .inputBox { width:100%!important; }.formpage section { min-width:0!important; width:100%; }
 .locationsection .row { width:100%; }.map-container iframe { width:100%; max-width:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
