/* PREMIUM CORPORATE FOOTER */
.footer{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:linear-gradient(115deg,#031c42 0%,#052d61 48%,#07376d 76%,#031a3b 100%)}
.footer::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.22;background-image:radial-gradient(circle,#55a9ed 1px,transparent 1.8px);background-size:9px 9px;mask-image:radial-gradient(ellipse 29% 55% at 81% 27%,#000 32%,transparent 85%),radial-gradient(ellipse 24% 42% at 25% 110%,#000 25%,transparent 85%);pointer-events:none}
.footer::after{content:"";position:absolute;z-index:-1;width:720px;height:420px;border:2px solid #1785db26;border-radius:50%;left:-220px;bottom:-280px;transform:rotate(-24deg);box-shadow:0 0 0 32px #1273c20b,0 0 0 68px #1273c209;pointer-events:none}
.footer-inner{max-width:1510px;margin:auto;padding:65px 36px 52px;display:grid;grid-template-columns:1.18fr .8fr 1.06fr 1.36fr;gap:0}
.footer-col{padding:0 34px;min-width:0;border-left:1px solid #ffffff52}
.footer-col:first-child{border-left:0;padding-left:0;padding-right:46px}
.footer-col:last-child{padding-right:0}
.footer-logo{width:185px;max-width:100%;height:auto;display:block;filter:drop-shadow(0 2px 9px #45a8ff40)}
.footer-description{font-size:14px;line-height:1.65;color:#e2eeff;margin:22px 0 18px;max-width:325px}
.footer h3{font-size:16px;font-weight:750;margin:3px 0 23px;color:#fff}
.footer h3::after{content:"";display:block;width:35px;height:4px;background:#ed1138;margin-top:12px}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin:0 0 12px;font-size:13.5px}
.footer li a{display:flex;align-items:center;justify-content:space-between;gap:10px;line-height:1.4;transition:color .2s,transform .2s}
.footer li a:hover{color:#7fd1ff;transform:translateX(3px)}
.footer li a::after{content:"›";font-size:23px;font-weight:300;color:#d7eaff;line-height:13px}
.footer-social{display:flex;align-items:center;gap:11px;margin-top:20px}
.footer-social a{width:37px;height:37px;border:1.5px solid #e8f2ff;border-radius:50%;display:grid;place-items:center;color:#fff;transition:background .2s,transform .2s,border-color .2s}
.footer-social a:hover{background:#e50028;border-color:#e50028;transform:translateY(-3px)}
.footer-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-line{display:flex;align-items:flex-start;gap:15px;margin-bottom:20px;font-size:13.5px;line-height:1.65;color:#edf5ff}
.contact-icon{flex:0 0 23px;width:23px;height:23px;color:#f5f9ff;margin-top:2px}
.contact-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-line strong{color:#fff;font-weight:750}
.contact-line a:hover{color:#81d0ff}
.footer-bottom{border-top:1px solid #ffffff8a;max-width:100%;padding:22px max(36px,calc((100vw - 1438px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;color:#f1f6ff;background:#00163640}
.footer-bottom .tagline{font-weight:500}
/* Responsive footer: desktop and desktop-mode stay four columns. */
@media (min-width: 768px) {
 .footer-inner {display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.72fr) minmax(0,1.06fr) minmax(0,1.3fr);gap:0;}
 .footer-col {min-width:0;border-left:1px solid #ffffff45;padding:0 clamp(12px,2vw,34px);}
 .footer-col:first-child {border-left:0;padding-left:0;padding-right:clamp(14px,2.4vw,46px);}
 .footer-col:last-child {padding-right:0;}
}
@media (min-width:768px) and (max-width:1100px) {
 .footer-inner {padding:48px 20px 38px;}
 .footer-logo {width:clamp(105px,12vw,150px);}
 .footer-description,.contact-line {font-size:clamp(11px,1.15vw,13px);}
 .footer li {font-size:clamp(10px,1.15vw,13px);}
 .footer h3 {font-size:clamp(12px,1.3vw,15px);}
 .footer-col {padding-inline:clamp(9px,1.5vw,20px);}
 .footer-bottom {padding:18px 22px;}
}
@media (max-width:767px) {
 .footer-inner {display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:38px 24px 24px;}
 .footer-col,.footer-col:nth-child(even) {grid-column:1!important;min-width:0;border-left:0!important;padding:0 0 24px!important;margin:0 0 24px;border-bottom:1px solid #ffffff30;}
 .footer-col:last-child {border-bottom:0;margin-bottom:0;padding-bottom:0!important;}
 .footer-logo {width:156px;}
 .footer-description {margin:15px 0 13px;font-size:14px;max-width:440px;}
 .footer h3 {font-size:16px;margin:0 0 19px;}
 .footer h3::after {margin-top:9px;}
 .footer li {font-size:14px;margin-bottom:12px;}
 .footer li a::after {font-size:19px;}
 .contact-line {font-size:14px;margin-bottom:17px;}
 .footer-bottom {padding:21px 20px;display:flex;flex-direction:column;text-align:center;gap:9px;font-size:12px;line-height:1.6;}
}
@media(prefers-reduced-motion:reduce){.footer *{transition:none!important}}


/* Consistent compact mobile footer. Browser Desktop Site uses its actual CSS viewport. */
@media (max-width:767px){
 .footer-inner{grid-template-columns:minmax(0,1fr)!important}
 .footer-col,.footer-col:nth-child(even){grid-column:1!important}
}
