/* Stopka wspólna dla całego serwisu. Jedno źródło: edytuj tutaj, nie w stronach. */
.ft { --accent-grad: linear-gradient(105deg, #4F46E5 0%, #7C3AED 52%, #A21CF0 100%); }
.ft {
  position: relative;
  margin-top: 96px;
  border-top: 1px solid rgba(17,24,39,.08);
  background:
    radial-gradient(ellipse 60% 70% at 12% 0%, rgba(22,163,74,.045), transparent 62%),
    radial-gradient(ellipse 50% 60% at 88% 20%, rgba(79,70,229,.05), transparent 66%);
  overflow: hidden;
}

.ft-inner { padding: 104px 0 40px; }
.ft-grid {
  display: grid;
  grid-template-columns: minmax(0,1.4fr) repeat(3, minmax(0,1fr));
  gap: 64px 40px;
  margin-bottom: 72px;
}

.ft-mark { display: flex; align-items: center; gap: 4px; }
.ft-tag {
  margin-top: 20px; max-width: 34ch;
  font-size: 16px; line-height: 1.7; color: #6B7280;
}
.ft-cta { margin-top: 30px; }

.ft-col-h {
  font-size: 12px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: #9CA3AF;
}
.ft-list { margin-top: 24px; display: flex; flex-direction: column; gap: 15px; }
.ft-list a, .ft-list span {
  font-size: 15px; color: #6B7280;
  transition: color .18s ease;
}
.ft-list a { position: relative; width: fit-content; }
.ft-list a::after {
  content: ''; position: absolute; left: 0; bottom: -3px;
  width: 100%; height: 1.5px; border-radius: 2px; background: var(--accent-grad);
  transform: scaleX(0); transform-origin: left;
  transition: transform .26s cubic-bezier(.22,1,.36,1);
}
.ft-list a:hover { color: #111827; }
.ft-list a:hover::after { transform: scaleX(1); }

.ft-list .ft-soon {
  margin-left: 8px; padding: 3px 10px; border-radius: 999px;
  font-size: 11px; font-weight: 700; letter-spacing: .07em; line-height: 1.4;
  text-transform: uppercase; color: #16A34A; background: rgba(22,163,74,.09);
  vertical-align: 1px;
}

.ft-login {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 34px; padding: 12px 20px;
  border: 1px solid rgba(17,24,39,.10); border-radius: 999px;
  background: #FFFFFF;
  font-size: 15px; font-weight: 600; color: #374151;
  box-shadow: 0 1px 3px rgba(17,24,39,.05);
  transition: color .18s, border-color .18s, box-shadow .18s, transform .18s;
}
.ft-login { padding: 11px 16px; font-size: 15px; gap: 7px; white-space: nowrap; }
.ft-login:hover {
  color: #111827; border-color: rgba(17,24,39,.20);
  box-shadow: 0 6px 18px -6px rgba(17,24,39,.18); transform: translateY(-1px);
}
.ft-login svg { transition: transform .22s cubic-bezier(.22,1,.36,1); }
.ft-login:hover svg { transform: translateX(3px); }

/* Sygnatura — wielki znak wodny */
.ft-word {
  margin: 88px 0 44px;
  font-family: var(--font-display);
  font-size: clamp(64px, 13vw, 168px);
  font-weight: 800; letter-spacing: -.055em; line-height: 1;
  user-select: none; pointer-events: none;
  background: linear-gradient(180deg, rgba(17,24,39,.085) 12%, rgba(17,24,39,.012) 96%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.ft-word i {
  font-style: normal;
  background: linear-gradient(180deg, rgba(22,163,74,.30) 12%, rgba(22,163,74,.04) 96%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ft-bar {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 12px 24px;
  padding-top: 28px; border-top: 1px solid rgba(17,24,39,.08);
  font-size: 15px; color: #9CA3AF;
}
.ft-bar-links { display: flex; align-items: center; gap: 20px; }
.ft-bar a { transition: color .18s ease; }
.ft-bar a:hover { color: #374151; }

@media (max-width: 900px) {
  .ft-inner { padding: 72px 0 32px; }
  .ft-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 48px 28px; }
  .ft-grid > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .ft { margin-top: 64px; }
  .ft-inner { padding: 56px 0 28px; }
  .ft-grid { grid-template-columns: 1fr; }
  .ft-word { margin: 56px 0 32px; }
  .ft-bar { flex-direction: column; align-items: flex-start; }
}

.ft-brand-logo { height: 46px; width: auto; display: block; opacity: .72; }
