/* Montjean Footer Premium — isolated styles */
.mjf-footer,
.mjf-footer * { box-sizing: border-box; }

.mjf-footer {
  --mfp-navy: #081B2E;
  --mfp-blue: #2F6FA7;
  --mfp-ink: #0C2338;
  --mfp-muted: #6F7E8C;
  --mfp-line: rgba(255,255,255,.13);
  --mfp-soft: #F2F6F9;
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0;
  background: var(--mfp-navy);
  color: #fff;
  font-family: inherit;
  -webkit-font-smoothing: antialiased;
}

.mjf-footer a { text-decoration: none; }
.mjf-footer svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.mjf-shell { width: min(1320px, calc(100% - 64px)); margin: 0 auto; }

.mjf-tricolor { display: grid; grid-template-columns: repeat(3,1fr); height: 4px; width: 100%; overflow: hidden; }
.mjf-tricolor span:nth-child(1){ background:#153f92; }
.mjf-tricolor span:nth-child(2){ background:#fff; }
.mjf-tricolor span:nth-child(3){ background:#d72638; }

.mjf-cta-shell { background: #F6F8FA; color: var(--mfp-ink); padding: 54px 0; border-top: 1px solid #E6EBEF; }
.mjf-cta { display: flex; align-items: center; justify-content: space-between; gap: 44px; }
.mjf-cta-copy { max-width: 730px; }
.mjf-eyebrow { display: inline-block; font-size: 11px; line-height: 1; text-transform: uppercase; letter-spacing: .17em; font-weight: 800; color: var(--mfp-blue); margin-bottom: 12px; }
.mjf-cta h2 { margin: 0 0 10px; font-size: clamp(28px,3vw,44px); line-height: 1.08; font-weight: 700; letter-spacing: -.035em; color: var(--mfp-ink); }
.mjf-cta p { margin: 0; color: #62717F; font-size: 16px; line-height: 1.65; }
.mjf-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.mjf-btn { min-height: 52px; padding: 0 20px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-size: 14px; font-weight: 700; transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease; white-space: nowrap; }
.mjf-btn:hover { transform: translateY(-2px); }
.mjf-btn-primary { color: #fff !important; background: var(--mfp-blue); box-shadow: 0 12px 28px rgba(28,78,121,.18); }
.mjf-btn-primary:hover { background: #245d8f; }
.mjf-btn-ghost { color: var(--mfp-ink) !important; background: #fff; border: 1px solid #DCE4EA; }
.mjf-btn-ghost:hover { border-color: #B9C7D2; }

.mjf-main { position: relative; background:
  radial-gradient(circle at 8% 8%, rgba(69,127,174,.18), transparent 28%),
  radial-gradient(circle at 92% 20%, rgba(255,255,255,.05), transparent 20%),
  var(--mfp-navy); padding: 54px 0 0; overflow: hidden; }
.mjf-main:after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.35; background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(to bottom, black, transparent 70%); }
.mjf-main > .mjf-shell { position: relative; z-index: 1; }

.mjf-fast-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--mfp-line); border-radius: 14px; overflow: hidden; margin-bottom: 54px; background: rgba(255,255,255,.035); backdrop-filter: blur(8px); }
.mjf-fast-grid > a { min-height: 112px; padding: 22px 24px; color: #fff !important; position: relative; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--mfp-line); transition: background .22s ease; }
.mjf-fast-grid > a:last-child { border-right: 0; }
.mjf-fast-grid > a:hover { background: rgba(255,255,255,.07); }
.mjf-fast-grid strong { display: block; font-size: 16px; margin-bottom: 5px; font-weight: 700; }
.mjf-fast-grid span { color: rgba(255,255,255,.62); font-size: 12.5px; padding-right: 28px; line-height: 1.45; }
.mjf-fast-grid svg { position: absolute; right: 22px; top: 24px; opacity: .75; transition: transform .2s ease; }
.mjf-fast-grid a:hover svg { transform: translateX(4px); }

.mjf-grid { display: grid; grid-template-columns: minmax(300px,1.55fr) repeat(4,minmax(150px,1fr)); gap: 38px; padding-bottom: 50px; }
.mjf-identity { padding-right: 14px; }
.mjf-brand-row { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.mjf-logo-wrap { width: 58px; height: 58px; border-radius: 12px; background: #fff; display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow: 0 10px 28px rgba(0,0,0,.16); flex:0 0 auto; }
.mjf-logo-wrap .custom-logo-link { display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:7px; }
.mjf-logo-wrap .custom-logo { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.mjf-fallback-mark { display:flex; align-items:center; justify-content:center; color:var(--mfp-blue); }
.mjf-fallback-mark svg { width:30px; height:30px; stroke-width:1.55; }
.mjf-brand-row .mjf-eyebrow { color: rgba(255,255,255,.55); margin: 0 0 7px; }
.mjf-brand-row h2 { margin:0; color:#fff; font-size:22px; line-height:1.18; letter-spacing:-.025em; font-weight:700; }
.mjf-intro { max-width: 400px; margin: 0 0 25px; color: rgba(255,255,255,.64); line-height:1.68; font-size:14px; }
.mjf-contact-stack { display:grid; gap:7px; }
.mjf-contact-item { display:flex; align-items:center; gap:11px; color:rgba(255,255,255,.83) !important; font-size:13px; line-height:1.35; min-width:0; }
.mjf-contact-item svg { width:16px; height:16px; color:#78A8CD; }
.mjf-contact-item span { min-width:0; overflow-wrap:anywhere; }
.mjf-contact-item small { display:block; color:rgba(255,255,255,.42); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:2px; }
a.mjf-contact-item:hover { color:#fff !important; }

.mjf-nav-column h3 { margin: 4px 0 18px; color:#fff; font-size:13px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.mjf-nav-column ul { list-style:none; padding:0; margin:0; }
.mjf-nav-column li { margin:0; padding:0; border-bottom:1px solid rgba(255,255,255,.065); }
.mjf-nav-column li:last-child { border-bottom:0; }
.mjf-nav-column a { min-height:43px; display:flex; align-items:center; justify-content:space-between; gap:9px; color:rgba(255,255,255,.66) !important; font-size:13px; line-height:1.35; transition:color .2s ease, padding-left .2s ease; }
.mjf-nav-column a svg { width:13px; height:13px; opacity:0; transform:translateX(-4px); transition:opacity .2s ease,transform .2s ease; }
.mjf-nav-column a:hover { color:#fff !important; padding-left:3px; }
.mjf-nav-column a:hover svg { opacity:.8; transform:none; }

.mjf-connect { display:flex; align-items:center; justify-content:space-between; gap:36px; padding:30px 0 34px; border-top:1px solid var(--mfp-line); }
.mjf-connect .mjf-eyebrow { color:#78A8CD; margin-bottom:8px; }
.mjf-connect h3 { margin:0 0 6px; color:#fff; font-size:20px; letter-spacing:-.02em; }
.mjf-connect p { margin:0; color:rgba(255,255,255,.55); font-size:13px; }
.mjf-social-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.mjf-social-actions a { min-height:44px; display:inline-flex; align-items:center; gap:9px; padding:0 15px; color:#fff !important; border:1px solid var(--mfp-line); border-radius:8px; background:rgba(255,255,255,.035); font-size:12.5px; font-weight:700; transition:background .2s ease, border-color .2s ease; }
.mjf-social-actions a:hover { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.22); }
.mjf-social-actions svg { width:16px; height:16px; }

.mjf-bottom { background:#061523; border-top:1px solid rgba(255,255,255,.08); }
.mjf-bottom-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.mjf-bottom p { margin:0; color:rgba(255,255,255,.43); font-size:11.5px; }
.mjf-bottom .mjf-credit-sep { display:inline-block; margin:0 7px; color:rgba(255,255,255,.20); }
.mjf-bottom .mjf-credit { white-space:nowrap; }
.mjf-bottom .mjf-credit a { color:rgba(255,255,255,.66) !important; font-weight:700; }
.mjf-bottom .mjf-credit a:hover { color:#fff !important; }
.mjf-bottom ul { list-style:none; margin:0; padding:0; display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:0; }
.mjf-bottom li { display:flex; align-items:center; }
.mjf-bottom li + li:before { content:"•"; color:rgba(255,255,255,.18); margin:0 10px; }
.mjf-bottom a { color:rgba(255,255,255,.53) !important; font-size:11.5px; transition:color .2s ease; }
.mjf-bottom a:hover { color:#fff !important; }

/* Hide the native footer only while the plugin is explicitly configured to do so. */
body.mfp-premium-footer-enabled.mfp-hide-theme-footer .financity-footer-wrapper,
body.mfp-premium-footer-enabled.mfp-hide-theme-footer .financity-copyright-wrapper,
body.mfp-premium-footer-enabled.mfp-hide-theme-footer #colophon.site-footer,
body.mfp-premium-footer-enabled.mfp-hide-theme-footer footer.site-footer,
body.mfp-premium-footer-enabled.mfp-hide-theme-footer #footer-wrapper,
body.mfp-premium-footer-enabled.mfp-hide-theme-footer .footer-wrapper:not(.mjf-footer) { display:none !important; }

@media (max-width: 1180px) {
  .mjf-grid { grid-template-columns: minmax(280px,1.4fr) repeat(2,minmax(190px,1fr)); }
  .mjf-nav-column:nth-of-type(4), .mjf-nav-column:nth-of-type(5) { margin-top: 4px; }
}

@media (max-width: 900px) {
  .mjf-shell { width:min(100% - 40px, 760px); }
  .mjf-cta { align-items:flex-start; flex-direction:column; }
  .mjf-cta-actions { justify-content:flex-start; }
  .mjf-fast-grid { grid-template-columns:repeat(2,1fr); }
  .mjf-fast-grid > a:nth-child(2) { border-right:0; }
  .mjf-fast-grid > a:nth-child(-n+2) { border-bottom:1px solid var(--mfp-line); }
  .mjf-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 28px; }
  .mjf-identity { grid-column:1 / -1; padding-right:0; display:grid; grid-template-columns:1fr 1fr; column-gap:40px; }
  .mjf-brand-row, .mjf-intro { grid-column:1; }
  .mjf-contact-stack { grid-column:2; grid-row:1 / span 2; align-self:start; }
  .mjf-connect { align-items:flex-start; }
}

@media (max-width: 620px) {
  .mjf-shell { width:calc(100% - 30px); }
  .mjf-cta-shell { padding:40px 0; }
  .mjf-cta { gap:26px; }
  .mjf-cta p { font-size:14px; }
  .mjf-cta-actions { width:100%; display:grid; grid-template-columns:1fr; }
  .mjf-btn { width:100%; }
  .mjf-main { padding-top:34px; }
  .mjf-fast-grid { grid-template-columns:1fr; margin-bottom:38px; }
  .mjf-fast-grid > a { min-height:86px; border-right:0; border-bottom:1px solid var(--mfp-line); padding:17px 18px; }
  .mjf-fast-grid > a:last-child { border-bottom:0; }
  .mjf-fast-grid svg { top:20px; right:18px; }
  .mjf-grid { grid-template-columns:1fr; gap:30px; }
  .mjf-identity { grid-column:auto; display:block; }
  .mjf-contact-stack { margin-top:20px; }
  .mjf-nav-column { border-top:1px solid var(--mfp-line); padding-top:26px; }
  .mjf-nav-column h3 { margin-top:0; }
  .mjf-connect { flex-direction:column; padding-top:26px; }
  .mjf-social-actions { width:100%; justify-content:flex-start; }
  .mjf-social-actions a { flex:1 1 145px; justify-content:center; }
  .mjf-bottom-inner { padding:22px 0; min-height:0; flex-direction:column; align-items:flex-start; }
  .mjf-bottom ul { justify-content:flex-start; gap:8px 14px; }
  .mjf-bottom li + li:before { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  .mjf-footer *, .mjf-footer *:before, .mjf-footer *:after { transition:none !important; scroll-behavior:auto !important; }
}
