/**
 * Redesign Footer — global footer (sitewide).
 * Rules 1:1 from redesign-quellen/01-BOILERPLATE.html (footer 296-314, hs-badge
 * 454-459, responsive 344/350). Scoped under .pdn-footer so they don't touch
 * other footers. Depends on redesign-base.css for tokens; .logo lives in
 * redesign-header.css. No token/.logo/.btn duplication.
 */

.pdn-footer{background:var(--ink);color:rgba(255,255,255,.7);padding:72px 0 0}
/* Beat the old pdn-style .pdn-footer--dark (style.css:6384, blue gradient + white + 60px).
   Specificity (0,2,0) > its (0,1,0), independent of load order. Restores the full
   boilerplate footer: ink background, muted text, 72px top padding. */
.pdn-footer.pdn-footer--dark{background:var(--ink);color:rgba(255,255,255,.7);padding:72px 0 0}
.pdn-footer .wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}

.pdn-footer .f-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.1fr;gap:36px;padding-bottom:50px;border-bottom:1px solid var(--line-dark)}
.pdn-footer .f-col .f-heading{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:18px;font-weight:600}
.pdn-footer .f-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.pdn-footer .f-col ul li a{font-size:14.5px;color:rgba(255,255,255,.72);transition:color .25s}
.pdn-footer .f-col ul li a:hover{color:var(--orange-soft)}

.pdn-footer .f-brand .logo{margin-bottom:18px}
.pdn-footer .f-brand .logo img{max-width:160px;height:auto;display:block}
.pdn-footer .f-brand p{font-size:14px;color:rgba(255,255,255,.6);max-width:34ch}

.pdn-footer .f-contact a,
.pdn-footer .f-contact .f-addr{display:flex;align-items:center;gap:9px;font-size:14.5px;color:rgba(255,255,255,.72);margin-bottom:12px}
.pdn-footer .f-contact a:hover{color:var(--orange-soft)}

/* HubSpot Solutions Partner badge (boilerplate .hs-badge) */
.pdn-footer .hs-badge{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid var(--line-dark)}
.pdn-footer .hs-badge .hx{width:30px;height:30px;border-radius:7px;background:var(--orange);display:grid;place-items:center;flex:0 0 auto}
.pdn-footer .hs-badge .col{line-height:1.2}
.pdn-footer .hs-badge b{font-family:var(--font-display);font-size:13px;color:#fff}
.pdn-footer .hs-badge small{font-size:10px;color:rgba(255,255,255,.55);font-family:var(--font-mono);letter-spacing:.06em}

.pdn-footer .f-locations{padding:26px 0;border-bottom:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center}
.pdn-footer .f-locations span{font-size:13.5px;color:rgba(255,255,255,.55)}
.pdn-footer .f-locations a{font-size:13.5px;color:rgba(255,255,255,.7);transition:color .25s}
.pdn-footer .f-locations a:hover{color:var(--orange-soft)}
.pdn-footer .f-locations a.all{color:var(--orange-soft);font-weight:600;margin-left:auto}

.pdn-footer .f-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:24px 0 34px}
.pdn-footer .f-bottom .cp{font-size:13px;color:rgba(255,255,255,.7)}
.pdn-footer .f-legal{display:flex;gap:20px;flex-wrap:wrap;list-style:none}
.pdn-footer .f-legal a{font-size:13px;color:rgba(255,255,255,.6);transition:color .25s}
.pdn-footer .f-legal a:hover{color:var(--orange-soft)}

@media(max-width:980px){
  .pdn-footer .f-top{grid-template-columns:1fr 1fr}
  .pdn-footer .f-brand{grid-column:1/-1}
}
@media(max-width:560px){
  .pdn-footer .f-top{grid-template-columns:1fr}
}

/* Back-to-top (no boilerplate equivalent; field-gated, aligned to tokens) */
.pdn-back-to-top{position:fixed;right:24px;bottom:24px;z-index:90;width:46px;height:46px;border-radius:50%;
  border:1px solid var(--line-dark);background:var(--navy);color:#fff;display:grid;place-items:center;cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(10px);transition:transform .3s var(--ease),opacity .3s var(--ease),background .25s,visibility .3s;
  box-shadow:0 14px 30px -12px rgba(15,33,56,.6)}
.pdn-back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.pdn-back-to-top:hover{background:var(--orange);transform:translateY(-2px)}
