.portfolio-footer{color:var(--text);background:var(--bg-subtle);border-top:1px solid var(--border);padding:38px 40px 0;position:relative}.footer-inner{max-width:1240px;margin:auto}.footer-topline{border-bottom:1px solid var(--border);font:9px var(--font-ibm-plex-mono),monospace;color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding-bottom:28px;display:flex}.footer-topline a{color:var(--text);align-items:center;gap:12px;text-decoration:none;display:flex}.footer-directory{grid-template-columns:1.8fr .8fr 1.1fr 1fr;gap:30px;padding:44px 0;display:grid}.footer-brand-column h2{letter-spacing:-.03em;font-size:clamp(24px,2.4vw,32px);font-weight:500;line-height:1.2}.footer-brand-column p{color:var(--text-muted);max-width:30ch;margin:18px 0 26px;font-size:12px;line-height:1.8}.footer-location{color:var(--text-muted);align-items:center;gap:9px;font-size:10px;text-decoration:none;display:flex}.footer-location:hover{color:var(--accent-content)}.footer-location i{background:var(--accent);border-radius:50%;width:4px;height:4px}.footer-directory nav{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.footer-directory h3{font:9px var(--font-ibm-plex-mono),monospace;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}.footer-directory a{color:var(--text);transition:color var(--ease-fast);align-items:center;gap:8px;font-size:12px;text-decoration:none;display:flex}.footer-directory a:hover,.footer-directory a[aria-current=page]{color:var(--accent-content)}.footer-contact-note{color:var(--text-muted);margin-top:10px;font-size:10px;line-height:1.8}.footer-signature{border-block:1px solid var(--border);justify-content:space-between;align-items:end;gap:24px;padding:20px 0 32px;display:flex}.footer-signature>span{font:500 clamp(90px,15vw,220px)/.86 var(--font-brand-title),sans-serif;letter-spacing:-.04em;display:block}.footer-signature>span>span{color:var(--accent)}.footer-signature>div{font:9px/1.8 var(--font-ibm-plex-mono),monospace;color:var(--text-muted);padding-bottom:3px}.footer-bottom{color:var(--text-muted);justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-size:10px;display:flex}.footer-bottom nav{flex-wrap:wrap;gap:18px;display:flex}.footer-bottom a,.footer-bottom button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.footer-bottom a:hover,.footer-bottom button:hover{color:var(--accent-content)}@media (max-width:1100px){.footer-directory{grid-template-columns:repeat(3,1fr)}.footer-brand-column{grid-column:1/-1}.footer-brand-column p{max-width:50ch}.footer-bottom{flex-direction:column;align-items:flex-start}}.footer-contact{max-width:380px;margin-top:28px}.footer-contact h3{margin-bottom:8px}.footer-contact p{max-width:40ch;margin:0 0 14px}.footer-contact-actions{border:1px solid var(--border);display:grid}.footer-contact-actions a{color:var(--text);font:500 12px var(--font-ibm-plex-mono),monospace;transition:background var(--ease-fast), color var(--ease-fast);align-items:center;gap:10px;padding:11px 14px;text-decoration:none;display:flex}.footer-contact-actions a+a{border-top:1px solid var(--border)}.footer-contact-actions a svg{color:var(--accent)}.footer-contact-actions a:hover{background:var(--bg-subtle);color:var(--accent-content)}.github-activity{border-top:0;margin:0;padding:28px 0 8px}.github-activity header{font:500 10px var(--font-ibm-plex-mono),monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.github-activity header span{align-items:center;gap:8px;display:flex}.github-activity header i{background:#3ddc84;border-radius:50%;width:7px;height:7px;animation:2.2s ease-out infinite presence-pulse}.github-activity header a{color:var(--text-muted);letter-spacing:0;text-transform:none;font-size:11px;text-decoration:none}.github-activity header a:hover{color:var(--accent-content)}.github-activity-grid{grid-template-columns:repeat(3,minmax(90px,.4fr)) 1.6fr;gap:18px;display:grid}.github-activity small{color:var(--text-muted);font:9px var(--font-ibm-plex-mono),monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;display:block}.github-activity strong{color:var(--text);font:500 28px/1 var(--font-brand-title),sans-serif;display:block}.github-activity-latest strong{color:var(--text);font-size:14px;line-height:1.4}.github-activity-latest a{color:inherit;text-decoration:none}.github-activity-latest a:hover strong{color:var(--accent-content)}.github-activity-latest span{color:var(--text-muted);font:11px var(--font-ibm-plex-mono),monospace;margin-top:6px;display:block}.github-activity>p{color:var(--text-muted);margin:12px 0 0;font-size:12px}.footer-credit{color:var(--text-muted);justify-content:space-between;align-items:center;gap:16px;padding:0 0 28px;font-size:11px;display:flex}.footer-credit p{margin:0}.footer-credit div{align-items:center;gap:16px;display:flex}.footer-credit a{align-items:center;height:22px;display:flex}.footer-credit img{width:auto;height:18px;display:block}.footer-credit .for-dark,[data-theme=dark] .footer-credit .for-light{display:none}[data-theme=dark] .footer-credit .for-dark{display:block}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes presence-pulse{0%{box-shadow:0 0 #3ddc8473}70%{box-shadow:0 0 0 6px #3ddc8400}to{box-shadow:0 0 #3ddc8400}}@media (prefers-reduced-motion:reduce){.github-activity header i{animation:none}}@media (max-width:767px){.portfolio-footer{padding:30px 20px 0}.footer-directory{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-directory nav:last-child{grid-column:1/-1}.footer-signature{flex-direction:column;align-items:start;padding-top:28px}.footer-signature>span{font-size:27vw}.footer-signature>div{font-size:8px}.footer-bottom nav{gap:14px}.github-activity-grid{grid-template-columns:repeat(3,1fr)}.github-activity-latest{grid-column:1/-1}.footer-credit{flex-direction:column;align-items:flex-start}}.footer-credit div img{width:auto;height:18px}[data-theme=dark] .footer-credit .for-light,:root:not([data-theme=dark]) .footer-credit .for-dark{display:none}
