/* Additive styles: original app.css stays byte-for-byte unchanged. */
/*
 * Footer __inner uses padding-block: 2rem. Pull the social block up so the
 * 4rem hit targets sit 1px from the footer content top and 1px above the rule.
 * Mobile: keep label↔icons gap; leave half of the former top padding (1rem).
 */
.dn-footer-social{display:flex;align-items:center;flex-wrap:wrap;column-gap:1rem;row-gap:.25rem;margin:calc(-2rem + 1px) 0 1.5rem;padding:0 0 1px;border-bottom:1px solid var(--color-border-default);scroll-margin-top:5rem}
.dn-footer-social__label{margin:0;color:var(--color-text-secondary);font:inherit}
.dn-footer-social__links{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.dn-footer-social__links li{margin:0;padding:0}
.dn-footer-social__link{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:var(--radius-md);text-decoration:none;transition:background-color .15s ease}
.dn-footer-social__link:hover{background-color:var(--color-surface-subtle)}
.dn-footer-social__link:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;background-color:var(--color-surface-subtle)}
.dn-footer-social__logo{display:block;width:32px;height:32px;object-fit:contain;max-width:none}
.dn-footer-social__logo--linkedin{width:auto;height:32px}
@media(max-width:30rem){.dn-footer-social{flex-direction:column;align-items:flex-start;gap:.25rem;margin-top:calc(-2rem + 1rem)}.dn-footer-social__links{margin-left:-1rem}}
@media(prefers-reduced-motion:reduce){.dn-footer-social__link{transition:none}}
