.site-footer { position: relative; overflow: hidden; color: white; background: #0d1014; }
.footer-orbit { position: absolute; border: 1px solid rgba(255,255,255,.06); border-radius: 50%; pointer-events: none; }
.footer-orbit--one { width: 620px; height: 620px; inset: -260px auto auto -220px; }
.footer-orbit--two { width: 420px; height: 420px; inset: auto -160px -210px auto; }
.footer-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.35fr 1fr .8fr 1.1fr; gap: 54px; padding-block: 88px 70px; }
.footer-brand { display: flex; align-items: center; gap: 14px; }
.footer-brand img { border-radius: 10px; }
.footer-brand span { display: grid; line-height: 1.2; }
.footer-brand strong { font-size: 1.1rem; }
.footer-brand small { margin-top: 6px; color: #8e98a3; font-size: .72rem; }
.footer-about > p { max-width: 400px; margin: 28px 0; color: #aeb6bf; }
.social-links { display: flex; gap: 8px; }
.social-links a { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #3a4047; transition: color .2s, background .2s, transform .2s; }
.social-links svg { width: 19px; height: 19px; }
.social-links a:hover { color: white; background: var(--accent); transform: translateY(-4px); }
.footer-column h2 { margin-bottom: 24px; font-size: 1.05rem; font-weight: 800; }
.footer-column ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.footer-column li a { display: inline-block; color: #aeb6bf; transition: color .2s, transform .2s; }
.footer-column li a:hover { color: white; transform: translateX(-5px); }
[dir="ltr"] .footer-column li a:hover { transform: translateX(5px); }
.footer-official p { color: #aeb6bf; font-size: .9rem; }
.footer-official .button { margin-top: 14px; }
.footer-bottom { position: relative; z-index: 1; border-top: 1px solid #30353b; }
.footer-bottom .shell { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #8f98a2; font-size: .86rem; }
.footer-bottom a { display: flex; align-items: center; gap: 8px; color: white; font-weight: 700; }
.contact-launcher { position: fixed; z-index: 90; inset-inline-end: 24px; bottom: 24px; }
.contact-launcher > button { width: 58px; height: 58px; display: grid; place-items: center; border: 0; border-radius: 50%; color: white; background: var(--accent); box-shadow: 0 15px 38px rgba(11,99,246,.35); cursor: pointer; }
.contact-launcher > div { position: absolute; inset-inline-end: 0; bottom: 70px; min-width: 170px; display: grid; visibility: hidden; gap: 6px; opacity: 0; transform: translateY(12px); transition: .25s var(--ease); }
.contact-launcher.is-open > div { visibility: visible; opacity: 1; transform: none; }
.contact-launcher > div a { min-height: 48px; display: flex; align-items: center; gap: 10px; padding: 11px 14px; color: white; background: var(--ink); box-shadow: 0 10px 30px rgba(0,0,0,.18); }
.contact-launcher > div a span { width: 26px; height: 26px; display: grid; place-items: center; color: #fff; }
.contact-launcher > div a svg { width: 20px; height: 20px; }
.contact-launcher > div a:last-child { background: #0a9f62; }
