/* Global footer 8.2 — brand · explore · services · contact · registered office · legal bar */
.foot{position:relative;padding-top:60px;background:radial-gradient(760px 280px at 88% -8%,rgba(27,159,227,.16),transparent 62%),radial-gradient(520px 240px at 4% 105%,rgba(52,211,153,.09),transparent 60%),var(--navy);color:#cfe1ea;font-size:.8rem}
.foot::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--blue),#34d399 50%,var(--teal))}
.ft-in{display:grid;grid-template-columns:1.45fr .95fr 1fr 1.5fr 1.2fr;gap:38px}
.ft-in h4{position:relative;color:#fff;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px;padding-bottom:12px}
.ft-in h4::after{content:"";position:absolute;left:0;bottom:0;width:30px;height:2px;border-radius:2px;background:var(--blue);transition:width .35s ease}
.ft-col:hover h4::after{width:52px}

/* brand */
.ft-brand .ft-tag{color:#fff;font-weight:600;font-size:1.02rem;line-height:1.35;margin:14px 0 6px}
.ft-brand .ft-sub{opacity:.85;line-height:1.6;max-width:250px;margin-bottom:18px}
.ft-in .soc{display:flex;gap:10px;flex-wrap:wrap}
.ft-in .soc a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:1rem;transition:transform .3s cubic-bezier(.3,1.6,.5,1),background .3s,border-color .3s,box-shadow .3s}
.ft-in .soc a:hover{transform:translateY(-5px) scale(1.08);border-color:transparent;box-shadow:0 8px 18px rgba(0,0,0,.35)}
.ft-in .soc .s-facebook:hover{background:#1877f2}.ft-in .soc .s-instagram:hover{background:linear-gradient(45deg,#f9a03f,#e1306c 55%,#833ab4)}.ft-in .soc .s-linkedin:hover{background:#0a66c2}.ft-in .soc .s-youtube:hover{background:#f00}

/* link columns */
.ft-col>a:not(.ft-row){position:relative;display:block;width:fit-content;padding:5px 0;opacity:.85;transition:transform .25s ease,opacity .25s,color .25s}
.ft-col>a:not(.ft-row)::after{content:"";position:absolute;left:0;bottom:2px;height:1.5px;width:100%;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.ft-col>a:not(.ft-row):hover,.ft-col>a:not(.ft-row):focus-visible{opacity:1;color:#fff;transform:translateX(5px)}
.ft-col>a:not(.ft-row):hover::after,.ft-col>a:not(.ft-row):focus-visible::after{transform:scaleX(1)}

/* contact */
.ft-contact{display:flex;flex-direction:column;gap:12px}
.ft-contact h4{margin-bottom:8px}
.ft-row{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;color:#fff;font-weight:500;transition:transform .25s}
.ft-row i{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:rgba(27,159,227,.16);color:#5cc4ff;font-size:.85rem;transition:background .3s,color .3s,transform .3s}
.ft-row small{display:block;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#8fb3c4;font-weight:500;margin-bottom:1px}
.ft-row:hover{transform:translateX(4px)}.ft-row:hover i{background:var(--blue);color:#fff;transform:scale(1.1) rotate(-8deg)}
.ft-wa i{background:rgba(37,211,102,.16);color:#4be08a}.ft-wa:hover i{background:#25d366}
.ft-note{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;margin-top:4px;padding:12px 14px 12px 12px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);font-size:.72rem;line-height:1.55;color:#cfe1ea}
.ft-note i{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:rgba(255,107,107,.16);color:#ff8f8f;font-size:.85rem}
.ft-note b{color:#fff;font-weight:600}

/* registered office */
.ft-pin{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:rgba(52,211,153,.15);color:#5eead4;font-size:.9rem;margin-bottom:12px;animation:ftPin 3s ease-in-out infinite}
.ft-office address{font-style:normal;line-height:1.75;color:#cfe1ea}
@keyframes ftPin{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

@media (max-width:1100px){.ft-in{grid-template-columns:repeat(2,1fr);gap:34px 30px}.ft-brand{grid-column:1/-1}.ft-brand .ft-sub{max-width:none}}
@media (max-width:560px){.foot{padding-top:44px}.ft-in{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ft-pin{animation:none}.ft-col>a,.ft-row,.ft-row i,.ft-in h4::after{transition:none}}
