/* ULL footer: native Divi sections, one shared presentation layer. */
.ull-footer.et_pb_section {
  --footer-navy: #03152f;
  --footer-ink: #081b35;
  --footer-ice: #eff8fc;
  --footer-line: #dce6f1;
  padding: 0 !important;
  margin: 0 !important;
  font-family: 'Inter', Arial, sans-serif;
}
.ull-footer *, .ull-footer *::before, .ull-footer *::after { box-sizing: border-box; }
.ull-footer .et_pb_row { width: calc(100% - 96px); max-width: 1680px; margin: 0 auto; padding: 0; }
.ull-footer .et_pb_column { min-width: 0; margin: 0 !important; }
.ull-footer .et_pb_text { margin: 0 !important; padding: 0; }
.ull-footer p { padding-bottom: 0; }
.ull-footer a { color: inherit; text-decoration: none; }
.ull-footer a:hover, .ull-footer .current-menu-item > a, .ull-footer .current-menu-ancestor > a { color: #4fd5ff; }
.ull-footer a:focus-visible { outline: 2px solid #4fd5ff; outline-offset: 5px; border-radius: 2px; }
.ull-footer h3 { font: 600 14px/1.3 'Rajdhani', sans-serif !important; letter-spacing: .14em; text-transform: uppercase; padding: 0; }

/* Four service invitations, with an individual native Text module per field. */
.ull-footer-services { background: var(--footer-ice) !important; border-block: 1px solid var(--footer-line); }
.ull-footer .ull-footer-services-row { width: 100%; max-width: none; display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; }
.ull-footer .ull-footer-card { width: 100% !important; padding: 54px clamp(26px,3.7vw,64px) 46px; border-right: 1px solid var(--footer-line); display: flex; flex-direction: column; gap: 20px; }
.ull-footer .ull-footer-card:last-child { border-right: 0; }
.ull-footer-card h3 { color: var(--footer-ink) !important; }
.ull-footer-card p { color: #607187 !important; font: 400 15px/1.7 'Inter',sans-serif; }
.ull-footer-number { display: inline-grid; place-items: center; width: 46px; height: 46px; border: 1px solid #0878f54d; border-radius: 11px; color: #0878f5; transform: rotate(45deg); margin: 5px 0 15px 6px; }
.ull-footer-number b { transform: rotate(-45deg); font: 600 16px/1 'Rajdhani',sans-serif; }
.ull-footer .ull-footer-card-action { margin-top: auto !important; padding-top: 5px; }
.ull-footer-link { display: inline-flex; align-items: center; gap: 16px; padding-block: 8px; border-bottom: 1px solid currentColor; font: 600 13px/1.5 'Rajdhani',sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.ull-footer-card .ull-footer-link { color: var(--footer-ink); }
.ull-footer-card .ull-footer-link:hover { color: #0878f5; }

/* Brand left; four WordPress navigation groups on the right. */
.ull-footer-main { background: var(--footer-navy) !important; color: #fff; scroll-margin-top: calc(var(--ull-cool-header-height,124px) + 40px); }
.ull-footer .ull-footer-main-row { display: grid !important; grid-template-columns: minmax(270px,.9fr) minmax(0,1.8fr); gap: clamp(50px,7vw,110px); padding: 86px 0 80px; }
.ull-footer .ull-footer-brand { width: 100% !important; display: flex; flex-direction: column; gap: 24px; }
.ull-footer-wordmark { display: inline-flex; align-items: center; gap: 17px; }
.ull-footer-wordmark img { width: 104px; height: 42px; object-fit: cover; object-position: 50% 50%; }
.ull-footer-wordmark span { padding-left: 17px; border-left: 1px solid #ffffff45; color: #4fd5ff; font: 600 12px/1.3 'Rajdhani',sans-serif; letter-spacing: .17em; }
.ull-footer-brand h2 { color: #fff !important; font: 500 clamp(34px,3.2vw,46px)/1.1 'Rajdhani',sans-serif !important; padding: 0; }
.ull-footer-brand p { color: #c5d3e2 !important; font: 400 14px/1.8 'Inter',sans-serif; }
.ull-footer-brand .ull-footer-link { color: #fff; border-color: #4fd5ff66; }
.ull-footer-brand .ull-footer-link span { color: #4fd5ff; }
.ull-footer .ull-footer-contact { border-top: 1px solid #ffffff29; padding-top: 24px; margin-top: 8px !important; }
.ull-footer-whatsapp { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; font: 400 13px/1.7 'Inter',sans-serif; color: #c5d3e2 !important; }
.ull-footer-whatsapp strong { color: #fff; font-size: 17px; font-weight: 500; }
.ull-footer-whatsapp span { color: #4fd5ff; }
.ull-footer-contact-lines p { font-size: 12px; overflow-wrap: anywhere; }
.ull-footer .ull-footer-navigation { width: 100% !important; display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); align-content: start; gap: 30px; }
.ull-footer-nav-group h3 { color: #4fd5ff !important; margin-bottom: 24px; }
.ull-footer .ull-footer-menu { margin: 0; padding: 0; list-style: none; }
.ull-footer .ull-footer-menu li { list-style: none; padding: 0; margin: 0; }
.ull-footer-menu a { display: block; padding: 7px 0; font: 400 13px/1.6 'Inter',sans-serif; color: #d8e5f0; overflow-wrap: break-word; }
.ull-footer-menu .sub-menu { padding-left: 14px; margin: 0; list-style: none; }

/* Only policies actually published for this site belong here. */
.ull-footer-legal { background: #010918 !important; border-top: 1px solid #4fd5ff24; color: #98aec7; }
.ull-footer .ull-footer-legal-row { padding: 28px 0; }
.ull-footer .ull-footer-legal-grid { width: 100% !important; display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 30px; }
.ull-footer-legal p, .ull-footer-legal .ull-footer-menu a { font: 400 11px/1.9 'Inter',sans-serif; color: #a8bfd6; }
.ull-footer-legal small { font-size: 10px; }
.ull-footer-signature p { color: #4fd5ff; font: 600 11px/1.6 'Rajdhani',sans-serif; letter-spacing: .15em; }
@media (max-width: 1180px) {
  .ull-footer .ull-footer-main-row { grid-template-columns: 1fr; gap: 50px; }
  .ull-footer .ull-footer-brand { max-width: 520px; }
  .ull-footer .ull-footer-navigation { gap: 28px; }
}
@media (max-width: 980px) {
  .ull-footer .et_pb_row { width: calc(100% - 48px); }
  .ull-footer .ull-footer-services-row { width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ull-footer .ull-footer-card:nth-child(2) { border-right: 0; }
  .ull-footer .ull-footer-card:nth-child(-n+2) { border-bottom: 1px solid var(--footer-line); }
  .ull-footer .ull-footer-legal-grid { grid-template-columns: 1fr 1fr; }
  .ull-footer-signature { grid-column: 1/-1; }
}
@media (max-width: 600px) {
  .ull-footer .et_pb_row { width: calc(100% - 40px); }
  .ull-footer .ull-footer-services-row { width: 100%; grid-template-columns: 1fr; }
  .ull-footer .ull-footer-card { padding: 36px 28px; border-right: 0; border-bottom: 1px solid var(--footer-line); gap: 15px; }
  .ull-footer .ull-footer-card:last-child { border-bottom: 0; }
  .ull-footer .ull-footer-main-row { padding: 56px 0; gap: 42px; }
  .ull-footer .ull-footer-navigation { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 22px; }
  .ull-footer-nav-group h3 { margin-bottom: 14px; }
  .ull-footer-menu a { min-height: 40px; display: flex; align-items: center; }
  .ull-footer .ull-footer-legal-grid { grid-template-columns: 1fr; gap: 16px; }
}
