@font-face { font-family:"Plus Jakarta Sans"; src:url("/assets/hallmann-fonts/jakarta-400.woff2") format("woff2"); font-display:swap; font-weight:400; }
@font-face { font-family:"Plus Jakarta Sans"; src:url("/assets/hallmann-fonts/jakarta-600.woff2") format("woff2"); font-display:swap; font-weight:600; }
@font-face { font-family:"Plus Jakarta Sans"; src:url("/assets/hallmann-fonts/jakarta-800.woff2") format("woff2"); font-display:swap; font-weight:800; }

body.hallmann-shared-footer-ready footer:not(.hallmann-shared-footer) { display:none !important; }

.hallmann-shared-footer {
  position:relative;
  z-index:2;
  width:100%;
  padding:72px clamp(20px,5vw,64px) 64px;
  background:#f5f7f9;
  color:#25282b;
  font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  box-sizing:border-box;
}

.hallmann-shared-footer *,
.hallmann-shared-footer *::before,
.hallmann-shared-footer *::after { box-sizing:border-box; }

.hallmann-shared-footer a { color:inherit; text-decoration:none; }

.hallmann-footer-shell {
  width:min(1152px,100%);
  margin:0 auto;
  padding:38px 40px 0;
  overflow:hidden;
  border-radius:32px;
  background:#fff;
  box-shadow:0 1px 0 rgba(38,42,45,.02);
}

.hallmann-footer-cta {
  position:relative;
  display:grid;
  place-items:center;
  min-height:360px;
  overflow:hidden;
  padding:70px 28px;
  border-radius:42px;
  background:
    radial-gradient(circle at 50% 44%,rgba(255,255,255,.08),transparent 33%),
    linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px),
    linear-gradient(135deg,#121416,#2b2d2f);
  background-size:auto,62px 62px,62px 62px,auto;
  color:#fff;
  text-align:center;
}

.hallmann-footer-cta::after {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.08));
  content:"";
  pointer-events:none;
}

.hallmann-footer-cta-content { position:relative; z-index:1; display:grid; justify-items:center; }
.hallmann-footer-kicker { display:flex; align-items:center; gap:11px; margin:0 0 25px; color:rgba(255,255,255,.82); font-size:14px; letter-spacing:-.02em; }
.hallmann-footer-kicker::before,.hallmann-footer-kicker::after { width:28px; height:1px; background:linear-gradient(90deg,transparent,#f94137); content:""; }
.hallmann-footer-kicker::after { background:linear-gradient(90deg,#f94137,transparent); }
.hallmann-footer-cta h2 { max-width:680px; margin:0; font-size:clamp(34px,4vw,55px); font-weight:600; letter-spacing:-.065em; line-height:1.08; }
.hallmann-footer-cta-content > p:not(.hallmann-footer-kicker) { margin:20px 0 0; color:rgba(255,255,255,.78); font-size:clamp(15px,1.5vw,19px); letter-spacing:-.035em; }
.hallmann-footer-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; margin-top:28px; padding:0 24px; border:1px solid rgba(255,255,255,.24); border-radius:999px; background:#f94137; color:#fff !important; font-size:16px; transition:background 180ms ease,transform 180ms ease,box-shadow 180ms ease; }
.hallmann-footer-button:hover,.hallmann-footer-button:focus-visible { background:#dd2f29; box-shadow:0 9px 22px rgba(249,65,55,.22); transform:translateY(-2px); }

.hallmann-footer-info { padding:58px 0 42px; }
.hallmann-footer-brand { display:inline-flex; align-items:center; gap:11px; font-size:18px; font-weight:800; letter-spacing:-.055em; }
.hallmann-footer-brand img { width:22px; height:22px; object-fit:contain; }
.hallmann-footer-description { max-width:780px; margin:28px 0 0; color:#74777a; font-size:16px; letter-spacing:-.035em; line-height:1.55; }
.hallmann-footer-columns { display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)); gap:44px; max-width:650px; margin-top:56px; }
.hallmann-footer-column { display:grid; align-content:start; gap:19px; }
.hallmann-footer-column h3 { margin:0 0 7px; font-size:18px; font-weight:500; letter-spacing:-.045em; }
.hallmann-footer-column a { width:max-content; color:#797c7f; font-size:14px; letter-spacing:-.025em; transition:color 160ms ease,transform 160ms ease; }
.hallmann-footer-column a:hover,.hallmann-footer-column a:focus-visible { color:#f94137; transform:translateX(3px); }

@media (max-width:760px) {
  .hallmann-shared-footer { padding:44px 14px 30px; }
  .hallmann-footer-shell { padding:14px 14px 0; border-radius:24px; }
  .hallmann-footer-cta { min-height:330px; padding:58px 20px; border-radius:24px; }
  .hallmann-footer-kicker { font-size:12px; }
  .hallmann-footer-cta h2 { font-size:clamp(32px,10vw,46px); }
  .hallmann-footer-info { padding:42px 8px 34px; }
  .hallmann-footer-description { margin-top:22px; font-size:14px; }
  .hallmann-footer-columns { grid-template-columns:1fr 1fr; gap:38px 28px; margin-top:42px; }
  .hallmann-footer-column:last-child { grid-column:1 / -1; }
}

@media (prefers-reduced-motion:reduce) {
  .hallmann-shared-footer * { transition-duration:.01ms !important; }
}
