/* NEW SUN global footer #22. Extracted from the approved homepage footer. */
.elementor-22 { --ns-navy:#0E2A47; --ns-blue:#0B74C4; --ns-red:#D62828; --ns-paper:#F7F9FC; --ns-line:#e3e9f0; }
.elementor-22 .ns-footer { font-family:Arial,Helvetica,sans-serif; color:var(--ns-navy); }
.elementor-22 .ns-footer *, .elementor-22 .ns-footer *::before, .elementor-22 .ns-footer *::after { box-sizing:border-box; }
.elementor-22 .ns-inner { width:100%; max-width:1180px; margin:0 auto; gap:0; min-width:0; }
.elementor-22 .ns-footer .elementor-widget { margin-bottom:0; }
.elementor-22 .ns-preview-form { background:white; padding:32px; border:1px solid var(--ns-line); border-radius:14px; color:var(--ns-navy); }
.elementor-22 .ns-form-title { font:700 22px/1.3 Cambria,Georgia,serif; margin:0 0 8px; }
.elementor-22 .ns-form-intro { font:400 12px/1.6 Arial,Helvetica,sans-serif; color:#6a7989; margin:0 0 24px; }
.elementor-22 .ns-form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 16px; }
.elementor-22 .ns-form-field { display:block; min-width:0; }
.elementor-22 .ns-form-field label { display:block; font:600 12px/1.5 Arial,Helvetica,sans-serif; color:var(--ns-navy); margin-bottom:7px; }
.elementor-22 .ns-preview-form input, .elementor-22 .ns-preview-form select, .elementor-22 .ns-preview-form textarea { appearance:auto; width:100%; min-height:46px; border:1px solid #cfdae6; background:#fff; border-radius:6px; font:400 14px/1.4 Arial,Helvetica,sans-serif; color:var(--ns-navy); padding:11px 12px; }
.elementor-22 .ns-preview-form input::placeholder, .elementor-22 .ns-preview-form textarea::placeholder { color:#8a97a5; opacity:1; }
.elementor-22 .ns-preview-form textarea { resize:vertical; min-height:88px; }
.elementor-22 .ns-form-submit { width:100%; min-height:48px; border:1px solid var(--ns-red); border-radius:6px; color:white; background:var(--ns-red); padding:14px 18px; margin-top:22px; font:700 12px/1.4 Arial,Helvetica,sans-serif; cursor:pointer; }
.elementor-22 .ns-form-submit:hover { background:#b41d1d; }
.elementor-22 .ns-form-status { margin:14px 0 0; padding:12px; background:#edf5fb; color:#31516c; border-radius:6px; font:400 12px/1.6 Arial,Helvetica,sans-serif; }
.elementor-22 .ns-footer { padding:72px 56px 28px; background:var(--ns-navy); border-top:1px solid #ffffff1c; width:100%; gap:0; }
.elementor-22 .ns-footer-grid { display:grid; grid-template-columns:1.2fr .85fr .85fr 1.25fr; gap:46px; width:100%; }
.elementor-22 .ns-footer-column { width:100%; gap:0; min-width:0; }
.elementor-22 .ns-footer-logo img { width:128px; height:auto; display:block; margin:0 0 22px; }
.elementor-22 .ns-footer-title .elementor-heading-title { font:700 17px/1.4 Arial,Helvetica,sans-serif !important; margin:0 0 22px; color:white; }
.elementor-22 .ns-footer-body, .elementor-22 .ns-footer-body * { font:400 13px/1.85 Arial,Helvetica,sans-serif !important; color:#c0cddd; }
.elementor-22 .ns-footer-body p { margin:0 0 13px; }
.elementor-22 .ns-footer-links .elementor-icon-list-text { font:400 13px/1.8 Arial,Helvetica,sans-serif !important; color:#c0cddd; }
.elementor-22 .ns-footer-links .elementor-icon-list-item { padding-bottom:7px; }
.elementor-22 .ns-footer a { color:#d7e4f2; text-decoration:none; }
.elementor-22 .ns-footer a:hover, .elementor-22 .ns-footer-links a:hover .elementor-icon-list-text { color:#73bdf3; }
.elementor-22 .ns-footer-consult { display:grid; grid-template-columns:1fr 1fr; gap:46px; margin:44px 0 34px; padding-top:36px; border-top:1px solid #ffffff1c; width:100%; }
.elementor-22 .ns-footer-consult .ns-preview-form { padding:24px; }
.elementor-22 .ns-footer-consult .ns-form-title { font-size:20px; }
.elementor-22 .ns-footer-consult .ns-form-field-full { grid-column:1/-1; }
.elementor-22 .ns-footer-bottom { padding-top:22px; border-top:1px solid #ffffff1c; width:100%; }
.elementor-22 .ns-footer-bottom .elementor-heading-title { font:400 11px/1.6 Arial,Helvetica,sans-serif !important; color:#8fa3bb; margin:0; }
@media(max-width:1199px){
.elementor-22 .ns-footer { padding:60px 36px 26px; }
.elementor-22 .ns-footer-grid { gap:28px; }
}
@media(max-width:1024px){
.elementor-22 .ns-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px; }
.elementor-22 .ns-preview-form { padding:26px; }
.elementor-22 .ns-form-fields { gap:15px 12px; }
}
@media(max-width:900px){
.elementor-22 .ns-footer-consult { grid-template-columns:1fr; gap:28px; }
}
@media(max-width:600px){
.elementor-22 .ns-preview-form { padding:24px 20px; }
.elementor-22 .ns-form-fields { grid-template-columns:1fr; gap:16px; }
.elementor-22 .ns-footer { padding:52px 20px 28px; }
.elementor-22 .ns-footer-grid { grid-template-columns:1fr; gap:30px; }
.elementor-22 .ns-footer-title .elementor-heading-title { margin-bottom:15px; }
}
.elementor-22 .ns-footer-map { min-width:0; }
.elementor-22 .ns-footer-map .ns-footer-title .elementor-heading-title { margin-bottom:10px; }
.elementor-22 .ns-footer-map-address { margin-bottom:18px; }
.elementor-22 .ns-footer-map-address p { margin:0; }
.elementor-22 .ns-footer-map-frame { width:100%; min-width:0; overflow:hidden; border:1px solid #ffffff24; border-radius:12px; background:#173b5c; }
.elementor-22 .ns-footer-map-frame iframe { display:block; width:100%; max-width:100%; height:320px; border:0; }
@media(min-width:768px){
.elementor-22 .ns-footer-consult { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; }
}
@media(max-width:767px){
.elementor-22 .ns-footer-consult { grid-template-columns:minmax(0,1fr); gap:28px; }
.elementor-22 .ns-footer-map-frame iframe { height:280px; }
}
@media(max-width:600px){
.elementor-22 .ns-preview-form input, .elementor-22 .ns-preview-form select, .elementor-22 .ns-preview-form textarea { font-size:16px; }
}

/* Leave room for the existing floating controls on narrow screens. */
@media(max-width:600px) { .elementor-22 .ns-footer { padding-right:64px; } }
