/* Digital Gear — site footer (all pages). Loaded after main.css / blog.css. */
footer.ft{position:relative;overflow:hidden;padding:clamp(48px,6vw,80px) clamp(18px,3vw,40px) 26px;border-top:1px solid rgba(215,226,234,.08);background:radial-gradient(70% 55% at 0% 0%,rgba(182,0,168,.12),transparent 62%),radial-gradient(55% 50% at 100% 100%,rgba(118,33,176,.14),transparent 62%)}
.ft .ft-in{position:relative;z-index:1;max-width:1300px;margin:0 auto}
.ft-grid{display:grid;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,60px);padding-bottom:clamp(34px,4.5vw,52px)}

/* brand column */
.ft-brand .logo{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:#fff}
.ft-brand .logo img{width:58px;height:auto;filter:drop-shadow(0 0 22px rgba(182,0,168,.3));transition:transform .5s var(--ease-out,ease)}
.ft-brand .logo:hover img{transform:rotate(-6deg) scale(1.05)}
.ft-brand .logo b{font-weight:800;font-size:1.15rem;letter-spacing:.06em;text-transform:uppercase}
.ft-brand p{margin:16px 0 20px;max-width:34ch;color:var(--ink-2,#9AA4B1);font-size:.97rem;line-height:1.65}
.ft-soc{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.ft-soc a{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(215,226,234,.18);background:rgba(255,255,255,.03);color:var(--ink,#D7E2EA);text-decoration:none;transition:color .25s,background .3s,border-color .3s,transform .3s var(--ease-out,ease),box-shadow .3s}
.ft-soc a:hover,.ft-soc a:focus-visible{color:#fff;border-color:transparent;background:linear-gradient(135deg,#B600A8,#7621B0);transform:translateY(-3px);box-shadow:0 12px 26px -12px rgba(182,0,168,.9);outline:none}
.ft-soc svg{width:20px;height:20px;display:block}

/* link columns */
.ft-h{display:block;margin:6px 0 16px;font-family:var(--mono,'JetBrains Mono',monospace);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dg-pink,#F070C8)}
.ft-col ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.ft-col a{position:relative;display:inline-flex;align-items:center;gap:0;padding:7px 0;color:var(--ink,#D7E2EA);font-size:1.02rem;font-weight:500;line-height:1.3;text-decoration:none;transition:color .25s,gap .3s var(--ease-out,ease)}
.ft-col a::before{content:"";display:inline-block;width:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--dg-pink,#F070C8),#8B6CFF);transition:width .3s var(--ease-out,ease)}
.ft-col a:hover,.ft-col a:focus-visible{color:#fff;gap:10px;outline:none}
.ft-col a:hover::before,.ft-col a:focus-visible::before{width:14px}
.ft-col a[aria-current="page"]{color:#fff;gap:10px}
.ft-col a[aria-current="page"]::before{width:14px}
.ft-col a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.ft-contact .ft-area{padding:7px 0;color:var(--ink-2,#9AA4B1);font-size:.95rem;line-height:1.5}
.ft-btn{margin-top:16px}

/* bottom bar */
.ft .ft-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 28px;padding-top:22px;border-top:1px solid rgba(215,226,234,.09)}
.ft .ft-bottom .legal{margin:0;max-width:78ch;color:#7F8794;font-size:.8rem;line-height:1.6}
.ft .ft-bottom .legal-links{margin:0;max-width:none;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.82rem}
.ft .ft-bottom .legal-links a{color:#AEB7C2;text-decoration:none}
.ft .ft-bottom .legal-links a:hover,.ft .ft-bottom .legal-links a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* home page: animated wordmark between the columns and the bottom bar */
.ft .fstage{margin:0 0 clamp(26px,3vw,40px)}
.ft .fstage .giant{margin:10px auto 0}

@media (max-width:1000px){.ft-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ft-brand{grid-column:1/-1}.ft-brand p{max-width:60ch}}
@media (max-width:640px){footer.ft{padding-top:44px}.ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.ft-contact{grid-column:1/-1}.ft-col a{font-size:1rem;padding:8px 0}.ft .ft-bottom{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){.ft-soc a,.ft-col a,.ft-col a::before,.ft-brand .logo img{transition:none}}
