.ft { background: #111111; }
.ft-inner { padding: 72px 0 56px; }
.ft-grid {
    display: grid;
    grid-template-columns: 2fr 1.3fr 1.1fr 1.3fr;
    gap: 56px;
}
@media(max-width:1024px){
    .ft-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
    .ft-inner { padding: 56px 0 48px; }
}
@media(max-width:600px){
    .ft-grid { grid-template-columns: 1fr; gap: 36px; }
    .ft-inner { padding: 48px 0 40px; }
}
.ft-col-heading {
    font-size: 13px; font-weight: 700; letter-spacing: .14em;
    text-transform: uppercase; color: #ffffff;
    margin: 0 0 24px; display: flex; align-items: center; gap: 10px;
}
.ft-col-heading::before {
    content: ''; display: inline-block;
    width: 18px; height: 1.5px;
    background: rgb(var(--theme-primary, 224 82 82));
    flex-shrink: 0;
}
.ft-tagline {
    font-size: 15px; color: #9ca3af;
    line-height: 1.65; margin: 16px 0 28px; max-width: 250px;
}
.ft-contact-link {
    display: flex; align-items: center; gap: 12px;
    font-size: 15px; color: #9ca3af;
    text-decoration: none; margin-bottom: 14px;
    transition: color .2s;
}
.ft-contact-link:hover { color: #ffffff; }
.ft-contact-link [data-lucide] { flex-shrink:0; width:16px; height:16px; }
.ft-links { display: flex; flex-direction: column; }
.ft-link {
    display: inline-block; font-size: 15px; color: #9ca3af;
    text-decoration: none; margin-bottom: 13px;
    transition: color .2s, transform .2s;
}
.ft-link:hover { color: #ffffff; transform: translateX(4px); }
.ft-hr { border: none; border-top: 1px solid rgba(255,255,255,.07); margin: 22px 0; }
.ft-bottom { background: #0a0a0a; border-top: 1px solid rgba(255,255,255,.08); }
.ft-bottom-inner {
    padding: 16px 0;
    display: flex; align-items: center; justify-content: center;
    flex-wrap: wrap; gap: 8px 16px;
    font-size: 13px; color: #9c9c9c;;
}
.ft-bottom-inner a { color: #9c9c9c; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; transition: color .2s; }
.ft-bottom-inner a:hover { color: #e5e7eb; }
.ft-bottom-sep { color: #9c9c9c;; }
.ft-logo-sm {
    height: 15px !important; width: auto !important;
    display: inline !important; vertical-align: middle;
    opacity: .6; transition: opacity .2s;
    filter: brightness(0) invert(1);
}
.ft-logo-wwwiebusch { height: 17px !important; }
a:hover .ft-logo-sm { opacity: .9; }
.ft-ext { width: 10px; height: 10px; opacity: 1; }

@media (max-width: 1023px) { .ft-desktop-only { display: none; } }
@media (min-width: 1024px) { .ft-mobile-only  { display: none; } }