/* V116 focused site fixes. Common only: mobile footer, FAQ toggle, mobile nav. */

/* One consistent chevron-like triangle for the homepage and SSS page. */
body.v90-site .faq-v20 .faq-item > button .v90-faq-indicator,
body.v90-site .faq-v20 .faq-item.open > button .v90-faq-indicator {
  position:relative!important;display:grid!important;place-items:center!important;
  width:36px!important;min-width:36px!important;height:36px!important;
  flex:0 0 36px!important;padding:0!important;margin:0!important;
  border:1px solid #cce8f7!important;border-radius:11px!important;
  background:#eaf6fe!important;color:#0a7eb8!important;
  font-size:0!important;line-height:0!important;box-shadow:none!important;
  transform:none!important;
}
body.v90-site .faq-v20 .faq-item > button .v90-faq-indicator::before,
body.v90-site .faq-v20 .faq-item.open > button .v90-faq-indicator::before {
  content:""!important;position:absolute!important;top:12px!important;left:12px!important;
  display:block!important;width:10px!important;height:10px!important;
  padding:0!important;border:0!important;
  border-right:2px solid currentColor!important;border-bottom:2px solid currentColor!important;
  border-radius:1px!important;background:none!important;
  transform:rotate(45deg)!important;transform-origin:center!important;
  transition:transform .2s ease,top .2s ease!important;
}
body.v90-site .faq-v20 .faq-item.open > button .v90-faq-indicator {
  background:#d9f0fe!important;border-color:#9ad5f2!important;color:#006da6!important;
}
body.v90-site .faq-v20 .faq-item.open > button .v90-faq-indicator::before {
  top:15px!important;transform:rotate(225deg)!important;
}
body.v90-site .faq-v20 .faq-item > button:hover .v90-faq-indicator {background:#dff2ff!important;border-color:#9bcced!important}
body.v90-site .faq-v20 .faq-item > button .v90-faq-indicator::after {content:none!important}

/* Default mobile menu entries have neutral fill; only actual page or opened submenu is highlighted. */
@media(max-width:860px){
 .v89-site .v97-nav .v97-mobile-services:not([aria-current="page"]):not([aria-expanded="true"]) {
   background:#fff!important;color:#153b57!important;border-color:#dae9f4!important;box-shadow:none!important;
 }
 .v89-site .v97-nav .v97-mobile-services[aria-current="page"],
 .v89-site .v97-nav .v97-mobile-services[aria-expanded="true"] {
   background:#e8f6ff!important;border-color:#9dd8f1!important;color:#087eb8!important;
 }
 .v89-site .v97-nav .v97-mobile-services:focus-visible{outline:3px solid #6dc8f0!important;outline-offset:2px!important}
}

/* Correct V90 4-column rule leaking into narrow screens: restore readable mobile layout. */
@media(max-width:640px){
 body.v90-site .v34-footer{margin-top:12px!important}
 body.v90-site .v34-footer .container{width:calc(100% - 32px)!important;max-width:560px!important;margin-left:auto!important;margin-right:auto!important}
 body.v90-site .v34-footer .v34-footer-top{
   display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,135px)!important;
   gap:12px!important;align-items:center!important;padding:22px 0!important;
 }
 body.v90-site .v34-footer .v34-footer-top h2{font-size:clamp(19px,5vw,23px)!important;line-height:1.24!important;max-width:none!important}
 body.v90-site .v34-footer .v34-footer-top .btn{width:100%!important;max-width:none!important;padding:10px!important;min-height:44px!important;font-size:11px!important}
 body.v90-site .v34-footer .v34-footer-columns{
   display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
   gap:19px 24px!important;align-items:start!important;padding:22px 0!important;
 }
 body.v90-site .v34-footer .v34-footer-company{
   display:grid!important;grid-column:1/-1!important;grid-template-columns:minmax(0,1fr) auto!important;
   gap:9px!important;align-items:center!important;min-width:0!important;
 }
 body.v90-site .v34-footer .v34-footer-company>a{grid-column:1;grid-row:1}
 body.v90-site .v34-footer .v34-footer-company img{width:min(168px,100%)!important;height:48px!important;object-fit:contain!important;object-position:left center!important}
 body.v90-site .v34-footer .v34-social{grid-column:2!important;grid-row:1!important;display:flex!important;gap:6px!important;justify-content:flex-end!important}
 body.v90-site .v34-footer .v34-social a{width:32px!important;height:32px!important;min-width:32px!important}
 body.v90-site .v34-footer .v34-footer-company p{
   grid-column:1/-1!important;grid-row:2!important;margin:2px 0 0!important;
   max-width:none!important;font-size:11.5px!important;line-height:1.58!important;color:#bed5e5!important;
 }
 body.v90-site .v34-footer .v34-footer-columns nav{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important;grid-column:auto!important}
 body.v90-site .v34-footer .v34-footer-columns nav h3,
 body.v90-site .v34-footer .v34-footer-contact h3{margin:0 0 3px!important;font-size:13px!important;color:#fff!important}
 body.v90-site .v34-footer .v34-footer-columns nav a{font-size:12px!important;line-height:1.48!important;overflow-wrap:break-word!important}
 body.v90-site .v34-footer .v34-footer-contact{
   display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-column:1/-1!important;
   gap:7px!important;padding:16px 0 0!important;border-top:1px solid rgba(173,219,242,.23)!important;
 }
 body.v90-site .v34-footer .v34-footer-contact h3{grid-column:auto!important}
 body.v90-site .v34-footer .v34-footer-contact a{font-size:12px!important;line-height:1.6!important;overflow-wrap:anywhere!important}
 body.v90-site .v34-footer .v34-footer-bottom{padding:14px 0 20px!important;gap:0!important}
 body.v90-site .v34-footer .v34-footer-bottom small{font-size:10px!important;line-height:1.55!important;max-width:100%!important}
}
@media(max-width:370px){
 body.v90-site .v34-footer .v34-footer-top{grid-template-columns:minmax(0,1fr)!important}
 body.v90-site .v34-footer .v34-footer-top .btn{width:100%!important;max-width:none!important}
 body.v90-site .v34-footer .v34-footer-columns{gap:16px 14px!important}
 body.v90-site .v34-footer .v34-footer-company img{width:135px!important}
 body.v90-site .v34-footer .v34-social a{width:29px!important;height:29px!important;min-width:29px!important}
}
@media(prefers-reduced-motion:reduce){body.v90-site .faq-v20 .faq-item > button .v90-faq-indicator::before{transition:none!important}}

/* V117: keep every roadmap node horizontally centered on its line and vertically centered on its icon. */
@media(max-width:900px){
 .v57-detail .v63-roadmap .v63-stages{padding-left:32px}
 .v57-detail .v63-roadmap .v63-stages::before{left:9px;width:2px;top:20px;bottom:20px;transform:none}
 .v57-detail .v63-roadmap .v63-stage-dot{left:-28px;top:50%;bottom:auto;width:12px;height:12px;transform:translateY(-50%);border:3px solid #fff}
}
@media(max-width:520px){
 .v57-detail .v63-roadmap .v63-stages{padding-left:29px}
 .v57-detail .v63-roadmap .v63-stage-dot{left:-25px}
}
