/* Quiet social signatures; profile destinations can be attached when supplied. */
.social-icons{display:flex;align-items:center;justify-content:center;gap:14px;color:inherit}
.social-icons .social-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:11px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:50%;background:transparent;color:inherit;text-decoration:none;box-shadow:none;line-height:1}
.social-icons .social-icon svg{display:block;width:21px;height:21px;flex-shrink:0;color:inherit}
.welcome>.social-icons{margin-top:-6px;color:#315746}
body .contrast-footer>.social-icons{width:fit-content;margin:26px auto 0;padding:22px 18px 0;border-top:1px solid color-mix(in srgb,var(--footer-ink) 18%,transparent);color:var(--footer-ink)}
body .contrast-footer>.social-icons .social-icon{color:var(--footer-ink)!important;background:transparent!important}
.social-icons a.social-icon{transition:background .18s ease,transform .18s ease}
.social-icons a.social-icon:hover{background:color-mix(in srgb,currentColor 8%,transparent)!important;transform:translateY(-2px);box-shadow:none}
.social-icons a.social-icon:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:420px){.social-icons{gap:12px}.welcome>.social-icons{margin-top:-10px}}
@media(prefers-reduced-motion:reduce){.social-icons a.social-icon{transition:none}.social-icons a.social-icon:hover{transform:none}}
/* Let the logo and choice breathe; social icons anchor the bottom of the viewport. */
body:has(.welcome-social-footer){min-height:100svh;display:flex;flex-direction:column}
body:has(.welcome-social-footer)>main{min-height:0;flex:1;width:100%;padding-block:clamp(44px,10svh,110px)}
.welcome-social-footer{position:relative;z-index:1;flex-shrink:0;padding:24px 24px max(26px,env(safe-area-inset-bottom));color:#315746}
@media(max-height:550px){body:has(.welcome-social-footer)>main{padding-block:32px}.welcome-social-footer{padding-top:32px}}
