/* ========= PromoLink Footer ========= */
/* Dark footer, open columns (Option 2). Paste into the footer module's CSS field.
   Needs no other stylesheet. Poppins comes from the site. Updated October 2026.
   Brand colors: navy #133E68, turquoise #71C9BB, coral #F69679, blue #538DCA, purple #7C53A2. */

footer.ft, footer.ft *{ box-sizing:border-box; }
footer.ft{ display:block !important; position:relative; overflow:hidden; isolation:isolate; margin:0; text-align:left;
  font-family:'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif; font-size:16px; line-height:1.55;
  --ft-text:#A9B9D0; --ft-head:#FFFFFF; --ft-dim:#7C8DA6; --ft-link:#B7C5DA; --ft-link-h:#FFFFFF; --ft-icon:#71C9BB; --ft-rule:rgba(255,255,255,.11);
  color:var(--ft-text) !important; background:#0C1729 !important; }
footer.ft::before{ content:""; position:absolute; left:0; right:0; top:0; height:4px; z-index:2; background:linear-gradient(90deg,#71C9BB 0%,#538DCA 35%,#7C53A2 65%,#F69679 100%); }
footer.ft .ft-glow{ position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(760px 380px at 6% -8%, rgba(113,201,187,.20), transparent 62%), radial-gradient(760px 400px at 98% 4%, rgba(83,141,202,.22), transparent 62%), radial-gradient(820px 460px at 84% 118%, rgba(246,150,121,.18), transparent 62%), radial-gradient(700px 420px at 2% 112%, rgba(124,83,162,.22), transparent 64%); }
footer.ft .ft-wrap{ max-width:1200px; margin:0 auto; padding:0 28px; }
footer.ft img{ max-width:100%; height:auto; display:block; }
footer.ft p{ margin:0; color:var(--ft-text) !important; }
footer.ft .ft-lead{ margin:0 0 12px !important; font-size:1rem; line-height:1.6; max-width:42ch; color:var(--ft-text) !important; }
footer.ft .ft-tag{ font-size:1rem; line-height:1.6; max-width:42ch; }
footer.ft .ft-sub{ margin:4px 0 0 !important; font-size:.78rem; letter-spacing:.03em; color:var(--ft-dim) !important; line-height:1.4; }
footer.ft .ft-actions{ display:flex; align-items:center; flex-wrap:wrap; gap:12px 14px; }
footer.ft a.ft-btn, footer.ft a.ft-btn:link, footer.ft a.ft-btn:visited{ display:inline-flex !important; align-items:center; gap:10px; margin:0 !important; padding:15px 28px !important; border-radius:12px;
  background:#F69679 !important; color:#fff !important; font-weight:600 !important; font-size:16px !important; text-decoration:none !important;
  box-shadow:0 14px 34px -14px rgba(246,150,121,.75), 0 0 0 1px rgba(255,255,255,.10) inset; transition:transform .2s, box-shadow .2s, background .2s; }
footer.ft a.ft-btn:hover{ background:#E9805F !important; transform:translateY(-2px); box-shadow:0 18px 40px -14px rgba(246,150,121,.9); color:#fff !important; }
footer.ft a.ft-btn.ft-btn--ghost, footer.ft a.ft-btn.ft-btn--ghost:link, footer.ft a.ft-btn.ft-btn--ghost:visited{ background:rgba(255,255,255,.05) !important; color:#fff !important; box-shadow:0 0 0 1px rgba(255,255,255,.26) inset !important; }
footer.ft a.ft-btn.ft-btn--ghost:hover{ background:rgba(255,255,255,.11) !important; box-shadow:0 0 0 1px rgba(255,255,255,.5) inset, 0 16px 34px -18px rgba(113,201,187,.6) !important; }
footer.ft .ft-contact{ display:flex; flex-wrap:wrap; gap:10px 26px; font-size:.92rem; }
footer.ft .ft-contact span{ display:inline-flex; align-items:center; gap:9px; color:var(--ft-text) !important; }
footer.ft .ft-contact svg{ color:var(--ft-icon); flex:none; }
footer.ft .ft-copy{ font-size:.86rem; color:var(--ft-dim) !important; }
footer.ft a:focus-visible{ outline:2px solid #71C9BB; outline-offset:3px; border-radius:6px; }
@media (prefers-reduced-motion:reduce){ footer.ft *, footer.ft *::before{ transition:none !important; } }

footer.ft{ padding:68px 0 0; }
footer.ft .ft-main{ display:grid; grid-template-columns:minmax(290px,1.35fr) repeat(4,minmax(0,1fr)); gap:0 36px; align-items:stretch; }
footer.ft .ft-logo{ height:50px; width:auto; margin:0 0 16px; }
footer.ft .ft-col{ padding:4px 0 0 28px; border-left:1px solid var(--ft-rule); }
footer.ft h5{ margin:0 0 20px; font-size:1.05rem; font-weight:700; line-height:1.3; color:var(--ft-head) !important; text-transform:none !important; letter-spacing:-.005em; }
footer.ft h5::after{ content:""; display:block; width:34px; height:3px; margin-top:11px; border-radius:3px; background:var(--acc); box-shadow:0 0 16px rgba(var(--acc-rgb),.85); }
footer.ft .ft-col .ft-sub{ margin:-10px 0 14px !important; }
footer.ft .ft-group + .ft-group{ margin-top:16px; }
footer.ft .ft-col a, footer.ft .ft-col a:link, footer.ft .ft-col a:visited{ position:relative; display:block; gap:8px; margin:0 !important; padding:6px 0 !important; font-size:.95rem !important; font-weight:400 !important; line-height:1.4; color:var(--ft-link) !important; text-decoration:none !important; border:0 !important; background:none !important; transition:color .18s, transform .18s; }
footer.ft .ft-col a::after{ content:"\2192"; position:absolute; right:-2px; top:50%; opacity:0; transform:translate(-5px,-50%); transition:opacity .18s, transform .18s; color:var(--acc-l); font-size:.9em; pointer-events:none; }
footer.ft .ft-col a:hover, footer.ft .ft-col a:focus-visible{ color:#fff !important; transform:translateX(2px); }
footer.ft .ft-col a:hover::after, footer.ft .ft-col a:focus-visible::after{ opacity:1; transform:translate(0,-50%); }
footer.ft .ft-col a.ft-price{ color:var(--acc-l) !important; font-weight:600 !important; }
footer.ft .ft-lead, footer.ft .ft-tag{ font-weight:400 !important; color:var(--ft-text) !important; }
footer.ft .ft-tag{ white-space:nowrap; }
footer.ft .ft-brand .ft-actions{ margin:26px 0 0; display:inline-grid; grid-template-columns:1fr; gap:12px; }
footer.ft .ft-brand a.ft-btn{ padding:13px 26px !important; font-size:15px !important; justify-content:center; white-space:nowrap; }
footer.ft .ft-info{ margin-top:46px; }
footer.ft .ft-info .ft-contact{ flex-direction:row; flex-wrap:wrap; justify-content:flex-start; gap:10px 34px; font-size:.95rem; }
footer.ft .ft-bottom{ margin-top:26px; padding:22px 0 26px; border-top:1px solid var(--ft-rule); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px 24px; }
@media (max-width:1100px){ footer.ft .ft-main{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 28px; } footer.ft .ft-brand{ grid-column:1 / -1; } footer.ft .ft-col{ padding-left:0; border-left:0; } }
@media (max-width:520px){ footer.ft .ft-brand .ft-actions{ display:grid; width:100%; } footer.ft .ft-main{ grid-template-columns:1fr; } footer.ft .ft-wrap{ padding:0 20px; } 
/* hides the default HubSpot footer on pages where this block is used */
.hs-content-id-214083902261 footer.hs-elevate-footer { display:none !important; }

/* the footer link of the page you are on (set by the footer script) */
footer.ft .ft-col a[aria-current="page"], footer.ft .ft-col a[aria-current="page"]:link, footer.ft .ft-col a[aria-current="page"]:visited{ color:#fff !important; font-weight:600 !important; }