/* The footer (.gft): flowing light on top, a closing statement, the wordmark at full size, contacts, built sites, signature.
   Blocks rise once when the footer is reached (.in comes from footer.js); nothing here moves the element that carries :hover. */
.gft{position:relative;overflow:hidden;padding:0 0 34px;border-top:1px solid var(--ln);background:radial-gradient(1100px 520px at 50% 0,rgba(220,197,162,.07),transparent 70%),linear-gradient(180deg,#0B1015,#07090c)}
.gft-cv{display:block;width:100%;height:190px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 70%,transparent)}
.gft .w{position:relative}

.gft-say{display:grid;justify-items:center;text-align:center;gap:0;margin-top:-34px;padding-bottom:64px}
.gft-eb{display:inline-flex;align-items:center;gap:12px;margin:0 0 18px;font-size:13px;letter-spacing:.08em;color:var(--a)}
.gft-eb i{width:7px;height:7px;border-radius:50%;background:var(--a);box-shadow:0 0 0 0 rgba(220,197,162,.6);animation:gftp 2.4s infinite}
@keyframes gftp{70%{box-shadow:0 0 0 9px rgba(220,197,162,0)}100%{box-shadow:0 0 0 0 rgba(220,197,162,0)}}
.gft-h{margin:0;max-width:17ch;font-size:clamp(30px,5.2vw,74px);line-height:1.1;letter-spacing:-.01em;color:var(--tx)}
.gft-h .wd{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.gft-h .wd>i{display:inline-block;font-style:normal;transform:translateY(110%);transition:transform .9s cubic-bezier(.19,1,.22,1);transition-delay:calc(var(--k,0)*.06s)}
.gft.in .gft-h .wd>i{transform:none}
.gft-lead{margin:22px 0 0;max-width:62ch;font-size:15.5px;line-height:1.7;color:var(--tx2)}
.gft-say .cta{margin:30px 0 0}

.gft-mid{padding:44px 0 40px;border-top:1px solid var(--ln)}
/* the logo sits in the bottom line at the size the site's footer always had (style.css: footer .lgx) */
.gft-wm{display:block;flex:none;text-decoration:none;line-height:0}
.gft-cols{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:30px 40px}
.gft-cols h3{margin:0 0 14px;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mu)}
.gft-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gft-u{position:relative;display:inline-flex;align-items:center;gap:9px;padding-bottom:3px;font-size:14.5px;color:var(--tx);text-decoration:none;white-space:nowrap;transition:color .35s ease-out}
.gft-u::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .7s cubic-bezier(.19,1,.22,1)}
.gft-u:hover,.gft-u:focus-visible{color:var(--a)}.gft-u:hover::after,.gft-u:focus-visible::after{transform:scaleX(1);transform-origin:left}
.gft-u svg{flex:none;color:var(--a)}

.gft-built{display:flex;align-items:center;flex-wrap:wrap;gap:14px 26px;padding:22px 0;border-top:1px solid var(--ln)}
.gft-built>span{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mu)}
.gft-built ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.gft-built a{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px;border-radius:999px;border:1px solid var(--ln2);font:500 12.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.02em;color:var(--tx2);text-decoration:none;transition:border-color .35s,color .35s,background .35s}
.gft-built a svg{opacity:.5;transition:transform .5s cubic-bezier(.19,1,.22,1),opacity .35s}
.gft-built a:hover,.gft-built a:focus-visible{border-color:var(--a);color:var(--a);background:rgba(220,197,162,.06)}.gft-built a:hover svg,.gft-built a:focus-visible svg{opacity:1;transform:translate(2px,-2px)}

.gft-bot{display:flex;align-items:center;gap:14px 26px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--ln);font-size:13px;color:var(--mu)}
.gft-bot p{margin:0}.gft-ct+.gft-sig{margin-left:0!important}.gft-sig{margin-left:auto!important;font:500 12px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--tx2)}.gft-sig sup{font-size:.7em;color:var(--a)}
.gft-up{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--ln2);color:var(--tx);text-decoration:none;transition:border-color .35s,color .35s,background .35s}
.gft-up svg{transition:transform .5s cubic-bezier(.19,1,.22,1)}
.gft-up:hover,.gft-up:focus-visible{border-color:var(--a);color:var(--ink);background:var(--a)}.gft-up:hover svg,.gft-up:focus-visible svg{transform:translateY(-3px)}

/* the site counter (opens /statistika/): a pill in the middle of the bottom line, between the copyright and the signature */
.gft-ct{display:inline-flex;align-items:center;gap:14px;height:38px;margin:0 auto;padding:0 16px 0 14px;border-radius:999px;border:1px solid var(--ln2);font:500 12.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.02em;color:var(--mu);text-decoration:none;white-space:nowrap;transition:border-color .35s,color .35s,background .35s}
.gft-ct svg{display:block;flex:none;width:30px;height:16px}.gft-ct svg rect{fill:var(--a);opacity:.5;transition:opacity .35s}.gft-ct svg rect:last-child{opacity:1}
.gft-ct span{display:inline-flex;align-items:baseline;gap:6px}.gft-ct b{font-weight:600;color:var(--tx)}
.gft-ct .on{position:relative;padding-left:14px;color:var(--ok)}.gft-ct .on b{color:var(--ok)}
.gft-ct .on::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(110,231,183,.6);animation:gftp2 2.4s infinite}
@keyframes gftp2{70%{box-shadow:0 0 0 7px rgba(110,231,183,0)}100%{box-shadow:0 0 0 0 rgba(110,231,183,0)}}
.gft-ct:hover,.gft-ct:focus-visible{border-color:var(--a);background:rgba(220,197,162,.06)}.gft-ct:hover svg rect,.gft-ct:focus-visible svg rect{opacity:1}
@media (max-width:640px){.gft-ct{height:34px;margin:0;gap:11px;padding:0 13px 0 12px;font-size:11.5px}.gft-c{flex-basis:100%}}
@media (prefers-reduced-motion:reduce){.gft-ct .on::before{animation:none}}

/* arrival */
@media (prefers-reduced-motion:no-preference){
	.gft-r{opacity:0;transform:translateY(26px);transition:opacity .8s ease-out,transform 1s cubic-bezier(.19,1,.22,1);transition-delay:calc(var(--d,0)*.09s)}
	.gft-r.in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){.gft-h .wd>i{transform:none!important;transition:none}.gft-eb i{animation:none}}

@media (max-width:1320px){.gft{padding-bottom:78px}}
@media (max-width:1000px){.gft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
	.gft-cv{height:120px}.gft-say{margin-top:-18px;padding-bottom:44px;justify-items:start;text-align:left}.gft-h{max-width:none}
	  .gft-mid{padding:32px 0 30px}.gft-cols{gap:26px 20px}.gft-u{white-space:normal;font-size:14px}
	.gft-built ul{gap:8px}.gft-built a{height:34px;padding:0 12px;font-size:11.5px}
	.gft-sig{margin-left:0!important;order:3;flex-basis:100%}.gft-up{margin-left:auto}
}
@media print{.gft{display:none}}
