/* Footer.css */ .footer { background: var(--footer-bg); border-top: 1px solid var(--border); position: relative; z-index: 1; transition: background 0.4s ease; } .footer-top-line { height: 1px; background: linear-gradient( 90deg, transparent 0%, rgba(99,179,237,0.5) 30%, rgba(183,148,244,0.5) 60%, rgba(246,173,85,0.3) 80%, transparent 100% ); } /* ── Main grid ── */ .footer-main { display: grid; grid-template-columns: 1.8fr 1fr; gap: 56px; padding-top: 64px; padding-bottom: 56px; } /* ── Brand ── */ .footer-brand { display: flex; flex-direction: column; gap: 18px; } .footer-logo { display: flex; align-items: center; gap: 10px; } .footer-logo-mark { width: 40px; height: 40px; background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-family: 'Syne', sans-serif; font-weight: 800; font-size: 20px; color: #fff; box-shadow: 0 4px 20px rgba(99,179,237,0.25); } .footer-logo-name { font-family: 'Syne', sans-serif; font-weight: 700; font-size: 20px; color: var(--text-primary); } .footer-bio { font-size: 13.5px; color: var(--text-muted); line-height: 1.8; max-width: 360px; } /* location */ .footer-location { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: var(--accent-green); font-weight: 500; width: fit-content; } .footer-location svg { color: var(--accent-green); font-size: 14px; } /* availability */ .footer-availability { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; background: rgba(104,211,145,0.07); border: 1px solid rgba(104,211,145,0.2); border-radius: 100px; font-size: 12px; color: var(--accent-green); font-weight: 500; width: fit-content; } .fa-dot { width: 7px; height: 7px; background: var(--accent-green); border-radius: 50%; animation: faDotPulse 2s ease-in-out infinite; } @keyframes faDotPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(104,211,145,0.4); } 50% { box-shadow: 0 0 0 7px rgba(104,211,145,0); } } /* socials */ .footer-socials { display: flex; gap: 9px; flex-wrap: wrap; } .footer-social { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; background: var(--bg-glass-2); border: 1px solid var(--border); border-radius: 10px; color: var(--text-secondary); font-size: 16px; text-decoration: none; transition: all 0.28s cubic-bezier(0.4,0,0.2,1); } .footer-social:hover { color: var(--accent); border-color: rgba(99,179,237,0.35); background: var(--accent-glow); transform: translateY(-3px); box-shadow: 0 6px 20px rgba(99,179,237,0.15); } .footer-social.insta:hover { color: var(--accent-pink); border-color: rgba(225,48,108,0.35); background: rgba(225,48,108,0.08); box-shadow: 0 6px 20px rgba(225,48,108,0.15); } .footer-social.behance:hover { color: #1769ff; border-color: rgba(23,105,255,0.35); background: rgba(23,105,255,0.08); box-shadow: 0 6px 20px rgba(23,105,255,0.15); } /* ── Columns ── */ .footer-col { display: flex; flex-direction: column; } .footer-col-title { font-family: 'Syne', sans-serif; font-size: 12px; font-weight: 700; color: var(--text-primary); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 20px; position: relative; padding-bottom: 12px; } .footer-col-title::after { content: ''; position: absolute; bottom: 0; left: 0; width: 28px; height: 1px; background: linear-gradient(90deg, var(--accent), transparent); } /* services */ .footer-services { list-style: none; display: flex; flex-direction: column; gap: 11px; } .footer-service-item { display: flex; align-items: center; gap: 9px; font-size: 13.5px; color: var(--text-muted); transition: color 0.22s, transform 0.22s; cursor: default; } .footer-service-item:hover { color: var(--text-secondary); transform: translateX(4px); } .fsi-dot { width: 5px; height: 5px; background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-radius: 50%; flex-shrink: 0; } /* ── Bottom bar ── */ .footer-bottom { border-top: 1px solid var(--border); background: rgba(0,0,0,0.08); } .footer-bottom-inner { display: flex; align-items: center; justify-content: center; padding: 20px 0; } .footer-copy { font-size: 12.5px; color: var(--text-muted); text-align: center; } /* ── Responsive ── */ @media (max-width: 768px) { .footer-main { grid-template-columns: 1fr; gap: 36px; padding-top: 44px; padding-bottom: 36px; } .footer-bio { max-width: 100%; } } @media (max-width: 480px) { .footer-main { padding-top: 36px; padding-bottom: 28px; } }